• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN AI

Back Propagation: Algoritmo de Aprendizaje Automático en Redes Neuronales

By s4pcademy 

Antes de aprender la Red Neuronal de Retropropagación (BPNN), vamos a entender:

¿Qué es una Red Neuronal Artificial?

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

¿Qué es la Retropropagación?

Retropropagación 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 te permite reducir las tasas de error y hacer que el modelo sea confiable al aumentar su generalización.

La retropropagación en la red neuronal es una forma abreviada de «propagación hacia atrás de errores». 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.

En este tutorial, aprenderás:

Cómo funciona el algoritmo de Retropropagación

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

Considera el siguiente ejemplo de diagrama de red neuronal de retropropagación para entender:

Cómo funciona el algoritmo de Retropropagación
Cómo funciona el algoritmo de Retropropagación
  1. Las entradas X, llegan a través de la ruta preconectada
  2. La entrada se modela utilizando pesos reales W. Los pesos suelen seleccionarse al azar.
  3. Calcular la salida para cada neurona desde la capa de entrada, a las capas ocultas, a la capa de salida.
  4. Calcular el error en las salidas
ErrorB= Salida real - Salida deseada
  1. Regresar desde la capa de salida a la capa oculta para ajustar los pesos de manera que el error disminuya.

Repetir el proceso hasta lograr la salida deseada.

¿Por qué necesitamos la Retropropagación?

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

  • La retropropagación es rápida, simple y fácil de programar.
  • No tiene parámetros que ajustar aparte de la cantidad de entradas.
  • 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 necesita ninguna mención especial de las características de la función a aprender.

¿Qué es una Red de Avance?

Una red neuronal de avance 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:

  • Retropropagación estática
  • Retropropagación recurrente

Retropropagación estática:

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

Retropropagación recurrente:

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

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

Historia de la Retropropagación

  • En 1961, los conceptos básicos de la retropropagación continua se derivaron en el contexto de la teoría del control por J. Kelly, Henry Arthur y E. Bryson.
  • En 1969, Bryson y Ho dieron un método de optimización de sistemas dinámicos de múltiples etapas.
  • En 1974, Werbos mencionó la posibilidad de aplicar este principio en una red neuronal artificial.
  • En 1982, Hopfield trajo su idea de una red neuronal.
  • En 1986, gracias a los esfuerzos de David E. Rumelhart, Geoffrey E. Hinton, 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 la Retropropagación

  • Simplifica la estructura de la red eliminando conexiones ponderadas que tienen el menor efecto en la red entrenada.
  • Necesitas estudiar un grupo de valores de entrada y activación para desarrollar la relación entre la entrada y las capas de unidad oculta.
  • Ayuda a evaluar el impacto que una variable de entrada determinada tiene 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 las reglas de la cadena y la potencia para funcionar con cualquier cantidad de salidas.

Mejores prácticas de Retropropagación

La retropropagación en la red neuronal se puede explicar con la ayuda de la analogía del «cordón de zapato»

Demasiada tensión =

  • No hay suficiente restricción y muy suelta

Demasiada tensión =

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

Jalar un cordón más que el otro =

Desventajas de usar 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.
  • Necesitas usar un enfoque basado en matrices para la retropropagación en lugar de mini-lotes.

Resumen

  • Una red neuronal es un grupo de unidades de entrada/salida conectadas, donde cada conexión tiene un peso asociado con sus programas informáticos.
  • La retropropagación es una forma abreviada de «propagación hacia atrás de errores». Es un método estándar para entrenar redes neuronales artificiales.
  • El algoritmo de retropropagación en el aprendizaje automático es rápido, simple y fácil de programar.
  • Una red BPN de avance es una red neuronal artificial.
  • Dos tipos de redes de retropropagación son 1) Retropropagación estática 2) Retropropagación recurrente
  • En 1961, los conceptos básicos de la retropropagación continua se derivaron en el contexto de la teoría del control por J. Kelly, Henry Arthur y E. Bryson.
  • La retropropagación en la minería de datos simplifica la estructura de la red eliminando conexiones ponderadas 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.
  • La mayor desventaja de la retropropagación es que puede ser sensible a los datos ruidosos.


Aprendizaje no supervisado: Algoritmos, tipos y ejemplos para Machine Learning
Previo
Example de Función y Método Main en Python: Entender def Main() | SEO
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.

x