Propagación hacia atrás en redes neuronales: algoritmo de aprendizaje automático

Antes de aprender sobre la red neuronal de retropropagación (BPNN), comprendamos:

¿Qué son las redes neuronales artificiales?

Una red neuronal es un grupo de unidades de E/S conectadas donde cada conexión tiene un peso asociado con sus programas informáticos. Le ayuda a crear modelos predictivos a partir de grandes bases de datos. Este modelo se basa en el sistema nervioso humano. Le ayuda a realizar la comprensión de imágenes, el aprendizaje humano, el habla por computadora, etc.

¿Qué es la retropropagación?

Propagación hacia atrás Es la esencia del entrenamiento de redes neuronales. Es el método de ajustar los pesos de una red neuronal en función de la tasa de error obtenida en la época anterior (es decir, iteración). El ajuste adecuado de los pesos permite reducir las tasas de error y hacer que el modelo sea confiable al aumentar su generalización.

La propagación hacia atrás en una red neuronal es una forma abreviada de "propagación de errores hacia atrás". Es un método estándar para entrenar redes neuronales artificiales. Este método ayuda a calcular el gradiente de una función de pérdida con respecto a todos los pesos de la red.

Cómo funciona el algoritmo de retropropagación

El algoritmo de retropropagación en redes neuronales calcula el gradiente de la función de pérdida para un peso único mediante la regla de la cadena. Calcula de manera eficiente una capa a la vez, a diferencia de un cálculo directo nativo. Calcula el gradiente, pero no define cómo se utiliza. Generaliza el cálculo en la regla delta.

Considere el siguiente diagrama de ejemplo de red neuronal de retropropagación para comprender:

Algoritmo de retropropagación
Cómo funciona el algoritmo de retropropagación
  1. Entradas X, llegan por el camino preconectado
  2. La entrada se modela utilizando pesos reales W. Los pesos generalmente se seleccionan al azar.
  3. Calcule la salida para cada neurona desde la capa de entrada hasta las capas ocultas y la capa de salida.
  4. Calcular el error en las salidas.
ErrorB= Actual Output – Desired Output
  1. Regrese desde la capa de salida a la capa oculta para ajustar los pesos de manera que disminuya el error.

Continúe repitiendo el proceso hasta lograr el resultado deseado.

¿Por qué necesitamos la retropropagación?

Las ventajas más destacadas de la retropropagación son:

  • La retropropagación es rápida, sencilla y fácil de programar.
  • No tiene parámetros para ajustar aparte de los números de entrada.
  • Es un método flexible ya que no requiere conocimientos previos sobre la red.
  • Es un método estándar que generalmente funciona bien.
  • No es necesaria ninguna mención especial de las características de la función a aprender.

¿Qué es una red Feed Forward?

Una red neuronal feedforward es una red neuronal artificial donde los nodos nunca forman un ciclo. Este tipo de red neuronal tiene una capa de entrada, capas ocultas y una capa de salida. Es el primer y más simple tipo de red neuronal artificial.

Tipos de redes de retropropagación

Dos tipos de redes de retropropagación son:

  • Propagación hacia atrás estática
  • Propagación hacia atrás recurrente

Propagación hacia atrás estática

Es un tipo de red de retropropagación que produce un mapeo de una entrada estática para una salida estática. Es útil para resolver problemas de clasificación estática como el reconocimiento óptico de caracteres.

Propagación hacia atrás recurrente

La propagación hacia atrás recurrente en la minería de datos se retroalimenta hasta que se alcanza un valor fijo. Después de eso, el error se calcula y se propaga hacia atrás.

La principal diferencia entre ambos métodos es: que el mapeo es rápido en la retropropagación estática mientras que no es estático en la retropropagación recurrente.

Historia de la retropropagación

  • En 1961, J. Kelly, Henry Arthur y E. Bryson derivaron el concepto básico de retropropagación continua en el contexto de la teoría del control.
  • En 1969, Bryson y Ho desarrollaron un método de optimización de sistemas dinámicos de múltiples etapas.
  • En 1974, Werbos planteó la posibilidad de aplicar este principio en una red neuronal artificial.
  • En 1982, Hopfield presentó su idea de una red neuronal.
  • En 1986, gracias al esfuerzo de David E. Rumelhart, Geoffrey E. Hinton y Ronald J. Williams, la retropropagación ganó reconocimiento.
  • En 1993, Wan fue la primera persona en ganar un concurso internacional de reconocimiento de patrones con la ayuda del método de retropropagación.

Puntos clave de retropropagación

  • Simplifica la estructura de la red mediante enlaces ponderados por elementos que tienen el menor efecto en la red entrenada
  • Es necesario estudiar un grupo de valores de entrada y activación para desarrollar la relación entre las capas de entrada y de unidades ocultas.
  • Ayuda a evaluar el impacto que tiene una determinada variable de entrada en la salida de una red. El conocimiento adquirido a partir de este análisis debe representarse en reglas.
  • La retropropagación es especialmente útil para redes neuronales profundas que trabajan en proyectos propensos a errores, como el reconocimiento de imágenes o voz.
  • La retropropagación aprovecha la cadena y las reglas de potencia permiten que la retropropagación funcione con cualquier número de salidas.

Mejores prácticas de retropropagación

La retropropagación en redes neuronales se puede explicar con la ayuda de la analogía del "cordón de zapato"

Muy poca tensión =

  • No lo suficientemente restrictivo y muy flojo.

demasiada tensión =

  • Demasiada restricción (sobreentrenamiento)
  • Tomar demasiado tiempo (proceso relativamente lento)
  • Mayor probabilidad de romperse

Tirando de un cordón más que de otro =

  • Malestar (sesgo)

Desventajas de utilizar la retropropagación

  • El rendimiento real de la retropropagación en un problema específico depende de los datos de entrada.
  • El algoritmo de retropropagación en la minería de datos puede ser bastante sensible a los datos ruidosos.
  • Debe utilizar el enfoque basado en matrices para la propagación hacia atrás en lugar del mini lote.

Resum

  • Una red neuronal es un grupo de unidades de E/S conectadas donde cada conexión tiene un peso asociado a sus programas informáticos.
  • La propagación hacia atrás es una forma abreviada de "propagación de errores hacia atrás". Es un método estándar para entrenar redes neuronales artificiales.
  • Algoritmo de propagación hacia atrás en máquina de aprendizaje es rápido, simple y fácil de programar
  • Una red BPN feedforward es una red neuronal artificial.
  • Dos tipos de redes de retropropagación son 1) Retropropagación estática 2) Retropropagación recurrente
  • En 1961, J. Kelly, Henry Arthur y E. Bryson derivaron el concepto básico de retropropagación continua en el contexto de la teoría del control.
  • Propagación hacia atrás en la minería de datos simplifica la estructura de la red eliminando enlaces ponderados que tienen un efecto mínimo en la red entrenada.
  • Es especialmente útil para redes neuronales profundas que trabajan en proyectos propensos a errores, como el reconocimiento de imágenes o voz.
  • El mayor inconveniente de la retropropagación es que puede ser sensible a los datos ruidosos.