Entrenamiento: descenso de gradiente y retropropagación
El motor de aprendizaje: descenso de gradiente, tasa de aprendizaje, SGD y mini-batch, la retropropagación paso a paso, el grafo computacional, los jacobianos de una capa y la superficie de pérdida.
-
El descenso de gradiente (gradient descent)
El descenso de gradiente es el algoritmo que entrena casi todas las redes neuronales. Calcula la pendiente de la función de pérdida respecto a cada peso y da un paso pequeño en la dirección contraria, controlado por la tasa de aprendizaje, hasta acercarse a un mínimo donde el error deja de bajar.
-
La tasa de aprendizaje (learning rate) en el entrenamiento
La tasa de aprendizaje es el hiperparámetro que fija el tamaño de cada paso al ajustar los pesos durante el entrenamiento. Un valor demasiado alto hace que la pérdida diverja; uno demasiado bajo la vuelve lentísima. Los valores típicos van de 0,001 con Adam a 0,1 con descenso de gradiente clásico.
-
Descenso de gradiente por lotes, estocástico y mini-batch
El descenso de gradiente por lotes usa todos los datos en cada paso, el estocástico usa una sola muestra y el mini-batch escoge un grupo intermedio, casi siempre de 32 a 256 ejemplos. Esta guía compara las tres variantes, su coste, su ruido y por qué el mini-batch se ha convertido en el estándar del entrenamiento.
-
Retropropagación, la intuición detrás del aprendizaje
La retropropagación reparte la culpa del error entre todos los pesos de una red neuronal. Propaga hacia atrás una señal de error capa por capa, multiplicando por las derivadas locales, y así obtiene el gradiente de cada peso en una sola pasada. Esa idea, publicada en 1986, es la que hace posible entrenar redes profundas.
-
Retropropagación, la derivación matemática paso a paso
La retropropagación aplica la regla de la cadena para repartir el error de una red capa por capa. Primero se calcula el error de la última capa, luego se propaga hacia atrás y con él se obtienen los gradientes de todos los pesos y sesgos en una sola pasada, resumidos en cuatro ecuaciones.
-
El grafo computacional y la diferenciación automática
Un grafo computacional representa una función como una red de operaciones elementales. La diferenciación automática recorre ese grafo para calcular derivadas exactas: el modo inverso, base de la retropropagación, obtiene el gradiente de todos los pesos en una sola pasada hacia atrás. Es el mecanismo que hace posible entrenar redes con miles de millones de parámetros.
-
Gradientes de una capa densa, matrices y jacobianos
En una capa densa con z igual a Wx más b, la matriz jacobiana de la salida respecto a la entrada es la propia matriz de pesos W. De ahí salen las dos reglas del entrenamiento: el gradiente respecto a los pesos vale delta por x transpuesta, y el gradiente respecto a la entrada vale W transpuesta por delta.
-
Mínimos locales, puntos de silla y la superficie de pérdida
En redes neuronales grandes la superficie de pérdida casi nunca atrapa al entrenamiento en un mínimo local malo. El obstáculo real son los puntos de silla, mucho más abundantes en alta dimensión. Este artículo explica mínimos locales frente a globales, por qué el descenso de gradiente estocástico los esquiva y qué papel juega la convexidad.