Propagación hacia atrás


Propagación hacia atrás

Propagación hacia atrás

La propagación hacia atrás de errores o retropropagación (del inglés backpropagation) es un algoritmo de aprendizaje supervisado que se usa para entrenar redes neuronales artificiales. El algoritmo consiste en minimizar un error (comúnmente cuadrático) por medio de gradiente descendiente, por lo que la parte esencial del algoritmo es cálculo de las derivadas parciales de dicho error con respecto a los parámetros de la red neuronal.


Contenido

Minimización del Error

Los algoritmos en Aprendizaje Automático pueden ser clasificados en dos categorías: supervisados y no supervisados. Los algoritmos en aprendizaje supervisado son usados para construir "modelos" que generalmente predicen un ciertos valores deseados. Para ello, los algoritmos supervisados requieren que se especifiquen los valores de salida (output) u objetivo (target) que se asocian a ciertos valores de entrada (input). Ejemplos de objetivos pueden ser valores que indican éxito/fallo, venta/no-venta, pérdida/ganancia, o bien ciertos atributos multi-clase como cierta gama de colores o las letras del alfabeto. El conocer los valores de salida deseados permite determinar la calidad de la aproximación del modelo obtenido por el algoritmo.


La especificación de los valores entrada/salida se realiza con un conjunto consistente en pares de vectores con entradas reales de la forma (\boldsymbol x,\boldsymbol t), conocido como conjunto de entrenamiento o conjunto de ejemplos. Los algoritmos de aprendizaje generalmente calculan los parámetros \boldsymbol W de una función N(\boldsymbol x;\boldsymbol W) que permiten aproximar los valores de salida en el conjunto de entrenamiento.


Si (\boldsymbol x^{(q)},\boldsymbol t^{(q)}), q=1,\ldots,p, son los elementos del conjunto de entrenamiento, la calidad de la aproximación en el ejemplo q se puede medir a través del error cuadrático:


E(\boldsymbol x^{(q)}; \boldsymbol W)=\frac{1}{2} \|N(\boldsymbol x^{(q)};\boldsymbol W) -\boldsymbol t^{(q)}\|^2
,

donde \|\cdot\| es la norma euclidiana.

El error total es la suma de los errores de los ejemplos:

E(\boldsymbol W)=\sum_{q=1}^p E(\boldsymbol x^{(q)}; \boldsymbol W).


Un método general para minimizar el error es el actualizar los parámeros de manera iterativa. El valor nuevo de los parámetros se calcula al sumar un incremento \Delta\boldsymbol W al valor actual:


\boldsymbol W := \boldsymbol W + \Delta\boldsymbol W

El algoritmo se detiene cuando \boldsymbol W converge o bien cuado el error alcanza un mínimo valor deseado.

Si la función N(\boldsymbol x;\boldsymbol W) usada para aproximar los valores de salida es diferenciable respecto a los parámetros \boldsymbol W, podemos usar como algoritmo de aprendijaze el método de gradiende descendiente. En este caso, el incremento de los parámetros se expresa como


\Delta\boldsymbol W=-\gamma\frac{\partial E(\boldsymbol W)}{\partial \boldsymbol W},

donde 0 < γ < 1 es un parámetro conocido como factor de aprendizaje.


Antes de continuar introduciremos un poco de notación. Definimos \bar{\boldsymbol v}=(v_1,\ldots,v_n,1)^T como el vector extendido del vector \boldsymbol v=(v_1,\ldots,v_n)^T. El par (\boldsymbol x, \boldsymbol t) representará a un elemento del conjunto de entrenamiento y una relación de entrada-salida, a menos que se indique otra cosa.

Red Neuronal con una Capa Oculta

La función la usaremos para aproximar los valores de salida de una red neuronal artificial con una capa oculta. La red está constituida por una capa de entrada (input layer), una capa oculta (hidden layer) y una capa de salida (output layer), tal como se ilustra con la siguiente figura:


RedNeuronal.png

Los elementos que constituyen a la red neuronal son los siguientes:

  • s es una función de valores reales, conocida como la función de transferencia.
  • \bar{\boldsymbol o}^{(0)} es la capa de entrada, considerado como el vector extendido del ejemplo \boldsymbol o^{(0)}=\boldsymbol x=(x_1,\ldots,x_n)^T.
  • \bar{\boldsymbol o}^{(1)} es la capa oculta, el vector extendido de \boldsymbol o^{(1)}=(o^{(1)}_1,\ldots,o^{(1)}_k)^T.
  • \boldsymbol o^{(2)}=(o_1,\ldots,o_m)^T es la capa de salida, considerado como el vector que aproxima al valor deseado \boldsymbol t=(t_1,\ldots,t_m)^T.
  • \boldsymbol W^{(1)} es una matriz de tamaño (n+1)\times k cuyos valores W^{(1)}_{ij} son los pesos de la conexión entre las unidades \bar o^{(0)}_i y o^{(1)}_j.
  • \boldsymbol W^{(2)} es una matriz de tamaño (k+1)\times m cuyos valores W^{(2)}_{ij} son los pesos de la conexión entre las unidades \bar o^{(1)}_i y o^{(2)}_j.

