En las redes neuronales artificiales , la normalización por lotes (también conocida como normalización por lotes ) es una técnica de normalización que se utiliza para hacer que el entrenamiento sea más rápido y estable ajustando las entradas de cada capa: recentrándolas alrededor de cero y reescalándolas a un tamaño estándar. Fue introducida por Sergey Ioffe y Christian Szegedy en 2015. [ 1 ]
Los expertos aún debaten por qué la normalización por lotes funciona tan bien. Inicialmente se pensó que abordaba el desplazamiento interno de covariables , un problema en el que la inicialización de parámetros y los cambios en la distribución de las entradas de cada capa afectan la tasa de aprendizaje de la red. [ 1 ] Sin embargo, investigaciones más recientes sugieren que no corrige este desplazamiento, sino que suaviza la función objetivo —una guía matemática que la red sigue para mejorar—, lo que mejora el rendimiento. [ 2 ] En redes muy profundas, la normalización por lotes puede causar inicialmente una explosión de gradiente severa —donde las actualizaciones de la red crecen de forma incontrolable—, pero esto se gestiona con atajos llamados conexiones de salto en redes residuales. [ 3 ] Otra teoría es que la normalización por lotes ajusta los datos manejando su tamaño y ruta por separado, acelerando el entrenamiento. [ 4 ]
Cambio de covariable interna
Cada capa de una red neuronal tiene entradas que siguen una distribución específica, la cual cambia durante el entrenamiento debido a dos factores principales: los valores iniciales aleatorios de la configuración de la red ( inicialización de parámetros ) y la variación natural de los datos de entrada. Este patrón de cambio que afecta a las entradas de las capas internas de la red se denomina desplazamiento de covariables internas . Si bien no existe una definición estricta totalmente consensuada, los experimentos demuestran que implica cambios en las medias y varianzas de estas entradas durante el entrenamiento.
La normalización por lotes se desarrolló inicialmente para abordar el cambio interno de covariables. [ 1 ] Durante el entrenamiento, a medida que se ajustan los parámetros de las capas precedentes, la distribución de las entradas a la capa actual cambia en consecuencia, de modo que la capa actual necesita reajustarse constantemente a nuevas distribuciones. Este problema es particularmente grave en redes profundas, ya que pequeños cambios en las capas ocultas menos profundas se amplifican a medida que se propagan dentro de la red, lo que resulta en un cambio significativo en las capas ocultas más profundas. La normalización por lotes se propuso para reducir estos cambios no deseados, acelerar el entrenamiento y producir modelos más fiables.
Además de abordar el posible cambio de covariables internas, la normalización por lotes ofrece varias ventajas adicionales. Permite que la red utilice una tasa de aprendizaje más alta (un ajuste que controla la velocidad de aprendizaje de la red) sin causar problemas como gradientes evanescentes o explosivos, donde las actualizaciones se vuelven demasiado pequeñas o demasiado grandes. También parece tener un efecto regularizador, mejorando la capacidad de la red para generalizar a nuevos datos, lo que reduce la necesidad de dropout , una técnica utilizada para prevenir el sobreajuste (cuando un modelo aprende demasiado bien los datos de entrenamiento y falla con datos nuevos). Adicionalmente, las redes que utilizan normalización por lotes son menos sensibles a la elección de los ajustes iniciales o las tasas de aprendizaje, lo que las hace más robustas y adaptables.
Procedimientos
Transformación
En una red neuronal, la normalización por lotes se logra mediante un paso de normalización que fija las medias y varianzas de las entradas de cada capa. Idealmente, la normalización se realizaría sobre todo el conjunto de entrenamiento, pero para utilizar este paso junto con métodos de optimización estocástica , resulta poco práctico usar la información global. Por lo tanto, la normalización se limita a cada minilote en el proceso de entrenamiento.
Usemos B para denotar un mini-lote de tamaño m del conjunto de entrenamiento completo. La media y la varianza empíricas de B podrían denotarse como
y.
Para una capa de la red con entrada d- dimensional,, cada dimensión de su entrada se normaliza (es decir, se recentra y se reescala) por separado,
, dóndey ;yson la media y la desviación estándar por dimensión, respectivamente.
se agrega en el denominador para la estabilidad numérica y es una constante positiva arbitrariamente pequeña. La activación normalizada resultantetienen media cero y varianza unitaria, sino se tiene en cuenta. Para restaurar el poder de representación de la red, sigue un paso de transformación como
,
donde los parámetrosyPosteriormente se aprenden en el proceso de optimización.
Formalmente, la operación que implementa la normalización por lotes es una transformaciónllamada transformación de normalización por lotes. La salida de la transformación BNLuego se pasa a otras capas de la red, mientras que la salida normalizada permanece dentro de la capa actual.
Retropropagación
La transformada BN descrita es una operación diferenciable , y el gradiente de la pérdida con respecto a los diferentes parámetros se pueden calcular directamente con la regla de la cadena .
Específicamente,depende de la elección de la función de activación , y el gradiente frente a otros parámetros podría expresarse como una función de:
,
,,,,
y.
Inferencia
Durante la etapa de entrenamiento, los pasos de normalización dependen de los minilotes para garantizar un entrenamiento eficiente y confiable. Sin embargo, en la etapa de inferencia, esta dependencia ya no es útil. En cambio, el paso de normalización en esta etapa se calcula con las estadísticas de la población de tal manera que la salida podría depender de la entrada de manera determinista. La media de la población,y varianza,, se calculan como:
, y.
Por lo tanto, las estadísticas de población constituyen una representación completa de los minilotes.
La transformación BN en el paso de inferencia se convierte así en:
,
dóndese pasa a las siguientes capas en lugar deDado que los parámetros son fijos en esta transformación, el procedimiento de normalización por lotes consiste esencialmente en aplicar una transformación lineal a la función de activación.
Teoría
Aunque la normalización por lotes se ha popularizado debido a su sólido rendimiento empírico, el mecanismo de funcionamiento del método aún no se comprende del todo. La explicación dada en el artículo original [ 1 ] era que la normalización por lotes funciona reduciendo el desplazamiento de covariables internas, pero esto ha sido cuestionado por trabajos más recientes. Un experimento [ 5 ] entrenó una red VGG-16 [ 6 ] bajo 3 regímenes de entrenamiento diferentes: estándar (sin normalización por lotes), normalización por lotes y normalización por lotes con ruido añadido a cada capa durante el entrenamiento. En el tercer modelo, el ruido tiene una media distinta de cero y una varianza distinta de la unidad, es decir, introduce explícitamente un desplazamiento de covariables. A pesar de esto, mostró una precisión similar a la del segundo modelo, y ambos tuvieron un mejor rendimiento que el primero, lo que sugiere que el desplazamiento de covariables no es la razón por la que la normalización por lotes mejora el rendimiento.
El uso de la normalización por lotes hace que los elementos de un lote dejen de ser i.i.d. , lo que puede generar dificultades en el entrenamiento debido a una estimación de gradiente de menor calidad. [ 7 ]
Suavidad
Una explicación alternativa [ 5 ] es que la mejora con la normalización por lotes se debe en cambio a la producción de un espacio de parámetros más suave y gradientes más suaves, como se formaliza mediante una constante de Lipschitz más pequeña .
Consideremos dos redes idénticas, una contiene capas de normalización por lotes y la otra no; luego se comparan los comportamientos de estas dos redes. Denotemos las funciones de pérdida comoy, respectivamente. Sea la entrada a ambas redesy la salida sea, para el cual, dóndeson los pesos de la capa. Para la segunda red,Además, pasa por una capa de normalización por lotes. Denotemos la activación normalizada como, que tiene media cero y varianza unitaria. Sea la activación transformaday supongamos queyson constantes. Finalmente, denotemos la desviación estándar sobre un minilote.como.
Primero, se puede demostrar que la magnitud del gradiente de una red normalizada por lotes,, está acotado, con el límite expresado como
.
Dado que la magnitud del gradiente representa la Lipschitzidad de la pérdida, esta relación indica que una red normalizada por lotes podría lograr una Lipschitzidad comparativamente mayor. Nótese que el límite se vuelve más ajustado cuando el gradientese correlaciona con la activación, que es un fenómeno común. La escala deEsto también es significativo, ya que la varianza suele ser grande.
En segundo lugar, la forma cuadrática del hessiano de pérdida con respecto a la activación en la dirección del gradiente puede acotarse como
.
La escala deindica que el hessiano de la pérdida es resistente a la varianza del mini-lote, mientras que el segundo término del lado derecho sugiere que se vuelve más suave cuando el hessiano y el producto interno no son negativos. Si la pérdida es localmente convexa , entonces el hessiano es semidefinido positivo , mientras que el producto interno es positivo sise dirige hacia el mínimo de la pérdida. Por lo tanto, de esta desigualdad se podría concluir que el gradiente generalmente se vuelve más predictivo con la capa de normalización por lotes.
A continuación, se procede a traducir los límites relacionados con la pérdida respecto a la activación normalizada a un límite para la pérdida respecto a los pesos de la red:
, dóndey.
Además de un paisaje más uniforme, se demuestra que la normalización por lotes podría resultar en una mejor inicialización con la siguiente desigualdad:
, dóndeyson los pesos óptimos locales para las dos redes, respectivamente.
Algunos investigadores argumentan que el análisis anterior no puede capturar completamente el rendimiento de la normalización por lotes, ya que la demostración solo considera el autovalor más grande, o equivalentemente, una dirección en el paisaje en todos los puntos. Se sugiere que es necesario tener en cuenta el espectro de autovalores completo para realizar un análisis concluyente. [ 8 ] [ 5 ]
Medida
Dado que se hipotetiza que las capas de normalización por lotes podrían reducir el desplazamiento interno de covariables, se diseñó un experimento para medir cuantitativamente dicha reducción. En primer lugar, es necesario definir matemáticamente el concepto de desplazamiento interno de covariables. Específicamente, para cuantificar el ajuste que realizan los parámetros de una capa en respuesta a las actualizaciones de las capas anteriores, se mide la correlación entre los gradientes de la función de pérdida antes y después de que se actualicen todas las capas anteriores, ya que los gradientes podrían capturar los cambios derivados del método de entrenamiento de primer orden. Si el desplazamiento introducido por las modificaciones en las capas anteriores es pequeño, la correlación entre los gradientes sería cercana a 1.
Se calcula la correlación entre los gradientes para cuatro modelos: una red VGG estándar , [ 6 ] una red VGG con capas de normalización por lotes, una red lineal profunda (DLN) de 25 capas entrenada con descenso de gradiente por lotes completos y una red DLN con capas de normalización por lotes. Curiosamente, se muestra que los modelos VGG estándar y DLN tienen correlaciones de gradientes más altas en comparación con sus contrapartes, lo que indica que las capas adicionales de normalización por lotes no reducen el desplazamiento de covariables internas.
Gradientes evanescentes/explosivos
Aunque la normalización por lotes se introdujo originalmente para aliviar los problemas de desaparición o explosión del gradiente , una red de normalización por lotes profunda sufre de hecho una explosión del gradiente en el momento de la inicialización, independientemente de lo que utilice para la no linealidad. Por lo tanto, el panorama de optimización está muy lejos de ser suave para una red de normalización por lotes profunda inicializada aleatoriamente. Más precisamente, si la red tienecapas, entonces el gradiente de los pesos de la primera capa tiene normapara algunosdependiendo únicamente de la no linealidad. Para cualquier no linealidad fija,disminuye a medida que aumenta el tamaño del lote. Por ejemplo, para ReLU,disminuye aa medida que el tamaño del lote tiende a infinito. En la práctica, esto significa que las redes de normalización de lotes profundas son imposibles de entrenar. Esto solo se soluciona mediante conexiones de salto al estilo de las redes residuales . [ 9 ]
Esta explosión de gradiente en la superficie contradice la propiedad de suavidad explicada en la sección anterior, pero en realidad son consistentes. La sección anterior estudia el efecto de insertar una única norma de lote en una red, mientras que la explosión de gradiente depende del apilamiento de normas de lote típicas de las redes neuronales profundas modernas.
Desacoplamiento
Otra posible razón del éxito de la normalización por lotes es que desacopla la longitud y la dirección de los vectores de peso y, por lo tanto, facilita un mejor entrenamiento.
Al interpretar la normalización por lotes como una reparametrización del espacio de pesos, se puede demostrar que la longitud y la dirección de los pesos están separadas y, por lo tanto, se pueden entrenar por separado. Para una unidad de red neuronal particular con entraday vector de peso, denotamos su salida como, dóndees la función de activación, y denotamos. Supongamos quey que el espectro de la matrizestá limitado como,, de tal manera quees simétrica definida positiva. Agregar normalización por lotes a esta unidad da como resultado:
, por definición.
El término de varianza se puede simplificar de tal manera que. Supongamos quetiene media cero ypuede omitirse, entonces se deduce que
, dóndees la norma inducida de,.
Por lo tanto, se podría concluir que, dónde, yyConsideremos su longitud y dirección por separado. Esta propiedad podría utilizarse para demostrar la convergencia más rápida de problemas con normalización por lotes.
Convergencia lineal
Problema de mínimos cuadrados
Con la interpretación de la reparametrización, se podría demostrar que aplicar la normalización por lotes al problema de mínimos cuadrados ordinarios logra una tasa de convergencia lineal en el descenso de gradiente, que es más rápida que el descenso de gradiente regular con una convergencia sublineal.
Denotemos el objetivo de minimizar un problema de mínimos cuadrados ordinarios como
, dóndey.
Desde, el objetivo se convierte así en
donde se excluye el 0 para evitar que haya 0 en el denominador.
Dado que el objetivo es convexo con respecto a, su valor óptimo podría calcularse estableciendo la derivada parcial de la función objetivo frente aa 0. El objetivo podría simplificarse aún más a ser
.
Nótese que esta función objetivo es una forma del cociente de Rayleigh generalizado.
, dóndees una matriz simétrica yes una matriz simétrica definida positiva .
Se demuestra que la tasa de convergencia del descenso de gradiente del cociente de Rayleigh generalizado es
, dóndees el mayor valor propio de,es el segundo valor propio más grande de, yes el valor propio más pequeño de. [ 10 ]
En nuestro caso,es una matriz de rango uno, y el resultado de convergencia se puede simplificar en consecuencia. Específicamente, consideremos pasos de descenso de gradiente de la formacon tamaño de pasoy comenzando desde, entonces
.
Problema de aprendizaje del semiespacio
El problema del aprendizaje de semiplanos se refiere al entrenamiento del perceptrón , que es la forma más simple de red neuronal. El problema de optimización en este caso es
, dóndeyes una función de pérdida arbitraria.
Supongamos quees infinitamente diferenciable y tiene una derivada acotada. Supongamos que la función objetivoes- suave , y esa es una soluciónexiste y está acotado de tal manera queTambién supongamoses una variable aleatoria normal multivariada . Con la suposición gaussiana, se puede demostrar que todos los puntos críticos se encuentran en la misma línea, para cualquier elección de función de pérdida.. Específicamente, el gradiente depodría representarse como
, dónde ,, yes el-ésima derivada de.
Al establecer el gradiente en 0, se deduce que los puntos críticos acotadospuede expresarse como, dóndedepende deyAl combinar esta propiedad global con el desacoplamiento de la dirección de la longitud, se podría demostrar que este problema de optimización converge linealmente.
En primer lugar, se diseña una variación del descenso de gradiente con normalización por lotes, el Descenso de Gradiente en Parametrización Normalizada (GDNP), para la función objetivo., de modo que la dirección y la longitud de los pesos se actualizan por separado. Denotemos el criterio de parada de GDNP como
.
Sea el tamaño del paso
.
Para cada paso, si, luego actualice la dirección como
.
Luego actualice la longitud según
, dóndees el algoritmo de bisección clásico yes el número total de iteraciones ejecutadas en el paso de bisección.
Denotemos el número total de iteraciones como, entonces el resultado final de GDNP es
.
El algoritmo GDNP modifica ligeramente el paso de normalización por lotes para facilitar el análisis matemático.
Se puede demostrar que en GDNP, la derivada parcial defrente al componente de longitud converge a cero a una tasa lineal, de tal manera que
, dóndeyson los dos puntos de partida del algoritmo de bisección a la izquierda y a la derecha, respectivamente.
Además, para cada iteración, la norma del gradiente decon respecto aconverge linealmente, de tal manera que
.
Combinando estas dos desigualdades, se podría obtener una cota para el gradiente con respecto a:
, de tal manera que se garantice que el algoritmo converge linealmente.
Aunque la demostración se basa en el supuesto de una entrada gaussiana, también se ha demostrado experimentalmente que GDNP podría acelerar la optimización sin esta restricción.
Redes neuronales
Consideremos un perceptrón multicapa (MLP) con una capa oculta yunidades ocultas con mapeo desde la entradaa una salida escalar descrita como
, dóndeyson los pesos de entrada y salida de la unidadEn consecuencia, yes la función de activación y se supone que es una función tanh .
Los pesos de entrada y salida podrían entonces optimizarse con
, dóndees una función de pérdida,, y.
Considere fijoy optimizando únicamente, se puede demostrar que los puntos críticos dede una unidad oculta en particular,, todos se alinean a lo largo de una línea dependiendo de la información entrante en la capa oculta, de tal manera que
, dóndees un escalar,.
Este resultado podría probarse estableciendo el gradiente dea cero y resolviendo el sistema de ecuaciones.
Aplique el algoritmo GDNP a este problema de optimización alternando la optimización sobre las diferentes unidades ocultas. Específicamente, para cada unidad oculta, ejecute GDNP para encontrar el óptimo.y. Con la misma elección de criterio de parada y tamaño de paso, se deduce que
.
Dado que los parámetros de cada unidad oculta convergen linealmente, todo el problema de optimización tiene una tasa de convergencia lineal. [ 8 ]
Referencias
- 1 2 3 4 Ioffe, Sergey; Szegedy, Christian (2015). "Normalización por lotes: acelerando el entrenamiento de redes neuronales profundas mediante la reducción del desplazamiento de covariables internas". arXiv : 1502.03167 [ cs.LG ].
- ↑ Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (29 de mayo de 2018). "¿Cómo ayuda la normalización por lotes a la optimización?". arXiv : 1805.11604 [ stat.ML ].
- ↑ Yang, Greg; Pennington, Jeffrey; Rao, Vinay; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2019). "Una teoría de campo medio de la normalización por lotes". arXiv : 1902.08129 [ cs.NE ].
- ↑ Kohler, Jonas; Daneshmand, Hadi; Lucchi, Aurelien; Zhou, Ming; Neymeyr, Klaus; Hofmann, Thomas (27 de mayo de 2018). "Tasas de convergencia exponencial para la normalización por lotes: el poder del desacoplamiento longitud-dirección en la optimización no convexa". arXiv : 1805.10694 [ stat.ML ].
- 1 2 3 Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (29 de mayo de 2018). "¿Cómo ayuda la normalización por lotes a la optimización?". arXiv : 1805.11604 [ stat.ML ].
- 1 2 Simonyan, Karen; Andrew, Zisserman (2014). "Redes neuronales convolucionales muy profundas para el reconocimiento de imágenes a gran escala". arXiv : 1409.1556 [ cs.CV ].
- ↑ Ba, J., Kiros, JR, & Hinton, GE (2016). Normalización de capas. ArXiv, abs/1607.06450.
- 1 2 Kohler, Jonas; Daneshmand, Hadi; Lucchi, Aurelien; Zhou, Ming; Neymeyr, Klaus; Hofmann, Thomas (27 de mayo de 2018). "Tasas de convergencia exponencial para la normalización por lotes: el poder del desacoplamiento longitud-dirección en la optimización no convexa". arXiv : 1805.10694 [ stat.ML ].
- ↑ Yang, Greg; Pennington, Jeffrey; Rao, Vinay; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2019). "Una teoría de campo medio de la normalización por lotes". arXiv : 1902.08129 [ cs.NE ].
- ↑ Knyazev, Neymeyr (2003). "Una teoría geométrica para la iteración inversa precondicionada III: una estimación de convergencia corta y precisa para problemas generalizados de valores propios" . Álgebra lineal y sus aplicaciones . 358 ( 1–3 ): 95–114 . doi : 10.1016/S0024-3795(01)00461-X .
Lecturas adicionales
- Ioffe, Sergey; Szegedy, Christian (2015). "Normalización por lotes: Aceleración del entrenamiento de redes neuronales profundas mediante la reducción del desplazamiento de covariables internas", ICML'15: Actas de la 32.ª Conferencia Internacional sobre Aprendizaje Automático - Volumen 37, julio de 2015, páginas 448-456
- Simonyan, Karen; Zisserman, Andrew (2014). "Redes neuronales convolucionales muy profundas para el reconocimiento de imágenes a gran escala". arXiv : 1409.1556 [ cs.CV ].
- Ingeniería de inteligencia artificial
