La normalización por lotes (también conocida como norma por lotes ) es un método que se utiliza para hacer que las redes neuronales artificiales sean más rápidas y estables mediante la normalización de las entradas de las capas al volver a centrar y escalar. [1] Fue propuesto por Sergey Ioffe y Christian Szegedy en 2015. [2]
Si bien el efecto de la normalización por lotes es evidente, las razones de su eficacia siguen siendo objeto de discusión. Se creía que podía mitigar el problema del cambio de covariables interno , donde 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. [2] Recientemente, algunos académicos han argumentado que la normalización por lotes no reduce el cambio de covariables interno, sino que suaviza la función objetivo , lo que a su vez mejora el rendimiento. [3] Sin embargo, en la inicialización, la normalización de lotes de hecho induce una explosión de gradiente severa en redes profundas, que solo se alivia con conexiones de salto en redes residuales.[4] Otros sostienen que la normalización por lotes logra el desacoplamiento de la dirección de longitud y, por lo tanto, acelera las redes neuronales . [5]
Después de la norma por lotes , se han introducido muchos otros métodos de normalización en la capa , como la normalización de instancias, la normalización de capas y la normalización de grupos.
Motivación: el fenómeno del cambio de covariables interno
Cada capa de una red neuronal tiene entradas con una distribución correspondiente, que se ve afectada durante el proceso de entrenamiento por la aleatoriedad en la inicialización de los parámetros y la aleatoriedad en los datos de entrada. El efecto de estas fuentes de aleatoriedad en la distribución de las entradas a las capas internas durante el entrenamiento se describe como cambio de covariables internas . Aunque parece faltar una definición clara y precisa, el fenómeno observado en los experimentos es el cambio en las medias y las variaciones de las entradas a las capas internas durante el entrenamiento.
La normalización de lotes se propuso inicialmente para mitigar el cambio de covariables interno. [2] Durante la etapa de entrenamiento de las redes, a medida que cambian los parámetros de las capas anteriores, la distribución de entradas a la capa actual cambia en consecuencia, de modo que la capa actual necesita reajustarse constantemente a nuevas distribuciones. Este problema es especialmente grave para las redes profundas, porque los pequeños cambios en las capas ocultas menos profundas se amplificarán a medida que se propaguen dentro de la red, lo que provocará un cambio significativo en las capas ocultas más profundas. Por lo tanto, se propone el método de normalización por lotes para reducir estos cambios no deseados para acelerar el entrenamiento y producir modelos más confiables.
Además de reducir el cambio de covariables interno, se cree que la normalización de lotes introduce muchos otros beneficios . Con esta operación adicional, la red puede utilizar una mayor tasa de aprendizaje sin desaparecer o explotar gradientes. Además, la normalización por lotes parece tener un efecto de regularización, de modo que la red mejora sus propiedades de generalización y, por lo tanto, no es necesario utilizar el abandono para mitigar el sobreajuste . También se ha observado que con la norma por lotes la red se vuelve más robusta a diferentes esquemas de inicialización y tasas de aprendizaje.
Procedimientos
Transformación de normalización por lotes
En una red neuronal, la normalización por lotes se logra mediante un paso de normalización que fija las medias y las variaciones de las entradas de cada capa. Idealmente, la normalización se llevaría a cabo en todo el conjunto de entrenamiento, pero para usar este paso junto con los métodos de optimización estocástica , no es práctico usar la información global. Por lo tanto, la normalización se restringe a cada mini-lote en el proceso de entrenamiento.
Utilice B para indicar un mini lote de tamaño m de todo el conjunto de entrenamiento. Por tanto, la media empírica y la varianza 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 vuelve a centrar y se vuelve a escalar) por separado,
, dónde y ; y son la media y la varianza por dimensión, respectivamente.
se agrega en el denominador para la estabilidad numérica y es una constante arbitrariamente pequeña. La activación normalizada resultantetienen media cero y varianza unitaria, si no se tiene en cuenta. Para restaurar el poder de representación de la red, se sigue un paso de transformación como
,
donde los parámetros y posteriormente se aprenden en el proceso de optimización.
Formalmente, la operación que implementa la normalización por lotes es una transformación llamada la transformación de normalización por lotes. La salida de la transformada BN luego se pasa a otras capas de red, mientras que la salida normalizada permanece interno a la capa actual.
Retropropagación
La transformada BN descrita es una operación diferenciable , y el gradiente de la pérdida l con respecto a los diferentes parámetros se puede 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 en función de:
,
, ,
, ,
y .
Inferencia con redes normalizadas por lotes
Durante la etapa de entrenamiento, los pasos de normalización dependen de los mini lotes 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 población de manera que la salida podría depender de la entrada de manera determinista. La población media,, y varianza, , se calculan como:
, y .
Por tanto, las estadísticas de población son una representación completa de los mini lotes.
La transformada BN en el paso de inferencia se convierte así
,
dónde pasa a capas futuras en lugar de . Dado que los parámetros están fijos en esta transformación, el procedimiento de normalización por lotes esencialmente aplica una transformación lineal a la activación.
Comprensión de la normalización por lotes
Aunque la normalización por lotes se ha convertido en un método popular debido a sus fortalezas, el mecanismo de trabajo del método aún no se comprende bien. Los académicos muestran que el cambio de covariables interno no se reduce significativamente por la normalización de lotes, a pesar de la creencia común. [3] Algunos académicos atribuyen el buen desempeño a suavizar la función objetivo, mientras que otros proponen que el desacoplamiento longitud-dirección es la razón detrás de su efectividad. [3] [5]
Normalización de lotes y cambio de covariables interno
La correlación entre la normalización por lotes y el cambio de covariables interno es ampliamente aceptada, pero no fue respaldada por resultados experimentales. Los académicos han demostrado recientemente con experimentos que la relación hipotética no es precisa. Más bien, la precisión mejorada con la capa de normalización por lotes parece ser independiente del cambio de covariables interno. [3]
Adición de desplazamiento covariable a capas de normalización por lotes
Para comprender si existe alguna correlación entre la reducción del cambio de covariables y la mejora del rendimiento, se realiza un experimento para dilucidar la relación. Específicamente, se entrenan y comparan tres modelos: una red VGG estándar sin normalización por lotes, una red VGG con capas de normalización por lotes y una red VGG con capas de normalización por lotes y ruido aleatorio. En el tercer modelo, el ruido tiene una media distinta de cero y una varianza no unitaria, y se genera al azar para cada capa. Luego se agrega después de las capas de normalización por lotes para introducir deliberadamente el cambio de covariables en la activación.
Con estos tres modelos se realizan dos observaciones. Primero, el tercer modelo ruidoso tiene distribuciones menos estables en todas las capas en comparación con los otros dos modelos debido a la capa de ruido adicional. A pesar del ruido, la precisión de entrenamiento del segundo y tercer modelo es similar, y ambos son más altos que la del primer modelo. Si bien los cambios de covariables internos son mayores en todos los niveles, el modelo con normalización por lotes aún funciona mejor que el modelo VGG estándar. Por tanto, se podría concluir que el cambio de covariables interno podría no ser el factor que contribuya al rendimiento de la normalización de lotes.
Medición del desplazamiento de covariables interno con y sin capas de normalización por lotes
Dado que se plantea la hipótesis de que las capas de normalización por lotes podrían reducir el desplazamiento de covariables interno, se configura un experimento para medir cuantitativamente cuánto se reduce el desplazamiento de covariables. Primero, la noción de cambio de covariables interno debe definirse matemáticamente. Específicamente, para cuantificar el ajuste que hacen los parámetros de una capa en respuesta a actualizaciones en capas anteriores, se mide la correlación entre los gradientes de la pérdida antes y después de que se actualizan todas las capas anteriores, ya que los gradientes podrían capturar los cambios del entrenamiento de primer orden. método. Si el desplazamiento introducido por los cambios en las capas anteriores es pequeño, entonces la correlación entre los gradientes sería cercana a 1.
La correlación entre los gradientes se calcula para cuatro modelos: una red VGG estándar, una red VGG con capas de normalización por lotes, una red lineal profunda de 25 capas (DLN) entrenada con descenso de gradiente de lote completo y una red DLN con capas de normalización por lotes . Curiosamente, se muestra que los modelos VGG y DLN estándar tienen correlaciones de gradientes más altas en comparación con sus contrapartes, lo que indica que las capas de normalización de lotes adicionales no reducen el cambio de covariables interno.
Suavidad del panorama de optimización
Algunos estudiosos propusieron y demostraron que la normalización de lotes podría introducir mayor Lipschitzness en la pérdida y el gradiente durante el entrenamiento, y que esta suavidad mejorada podría explicar su gran rendimiento. Estos efectos se pueden observar comparando redes VGG entrenadas con y sin normalización por lotes, y también es consistente entre otras redes, como las redes profundas lineales. En concreto, se observa que la pérdida cambia menos, y que los gradientes de pérdida tienen menores magnitudes y son más Lipschitz. Además, los modelos normalizados por lotes se comparan con modelos con diferentes técnicas de normalización. Específicamente, estos métodos de normalización funcionan fijando primero el momento de activación de primer orden y luego normalizándolo por el promedio de lanorma. Por lo tanto, estos métodos tienen un cambio de distribución mayor, pero un paisaje más suave. Evidentemente, estos modelos tienen un rendimiento similar al de los modelos normalizados por lotes. Por tanto, esta relación bidireccional podría indicar que la suavidad del panorama de optimización podría ser un factor que contribuya al rendimiento superior de la normalización de lotes.
Además de analizar esta correlación experimentalmente, también se proporciona un análisis teórico para verificar que la normalización de lotes podría resultar en un paisaje más suave. Considere 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. Denote las funciones de pérdida como y , respectivamente. Deje que la entrada a ambas redes sea, y la salida sea , para cual , dónde son los pesos de las capas. Para la segunda red,además, pasa por una capa de normalización por lotes. Denote la activación normalizada como, que tiene media cero y varianza unitaria. Que la activación transformada seay supongamos y son constantes. Finalmente, denote la desviación estándar sobre un mini-lote 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 el Lipschitzness de la pérdida, esta relación indica que una red normalizada por lotes podría lograr un Lipschitzness mayor comparativamente. Observe que el límite se vuelve más estrecho cuando el degradado se correlaciona con la activación , que es un fenómeno común. La escala de también es significativa, ya que la varianza suele ser grande.
En segundo lugar, la forma cuadrática de la pérdida hessiana con respecto a la activación en la dirección del gradiente se puede acotar como
.
La escala de indica que el hessiano de pérdida es resistente a la varianza del mini-lote, mientras que el segundo término en el 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 siestá en la dirección hacia el mínimo de la pérdida. Por lo tanto, se podría concluir de esta desigualdad que el gradiente generalmente se vuelve más predictivo con la capa de normalización por lotes.
Luego sigue traducir los límites relacionados con la pérdida con respecto a la activación normalizada a un límite en la pérdida con respecto a los pesos de la red:
, dónde y .
Además del panorama más suave, se muestra además que la normalización por lotes podría resultar en una mejor inicialización con la siguiente desigualdad:
, dónde y son los pesos óptimos locales para las dos redes, respectivamente.
Algunos estudiosos argumentan que el análisis anterior no puede capturar completamente el desempeño de la normalización por lotes, porque la prueba solo concierne al valor propio más grande, o equivalentemente, una dirección en el paisaje en todos los puntos. Se sugiere que se debe tener en cuenta el espectro propio completo para realizar un análisis concluyente. [5]
Rugosidad contradictoria del panorama de optimización en la inicialización
Aunque batchnorm se introdujo originalmente para aliviar los problemas de explosión o desaparición de gradientes , una red de batchnorm profunda sufre de hecho una explosión de gradiente en el momento de la inicialización, sin importar lo que utilice para la no linealidad. Por lo tanto, el panorama de la optimización está muy lejos de ser sencillo para una red por lotes profunda inicializada aleatoriamente. Más precisamente, si la red tiene capas, entonces el gradiente de los pesos de la primera capa tiene la norma para algunos dependiendo solo de la no linealidad. Para cualquier no linealidad fija,disminuye a medida que aumenta el tamaño del lote. Por ejemplo, para ReLU, disminuye a ya que el tamaño del lote tiende a infinito. En la práctica, esto significa que las redes profundas por lotes son intransitables. Esto solo se alivia saltando conexiones a la manera de redes residuales. [4]
Esta explosión de gradiente en la superficie contradice la propiedad de suavidad explicada en la sección anterior, pero de hecho son consistentes. La sección anterior estudia el efecto de insertar un solo batchnorm en una red, mientras que la explosión del gradiente depende de apilar los batchnorms típicos de las redes neuronales profundas modernas.
Desacoplamiento longitud-dirección
Se argumenta que el éxito de la normalización de lotes podría atribuirse, al menos en parte, al efecto de desacoplamiento de la dirección longitudinal que proporciona el método.
Al interpretar el procedimiento de normalización por lotes como la reparametrización del espacio de peso, se pudo demostrar que la longitud y la dirección de los pesos se separan después del procedimiento y, por lo tanto, se pueden entrenar por separado. Para una unidad de red neuronal particular con entrada y vector de peso , denotar su salida como , dónde es la función de activación, y denota . Asumir que, y que el espectro de la matriz está delimitado como , , tal que es simétrico positivo definido. Agregar la normalización de lotes a esta unidad da como resultado
, por definición.
El término de varianza se puede simplificar de modo que . Asumir que tiene media cero y puede omitirse, entonces se sigue que
, dónde es la norma inducida de , .
Por tanto, se podría concluir que , dónde , y y explica su longitud y dirección por separado. Esta propiedad podría usarse para probar la convergencia más rápida de los problemas con la normalización por lotes.
Convergencia lineal del problema de mínimos cuadrados con normalización por lotes
Con la interpretación de la reparametrización, se pudo demostrar que la aplicación de la normalización por lotes al problema de mínimos cuadrados ordinarios logra una tasa de convergencia lineal en el descenso del gradiente, que es más rápida que el descenso del gradiente regular con solo convergencia sublineal.
Denote el objetivo de minimizar un problema de mínimos cuadrados ordinarios como
, dónde .
Desde , el objetivo se convierte así
, donde se excluye 0 para evitar 0 en el denominador.
Dado que el objetivo es convexo con respecto a , su valor óptimo podría calcularse estableciendo la derivada parcial del objetivo contra a 0. El objetivo podría simplificarse aún más para ser
.
Tenga en cuenta que este objetivo es una forma del cociente de Rayleigh generalizado
, dónde es una matriz simétrica y es una matriz definida positiva simétrica .
Está comprobado que la tasa de convergencia de descenso de gradiente del cociente de Rayleigh generalizado es
, dónde es el valor propio más grande de, es el segundo valor propio más grande de , y es el valor propio más pequeño de . [6]
En nuestro caso, es una matriz de rango uno, y el resultado de convergencia se puede simplificar en consecuencia. Específicamente, considere los pasos de descenso de gradiente del formulario con tamaño de paso , y a partir de , luego
.
Convergencia lineal del problema de semiespacio de aprendizaje con normalización por lotes
El problema de aprender medios espacios se refiere al entrenamiento del Perceptron , que es la forma más simple de red neuronal. El problema de optimización en este caso es
, dónde y es una función de pérdida arbitraria.
Suponer que es infinitamente diferenciable y tiene una derivada acotada. Suponga que la función objetivo es - suave , y que una solución existe y está limitado de tal manera que . También asumees una variable aleatoria normal multivariante . Con el supuesto de Gauss, 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 de podría representarse como
, dónde , , y es el -ésima derivada de .
Al establecer el gradiente en 0, se deduce que los puntos críticos acotados se puede expresar como , dónde depende de y . Combinando esta propiedad global con el desacoplamiento longitud-dirección, se pudo demostrar que este problema de optimización converge linealmente.
Primero, una variación del descenso de gradiente con normalización por lotes, descenso de gradiente en parametrización normalizada (GDNP), está diseñada para la función objetivo, de modo que la dirección y la longitud de los pesos se actualizan por separado. Denote el criterio de detención de GDNP como
.
Deje que el tamaño del paso sea
.
Para cada paso, si , luego actualice la dirección como
.
Luego actualice la longitud de acuerdo con
, dónde es el algoritmo de bisección clásico , y es el total de iteraciones ejecutadas en el paso de bisección.
Denote el número total de iteraciones como , el resultado final de GDNP es
.
Por tanto, 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 de contra el componente de longitud converge a cero a una tasa lineal, de modo que
, dónde y son los dos puntos de partida del algoritmo de bisección a la izquierda y a la derecha, correspondientemente.
Además, para cada iteración, la norma del gradiente de con respecto a converge linealmente, de modo que
.
Combinando estas dos desigualdades, podría obtenerse un límite para el gradiente con respecto a :
, de modo que se garantiza que el algoritmo convergerá linealmente.
Aunque la prueba se basa en el supuesto de entrada gaussiana, también se muestra en experimentos que GDNP podría acelerar la optimización sin esta restricción.
Convergencia lineal de redes neuronales con normalización por lotes
Considere un perceptrón multicapa (MLP) con una capa oculta y unidades ocultas con mapeo de entrada a una salida escalar descrita como
, dónde y son los pesos de entrada y salida de la unidad correspondientemente, y es la función de activación y se supone que es una función tanh .
Los pesos de entrada y salida podrían optimizarse con
, dónde es una función de pérdida, , y .
Considere fijo y optimizando solo , se puede demostrar que los puntos críticos de de 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 modo que
, dónde es un escalar, .
Este resultado podría probarse estableciendo el gradiente de a 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 la y . Con la misma elección de criterio de parada y tamaño de paso, se sigue que
.
Dado que los parámetros de cada unidad oculta convergen linealmente, todo el problema de optimización tiene una tasa de convergencia lineal.
[5]
Referencias
- ^ "Glosario de aprendizaje profundo: normalización por lotes" . medium.com . 27 de junio de 2017 . Consultado el 24 de abril de 2018 .
- ^ a b c d Ioffe, Sergey; Szegedy, Christian (2015). "Normalización por lotes: acelerar el entrenamiento de la red profunda reduciendo el cambio de covariables interno". arXiv : 1502.03167 [ cs.LG ].
- ^ a b c d e 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 ].
- ^ a b 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 ].
- ^ a b c d 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 de la dirección de longitud en la optimización no convexa". arXiv : 1805.10694 [ stat.ML ].
- ^ Knyazev, Neymeyr, AV, K. (2003). "Una teoría geométrica para la iteración inversa precondicionada III: una estimación de convergencia corta y aguda para problemas de valores propios generalizados" . Álgebra lineal y sus aplicaciones . 358 (1-3): 95-114. doi : 10.1016 / S0024-3795 (01) 00461-X .
- Ioffe, Sergey; Szegedy, Christian (2015). "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift", ICML'15: Actas de la 32ª Conferencia Internacional sobre la Conferencia Internacional sobre Aprendizaje Automático - Volumen 37, julio de 2015 Páginas 448–456