Saltar al contenido principal
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
LibreTexts Español

7: Retropropagación

This page is a draft and is under active development. 

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

Idea intuitiva de la retropropagación
El algoritmo de retropropagación es un método muy utilizado en redes neuronales para minimizar la conocida como función de pérdida o de error de la red. Esta función proporciona, durante el entrenamiento de la red neuronal, una medida de cuánto se desvían los valores proporcionados por la red de los valores reales o deseados. Los parámetros desconocidos de la red, que son las incógnitas del problema y suelen denominarse pesos, se modifican de tal forma que los valores de salida de la red se ajusten lo más posible a los deseados. Para ello, se utiliza el método del gradiente descendente, que permite minimizar el error en función de los pesos. Puesto que el error se calcula al final de la red (en la capa de salida) es más fácil calcular el efecto de las variaciones de los pesos (y, por tanto, ajustarlos) comenzando desde el final, esto es, cambiando los pesos que llegan a la capa de salida. Sucesivamente, se modifican los de cada capa intermedia en dirección hacia la capa inicial. En este proceso será de utilidad la regla de la cadena.

Ejemplo 7.15

Vamos a considerar las funciones escalares f(x)=x2, g(y)=siny y h(z)=exp(z). La composición de las tres funciones (hgf)(x) da lugar a J(x)=exp(sinx2). Vamos a calcular dJdx utilizando el algoritmo de retropropagación.
Aunque la composición de funciones se realiza hacia delante: xy=f(x)=x2z=g(y)=sinyJ(x)=h(z)=exp(z)

el cálculo de la derivada lo realizamos hacia atrás, utilizando la regla de la cadena:

  1. Empezamos por h(z)=exp(z): dJdzexp(z)
  2. Después por z=g(y)=sin(y): dJdydJdzdzdy,dzdy=cos(y)
  3. Por último por y=f(x)=x2: dJdxdJdydydx,dydx=2x
  4. Así, resulta dJdx(x)=2xcos(x2)exp(sin(x2))

Ejemplo 7.16

Sean x=(x1,x2) y las funciones: f(x1,x2)=a1x1+a2x2 con a1 y a2 constantes, g(y)=1+ey y h(z)=1z. La composición de las tres funciones (hgf)(x) da lugar a J(x1,x2)=11+e(a1x1+a2x2). Esto es: (x1,x2)y=f(x1,x2)=a1x1+a2x2z=g(y)=1+eyJ(x)=h(z)=1z

El objetivo en este caso es el cálculo del gradiente de la función J, J(x), que tiene por coordenadas xiJ(x), para i=1,2.

  1. Empezamos por h(z)=1z: Jz1z2
  2. Después tomamos z=g(y)=1+ey: JyJzzy,zy=ey
  3. Por último, para y=f(x1,x2)=a1x1+a2x2:
    • Jx1Jyyx1,yx1=a1
    • Jx2Jyyx2,yx2=a2

This page titled 7: Retropropagación 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?