Retropropagación y Optimización
La retropropagación calcula eficientemente el gradiente de la pérdida de una red con respecto a sus pesos, y los optimizadores basados en gradientes utilizan ese gradiente para entrenar la red.
Definition
La retropropagación es un algoritmo que calcula el gradiente de una función de pérdida con respecto a cada peso en una red neuronal propagando las señales de error hacia atrás a través de las capas utilizando la regla de la cadena; la optimización luego actualiza los pesos, típicamente con descenso de gradiente estocástico, para reducir la pérdida.
Scope
Este tema cubre cómo se entrenan las redes profundas: el algoritmo de retropropagación como una aplicación de la regla de la cadena para calcular gradientes capa por capa, el descenso de gradiente estocástico y su forma de mini-lotes, los métodos de momento y de tasa de aprendizaje adaptativa, y los desafíos prácticos de los gradientes que se desvanecen y explotan, la selección de la tasa de aprendizaje y la convergencia en superficies de pérdida no convexas.
Core questions
- ¿Cómo calcula la retropropagación los gradientes de manera eficiente?
- ¿Por qué se prefiere el descenso de gradiente estocástico para grandes conjuntos de datos?
- ¿Cómo aceleran el entrenamiento los métodos de momento y adaptativos?
- ¿Qué causa los gradientes que se desvanecen o explotan y cómo se mitigan?
Key theories
- Retropropagación mediante la regla de la cadena
- Al aplicar la regla de la cadena desde la salida hacia atrás, el algoritmo reutiliza resultados intermedios para calcular todos los gradientes de peso en un tiempo proporcional al paso hacia adelante, lo que hace factible el entrenamiento de grandes redes.
- Descenso de gradiente estocástico
- Estimar el gradiente a partir de pequeños lotes aleatorios hace que cada actualización sea económica e introduce ruido útil, lo que permite el entrenamiento en conjuntos de datos muy grandes y, a menudo, mejora la generalización.
- Métodos adaptativos y de momento
- El momento acumula gradientes pasados para suavizar el descenso, y los métodos adaptativos escalan el tamaño del paso por parámetro, ambos acelerando la convergencia en las superficies de pérdida mal condicionadas típicas de las redes profundas.
Clinical relevance
La retropropagación con descenso de gradiente estocástico es el motor detrás de esencialmente todo el aprendizaje profundo moderno; comprender cómo fluyen los gradientes explica tanto por qué la profundidad fue históricamente difícil de entrenar como cómo las innovaciones en activaciones, inicialización y optimizadores hicieron que las redes muy profundas fueran prácticas.
History
La retropropagación se derivó en varios contextos, incluida la tesis de Werbos de 1974, y fue destacada por Rumelhart, Hinton y Williams en 1986. El descenso de gradiente estocástico y, posteriormente, los optimizadores de momento y de tasa de aprendizaje adaptativa se convirtieron en los procedimientos de entrenamiento estándar, y abordar los gradientes que se desvanecen fue clave para entrenar redes profundas y recurrentes.
Key figures
- David Rumelhart
- Geoffrey Hinton
- Ronald Williams
- Paul Werbos
Related topics
Seminal works
- rumelhart1986
- goodfellow2016
- bishop2006
Frequently asked questions
- ¿Qué calcula realmente la retropropagación?
- Calcula el gradiente de la pérdida con respecto a cada peso, es decir, cuánto debe cambiar cada peso para reducir el error. Lo hace de manera eficiente propagando las señales de error hacia atrás desde la capa de salida hasta la capa de entrada utilizando la regla de la cadena.
- ¿Por qué entrenar en lotes pequeños en lugar de todos los datos a la vez?
- Utilizar todo el conjunto de datos para cada actualización es costoso e innecesario. El descenso de gradiente estocástico por mini-lotes estima el gradiente a partir de una pequeña muestra aleatoria, lo que hace que cada paso sea económico, permite muchas más actualizaciones y añade ruido que puede ayudar a escapar de soluciones deficientes.