¿Qué es?
La derivada de una composición es el producto de las derivadas: . Las tasas de cambio se multiplican a lo largo de una cadena, y la retropropagación es esta regla aplicada, de forma muy eficiente, a una red neuronal.
¿Por qué existe?
Casi todas las funciones que encontramos se construyen componiendo otras más simples. Sin la regla de la cadena habría que volver a los límites con cada fórmula nueva; con ella, conocer las derivadas de unas pocas primitivas basta para derivar todo lo construido con ellas, incluido un programa.
Intuición
Engranajes. Si gira 3 veces más rápido que e gira 2 veces más rápido que , entonces gira veces más rápido que . En notación de Leibniz la regla parece una simplificación de fracciones: . A lo largo de una cadena de funciones se multiplican tasas locales, y si todas son menores que 1 el producto se desvanece (ese es el problema del desvanecimiento del gradiente).
Definición formal
Si es derivable en y es derivable en , entonces es derivable en y
Idea de la demostración
Escribe con y ; divide entre y haz . (Multiplicar y dividir por directamente falla cuando , y por eso hace falta la función auxiliar .)
Fórmulas
- una cadena de funciones: un producto de derivadas locales
¿Cómo se calcula?
Pon nombre a los valores intermedios: , , … Calcula las derivadas locales y multiplica. El orden en que multiplicas no cambia el resultado, pero sí el coste cuando las funciones tienen muchas entradas y salidas: de izquierda a derecha es el modo directo, de derecha a izquierda el modo inverso (retropropagación).
Ejemplo
con la sigmoide. Sea . Entonces . Es literalmente el gradiente que calcula una red neuronal para un peso de una neurona.
¿Por qué importa?
La retropropagación (Rumelhart, Hinton y Williams, 1986; la diferenciación automática en modo inverso de Linnainmaa, 1970) es la regla de la cadena organizada para que el gradiente respecto de todos los pesos cueste más o menos lo mismo que una evaluación de la red. Sin ese truco sería imposible entrenar los modelos actuales.
Aplicaciones en informática
La velocidad del efector final es la regla de la cadena a través del brazo: .
Dónde aparece en IA
La retropropagación es la regla de la cadena evaluada desde la pérdida hacia atrás, reutilizando cada producto intermedio.
Los modos directo e inverso son dos órdenes de multiplicar la misma cadena de derivadas locales.
¿Dónde se utiliza?
Temas de informática a los que se llega desde aquí, con la cadena de ideas que lleva a ellos:
ℒ IA y machine learning
- Diferenciación automática★★★★★
- Retropropagación (backpropagation)★★★★★
- Retropropagación (backpropagation)→Deep learning (aprendizaje profundo)★★★★★
- Retropropagación (backpropagation)→Deep learning (aprendizaje profundo)→Redes convolucionales (CNN)★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Modelos generativos★★★★★
- Retropropagación (backpropagation)→Deep learning (aprendizaje profundo)→Neural ODE★★★★★
- +7
3D Gráficos por computador
- Regla de la cadena multivariable→Matriz jacobiana→Integrales múltiples y cambio de variables→Métodos de Monte Carlo→La ecuación de renderizado★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Integrales múltiples y cambio de variables→Teorema de Green→Procesado de mallas (geometría diferencial discreta)★★★★★
⚙ Robótica y control
- Regla de la cadena multivariable→Matriz jacobiana→Jacobiana del robot (cinemática de velocidades)★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Cinemática inversa★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Puntos de equilibrio y estabilidad→Teoría de control★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Puntos de equilibrio y estabilidad→Teoría de control→Optimización de trayectorias y MPC★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Filtro de Kalman★★★★★
⚛ Física y simulación
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Ecuación del calor y difusión★★★★★
- Cambio de variable→Ecuaciones de variables separables→Modelos de poblaciones y epidemias★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Puntos de equilibrio y estabilidad→Rigidez y métodos implícitos→Motores físicos★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Integrales múltiples y cambio de variables→Integrales de superficie y flujo→Dinámica de fluidos y CFD★★★★★
- Regla de la cadena multivariable→Matriz jacobiana→Puntos de equilibrio y estabilidad→Atractores→Predicción meteorológica y clima★★★★★
∿ Señales, multimedia y visión
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Procesamiento de señales★★★★★
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Transformada de Fourier→Teorema de muestreo (Nyquist–Shannon)★★★★★
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Transformada de Fourier→Transformada rápida de Fourier (FFT)★★★★★
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Procesamiento de señales→Filtros digitales★★★★★
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Procesamiento de señales→Compresión multimedia (JPEG, MP3, vídeo)★★★★★
- Cambio de variable→Integrales trigonométricas→Series de Fourier→Transformada de Fourier→Telecomunicaciones (modulación, OFDM)★★★★★
- +1
Qué depende de él
Ejercicios
Deriva .
Solución
: la derivada de la softplus es una sigmoide.
Una red de 20 capas usa activaciones sigmoide. Acota el factor en que puede encogerse el gradiente al pasar por las 20 activaciones, ignorando los pesos.
Solución
Cada , así que el producto es como mucho : desvanecimiento del gradiente. ReLU (derivada 1 cuando está activa) y las conexiones residuales lo evitan.