De estos elementos, únicamente las matrices \boldsymbol W^{(l)} son consideradas como los parámetros de la red, ya que los valores \bar{\boldsymbol o}^{(l)} son el resultado de cálculos que dependen de las matrices de pesos, del valor de entrada \bar{\boldsymbol x} y de la función de transferencia s.


La función de transferencia s que consideraremos en nuestro algoritmo es conocida como función sigmoidal, y esta definida como


s(u)=\frac{1}{1+\exp(-u)}

esta función además de ser diferenciable, tiene la particularidad de que su derivada se puede expresar en términos de sí misma:


\frac{d s(u)}{du}=s(u)(1-s(u)).

esto nos servirá para simplificar los cálculos en el algoritmo de aprendizaje aquí descrito.

Descripción del Algoritmo

A grandes rasgos:

  1. Calcular la salida de la red \boldsymbol o^{(2)} a partir de uno de los conjuntos de valores de prueba x.
  2. Comparar con la salida correcta t y calcular el error según la fórmula:
    E(\boldsymbol x; \boldsymbol W^{(1)},\boldsymbol W^{(2)})=\frac{1}{2}\sum^{m}_{i=1} (o^{(2)}_{i}-t_{i})^{2}.
  3. Calcular las derivadas parciales del error con respecto a los pesos \boldsymbol W^{(2)} que unen la capa oculta con la de salida.
  4. Calcular las derivadas parciales del error con respecto a los pesos \boldsymbol W^{(1)} que unen la capa de entrada con la oculta.
  5. Ajustar los pesos de cada neurona para reducir el error.
  6. Repetir el proceso varias veces por cada par de entradas-salidas de prueba.

Cálculo de la Salída de la Red

Cálculo de las Derivadas Parciales

Ajuste de los Pesos

Entrenamiento On-Line y Off-Line

Enlaces externos

Referencias

  1. D. Michie, D.J. Spiegelhalter, C.C. Taylor (eds). Machine Learning, Neural and Statistical Classification, 1994. [1]
  2. R. Rojas. Neural Networks: A Systematic Introduction, Springer, 1996.ISBN 3-540-60505-3.
Obtenido de "Propagaci%C3%B3n hacia atr%C3%A1s"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Conexionismo — El conexionismo es un conjunto de enfoques en los ámbitos de la inteligencia artificial, psicología cognitiva, ciencia cognitiva, neurociencia y filosofía de la mente, que presenta los fenómenos de la mente y del comportamiento como procesos que… …   Wikipedia Español

  • Red neuronal artificial — perceptrón simple con n neuronas de entrada, m neuronas en su capa oculta y una neurona de escape. Las redes de neuronas artificiales (denominadas habitualmente como RNA o en inglés como: ANN [1] ) so …   Wikipedia Español

  • Antipartícula — Saltar a navegación, búsqueda División del universo en materia y antimateria. A cada una de las partículas de la naturaleza le corresponde una antipartícula que posee la misma masa, el mismo espín, pero distinta carga eléctrica. Algunas… …   Wikipedia Español

  • Perceptrón multicapa — Saltar a navegación, búsqueda El perceptrón multicapa es una red neuronal artificial (RNA) formada por múltiples capas, esto le permite resolver problemas que no son linealmente separables, lo cual es la principal limitación del perceptrón… …   Wikipedia Español

  • Regresión logística — Saltar a navegación, búsqueda En estadística, la regresión logística es un modelo de regresión para variables dependientes o de respuesta binomialmente distribuidas. Es útil para modelar la probabilidad de un evento ocurriendo como función de… …   Wikipedia Español

  • Antena — Saltar a navegación, búsqueda Para otros usos de este término, véase Antena (desambiguación). Antena de onda corta Cortina , Moosbrunn, Austria …   Wikipedia Español

  • Orchidaceae —   Orquídeas …   Wikipedia Español

  • Ecuación de onda — Saltar a navegación, búsqueda La ecuación de onda es una importante ecuación diferencial parcial lineal de segundo orden que describe la propagación de una variedad de ondas, como las ondas sonoras, las ondas de luz y las ondas en el agua. Es… …   Wikipedia Español

  • Historia del electromagnetismo — La Historia del electromagnetismo, que es el conocimiento y el uso registrado de las fuerzas electromagnéticas, data de hace más de dos mil años. En la antigüedad ya estaban familiarizados con los efectos de la electricidad atmosférica, en… …   Wikipedia Español

  • Felis silvestris catus — «Gato» redirige aquí. Para otras acepciones, véase Gato (desambiguación) …   Wikipedia Español