Loading [MathJax]/jax/output/HTML-CSS/jax.js
Saltar al contenido principal
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
LibreTexts Español

8: Entrenamiento de una Red Neuronal

This page is a draft and is under active development. 

( \newcommand{\kernel}{\mathrm{null}\,}\)

En lo que sigue, vamos a analizar el proceso de entrenamiento en una RNA de dos capas (ver figura 3). La red consta de una capa de entrada (correspondiente a l=0, con dos neuronas), una capa intermedia oculta (correspondiente a l=1, con tres neuronas) y la capa de salida (l=2 y dos neuronas). El objetivo es calcular los pesos de la RNA, utilizando el algoritmo de retropropagación de la siguiente forma:

Ejemplo de red neuronal
  • Las entradas (en l=0), x=(x1,x2)T son valores constantes. Vamos a denotar por hi la salida de la neurona i de la capa l=1, que serán a su vez entradas de la capa l=2. Análogamente, denotamos por y1 e y2 las salidas de la capa l=2 (salidas de la RNA).
  • Los parámetros que debemos ajustar son los pesos (enlaces entre neuronas de diferentes capas). Se denotan por wlij, donde el superíndice l hace referencia a la capa a la que llega y los subíndices i y j a las neuronas de las capas l y l1, respectivamente, que conecta este peso.
  • En las neuronas de la capa oculta y de la capa de salida se realizan dos procesos:
    • El primero, que simbolizamos con Σ, corresponde en ambas capas a la combinación lineal de la salida de la capa anterior con los pesos correspondientes. Esto es:
      • En la neurona i (i=1,2,3) de la capa l=1: a1i=x1w1i1+x2w1i2.
      • En la neurona k (k=1,2) de la capa l=2: a2k=h1w2k1+h2w2k2+h3w2k3.
    • El segundo, que represintamos en la figura con f, corresponde a la función de activación que suponemos que es la misma para l=1,2: σ(u)=11+eu Recordemos que la derivada de esta función es: σ(u)=eu(1+eu)2=σ(u)(1σ(u)) Entonces, tenemos que las salidas de cada capa son:
      • hi=σ(a1i), i=1,2,3
      • yk=σ(a2k), k=1,2
  • Definimos la función de pérdida o de error, como se hace usualmente, mediante la desviación cuadrática media L(y1,y2)=122k=1(yktk)2 siendo tk (k=1,2) los valores deseados correspondientes a cada salida yk de la RNA.

Puesto que nuestro objetivo es minimimar la función de pérdida, debemos buscar los pesos que lo consiguen, utilizando el algoritmo de retropropagación. Se trata de un proceso iterativo en el que se parte de unos valores iniciales para los pesos y estos se van modificando mediante el método del gradiente descendiente. Con los valores iniciales de los pesos, a partir de los valores x se calculan los de a1,h,a2 e y. Con ellos, partiendo de la capa de salida, vamos hacia atrás:

  1. Aplicamos la regla de la cadena Lw2kiLykyka2ka2kw2ki con (k=1,2):
    • w2kia2k(w2k1,w2k2,w2k3)=hi(i=1,2,3)
    • yka2k=a2kσ(a2k)=σ(a2k)(1σ(a2k))=yk(1yk)
    • ykL(y1,y2)=(yktk)

    Resulta, sustituyendo: Lw2ki(yktk)yk(1yk)hi

  2. Siguiendo el método del gradiente descendente, actualizamos los pesos w2ki en esta capa. Llamando w2=(w2ki)k=1,2;i=1,2,3 w2w2εw2L
  3. Aplicamos la regla de la cadena en la capa oculta: Lw1ijLhihia1ia1iw1ij con (i=1,2,3):
    • w1ija1i(w1i1,w1i2)=xj(j=1,2)
    • hia1i=a1iσ(a1i)=σ(a1i)(1σ(a1i))=hi(1hi)
    • Para calcular Lhi tenemos en cuenta la dependencia de las funciones respecto a las distintas variables: L(y1,y2), yk(a2k) y a2k(h1,h2,h3). Así, aplicando la regla de la cadena: LhiLy1y1a21a21hi+Ly2y2a22a22hi Ya habíamos obtenido anteriormente las expresiones para Lyk y yka2k, por lo que sólo queda calcular el último factor de cada sumando:
      • ak2hi=w2ki

    Sustituyendo: Lw1ijxjhi(1hi)2k=1[(yktk)yk(1yk)w2ki]

  4. Finalmente, se actualizan los pesos w1ij. Llamando w1=(w1ij)i=1,2,3:j=1,2 w1w1εw1L

Con esto se ha dado un paso de la iteración de la actualización de los pesos. A continuación, se volvería a repetir el proceso partiendo de los valores de los datos x.

En la práctica se suele contar para el entrenamiento con un conjunto de datos (no solo uno) y la función que se minimiza entonces es la suma de todas las “pérdidas” que se tienen al considerar todos esos datos.


This page titled 8: Entrenamiento de una Red Neuronal is shared under a not declared license and was authored, remixed, and/or curated by Joaquín López Herraiz.

Support Center

How can we help?