stringtranslate.com

Normalización por lotes

La normalización por lotes (también conocida como norma por lotes ) es un método utilizado para acelerar y hacer más estable el entrenamiento de redes neuronales artificiales mediante la normalización de las entradas de las capas mediante el re-centrado y re-escalado. Fue propuesta por Sergey Ioffe y Christian Szegedy en 2015. [1]

Si bien el efecto de la normalización por lotes es evidente, las razones detrás de su efectividad siguen siendo objeto de debate. Se creía que puede mitigar el problema del desplazamiento interno de las covariables , 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. [1] Recientemente, algunos académicos han argumentado que la normalización por lotes no reduce el desplazamiento interno de las covariables, sino que suaviza la función objetivo , lo que a su vez mejora el rendimiento. [2] Sin embargo, en la inicialización, la normalización por lotes de hecho induce una explosión de gradiente severa en redes profundas, que solo se alivia con conexiones de salto en redes residuales. [3] Otros sostienen que la normalización por lotes logra el desacoplamiento de la dirección de la longitud y, por lo tanto, acelera las redes neuronales . [4]

Cambio de covariable interna

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 covariable interna . Aunque parece faltar una definición clara y precisa, el fenómeno observado en los experimentos es el cambio en las medias y varianzas de las entradas a las capas internas durante el entrenamiento.

La normalización por lotes se propuso inicialmente para mitigar el cambio de covariables internas. [1] 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 dará como resultado 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 desplazamiento de covariables internas, se cree que la normalización por lotes introduce muchos otros beneficios. Con esta operación adicional, la red puede utilizar una tasa de aprendizaje más alta sin gradientes que se desvanecen o explotan. Además, la normalización por lotes parece tener un efecto regularizador de modo que la red mejora sus propiedades de generalización y, por lo tanto, no es necesario utilizar la eliminación para mitigar el sobreajuste . También se ha observado que la red se vuelve más robusta a diferentes esquemas de inicialización y tasas de aprendizaje mientras se utiliza la normalización por lotes.

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. Lo ideal sería que la normalización se llevara a cabo sobre todo el conjunto de entrenamiento, pero para utilizar este paso junto con métodos de optimización estocástica , no resulta práctico utilizar la información global. Por lo tanto, la normalización se limita a cada minilote del proceso de entrenamiento.

Utilicemos B para denotar un minilote de tamaño m de todo el conjunto de entrenamiento. La media y la varianza empíricas de B podrían denotarse así:

y .

Para una capa de la red con una entrada de dimensión d , cada dimensión de su entrada se normaliza (es decir, se vuelve a centrar y escalar) por separado,

, donde y ; y son la media y la desviación estándar por dimensión, respectivamente.

se añade en el denominador para lograr estabilidad numérica y es una constante arbitrariamente pequeña. La activación normalizada resultante tiene 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 se aprenden posteriormente en el proceso de optimización.

Formalmente, la operación que implementa la normalización por lotes es una transformación denominada transformación de normalización por lotes. La salida de la transformación BN se pasa luego 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 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 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 población de modo que la salida pueda depender de la entrada de manera determinista. La media de población, , y la varianza, , se calculan como:

, y .

De este modo, 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

,

donde se pasa a las capas futuras en lugar de . Dado que los parámetros son fijos en esta transformación, el procedimiento de normalización por lotes básicamente aplica una transformación lineal a la activación.

Teoría

Aunque la normalización por lotes se ha vuelto popular debido a su sólido desempeño empírico, el mecanismo de funcionamiento del método aún no se entiende bien. La explicación dada en el artículo original [1] fue que la normalización por lotes funciona reduciendo el desplazamiento interno de las covariables, pero esto ha sido cuestionado por trabajos más recientes. Un experimento [2] entrenó una red VGG-16 [5] bajo 3 regímenes de entrenamiento diferentes: estándar (sin norma por lotes), norma por lotes y norma por lotes con ruido agregado a cada capa durante el entrenamiento. En el tercer modelo, el ruido tiene una media distinta de cero y una varianza no unitaria, es decir, introduce explícitamente el desplazamiento de las covariables. A pesar de esto, mostró una precisión similar al segundo modelo, y ambos funcionaron mejor que el primero, lo que sugiere que el desplazamiento de las covariables no es la razón por la que la norma por lotes mejora el desempeño.

El uso de la normalización por lotes hace que los elementos de un lote ya no sean iid , lo que puede generar dificultades en el entrenamiento debido a una estimación de gradiente de menor calidad. [6]

Suavidad

Una explicación alternativa, [2] es que la mejora con la normalización por lotes se debe en cambio a que produce un espacio de parámetros más suave y gradientes más suaves, como lo formaliza una constante de Lipschitz más pequeña .

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. Sea la entrada a ambas redes , y la salida sea , para la cual , donde 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. Sea la activación transformada , y suponga que y son constantes. Finalmente, denote la desviación estándar sobre un minilote como .

En primer lugar, se puede demostrar que la magnitud del gradiente de una red normalizada por lotes, , está acotada, y el límite se expresa como

.

Dado que la magnitud del gradiente representa la Lipschitzness de la pérdida, esta relación indica que una red normalizada por lotes podría lograr una Lipschitzness mayor comparativamente. Observe que el límite se vuelve más estrecho cuando el gradiente se correlaciona con la activación , lo cual es un fenómeno común. El escalamiento de también es significativo, ya que la varianza suele ser grande.

En segundo lugar, la forma cuadrática de la hessiana de pérdida con respecto a la activación en la dirección del gradiente se puede acotar como

.

La escala de indica que la hessiana de pérdida es resistente a la varianza del minilote, mientras que el segundo término del lado derecho sugiere que se suaviza cuando la hessiana y el producto interno no son negativos. Si la pérdida es localmente convexa , entonces la hessiana es semidefinida positiva , mientras que el producto interno es positivo si está en la dirección hacia el mínimo de la pérdida. Por lo tanto, se podría concluir a partir de esta desigualdad que el gradiente generalmente se vuelve más predictivo con la capa de normalización del lote.

A continuación, hay que traducir los límites relacionados con la pérdida con respecto a la activación normalizada a un límite de la pérdida con respecto a los pesos de la red:

, donde y .

Además de un paisaje más suave, se muestra además que la normalización por lotes podría dar como resultado una mejor inicialización con la siguiente desigualdad:

, donde y son los pesos óptimos locales para las dos redes, respectivamente.

Algunos investigadores sostienen que el análisis anterior no puede capturar completamente el desempeño de la normalización por lotes, porque la prueba solo se refiere al valor propio más grande o, equivalentemente, a 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. [4]

[2]

Medida

Dado que se plantea la hipótesis de que las capas de normalización por lotes podrían reducir el desplazamiento interno de las covariables, se establece un experimento [ cita requerida ] para medir cuantitativamente cuánto se reduce el desplazamiento interno de las covariables. Primero, la noción de desplazamiento interno de las covariables debe definirse matemáticamente. Específicamente, para cuantificar el ajuste que realizan los parámetros de una capa en respuesta a las actualizaciones en capas anteriores, se mide la correlación entre los gradientes de la pérdida antes y después de que se actualicen todas las capas anteriores, ya que los gradientes podrían capturar los desplazamientos del método de entrenamiento de primer orden. 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, [5] 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 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 por lotes adicionales no reducen el desplazamiento de covariables internas.

Gradientes que desaparecen/explotan

Aunque el batchnorm se introdujo originalmente para aliviar los problemas de desaparición o explosión de gradiente , una red batchnorm profunda de hecho sufre de explosión de gradiente en el momento de la inicialización, sin importar lo que use para la no linealidad. Por lo tanto, el panorama de optimización está muy lejos de ser uniforme para una red batchnorm profunda inicializada aleatoriamente. Más precisamente, si la red tiene capas, entonces el gradiente de los pesos de la primera capa tiene 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 medida que el tamaño del lote tiende a infinito. En la práctica, esto significa que las redes batchnorm profundas son imposibles de entrenar. Esto solo se alivia con conexiones de salto al estilo de las redes residuales. [3]

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 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 para el é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 norma de lote 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 entrada y vector de pesos , denote su salida como , donde es la función de activación, y denote . Suponga que , y que el espectro de la matriz está acotado como , , de modo que es simétrica positiva definida. Agregar la normalización de lote a esta unidad da como resultado

, por definición.

El término de varianza se puede simplificar de tal manera que . Supongamos que tiene media cero y se puede omitir, entonces se deduce que

, donde es la norma inducida de , .

Por lo tanto, se podría concluir que , donde , y y representan su longitud y dirección por separado. Esta propiedad podría entonces usarse para demostrar la convergencia más rápida de los problemas con la normalización por lotes.

Convergencia lineal

Problema de mínimos cuadrados

Con la interpretación de la reparametrización, se podría entonces 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 de gradiente, que es más rápida que el descenso de gradiente regular con solo convergencia sublineal.

Denotemos el objetivo de minimizar un problema de mínimos cuadrados ordinarios como

, donde y .

Puesto que , el objetivo se convierte así en

, 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 fijando la derivada parcial del objetivo contra en 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.

, donde es una matriz simétrica y es una matriz definida positiva simétrica.

Se demuestra que la tasa de convergencia del descenso del gradiente del cociente de Rayleigh generalizado es

, donde 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 . [7]

En nuestro caso, es una matriz de rango uno y el resultado de convergencia se puede simplificar en consecuencia. Específicamente, considere pasos de descenso de gradiente de la forma con tamaño de paso , y comenzando desde , entonces

.

Problema de aprendizaje del medio espacio

El problema de aprendizaje de semiespacios 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

, donde y es una función de pérdida arbitraria.

Supongamos que es infinitamente diferenciable y tiene una derivada acotada. Supongamos que la función objetivo es - suave y que existe una solución y está acotada de modo que . Supongamos también que es una variable aleatoria normal multivariante . Con el supuesto gaussiano, 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

, donde , , y es la derivada -ésima de .

Al establecer el gradiente en 0, se deduce que los puntos críticos acotados se pueden expresar como , donde depende de y . Combinando esta propiedad global con el desacoplamiento de la dirección de la longitud, se puede 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 detención de GDNP como

.

Deje que el tamaño del paso sea

.

Para cada paso, si , entonces actualice la dirección como

.

Luego actualice la longitud de acuerdo a

, donde es el algoritmo de bisección clásico , y es el total de iteraciones ejecutadas en el paso de bisección.

Denotemos el número total de iteraciones como , entonces el resultado final del PIBN es

.

De esta forma, el algoritmo GDNP modifica ligeramente el paso de normalización por lotes para facilitar el análisis matemático.

Se puede demostrar que en el PIBN, la derivada parcial de contra el componente de longitud converge a cero a una tasa lineal, de modo que

, donde y son los dos puntos de inicio del algoritmo de bisección a la izquierda y a la derecha, respectivamente.

Además, para cada iteración, la norma del gradiente de con respecto a converge linealmente, de modo que

.

Combinando estas dos desigualdades, se podría obtener 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 una entrada gaussiana, también se muestra en experimentos que GDNP podría acelerar la optimización sin esta restricción.

Redes neuronales

Considere un perceptrón multicapa (MLP) con una capa oculta y unidades ocultas con mapeo desde la entrada a una salida escalar descrita como

, donde 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 entonces optimizarse con

, donde es una función de pérdida, y .

Si consideramos solo los valores fijos y optimizados , se puede demostrar que los puntos críticos de una unidad oculta particular , se alinean todos a lo largo de una línea dependiendo de la información entrante en la capa oculta, de modo que

, donde es un escalar, .

Este resultado se puede demostrar fijando el gradiente de en 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 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. [4]

Referencias

  1. ^ abcd Ioffe, Sergey; Szegedy, Christian (2015). "Normalización por lotes: aceleración del entrenamiento de redes profundas mediante la reducción del desplazamiento interno de covariables". arXiv : 1502.03167 [cs.LG].
  2. ^ abcd 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].
  3. ^ ab Yang, Greg; Pennington, Jeffrey; Rao, Vinay; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2019). "Una teoría del campo medio de la normalización por lotes". arXiv : 1902.08129 [cs.NE].
  4. ^ abc 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].
  5. ^ ab Simonyan, Karen; Andrew, Zisserman (2014). "Redes convolucionales muy profundas para reconocimiento de imágenes a gran escala". arXiv : 1409.1556 [cs.CV].
  6. ^ Ba, J., Kiros, JR y Hinton, GE (2016). Normalización de capas. ArXiv, abs/1607.06450.
  7. ^ Knyazev, Neymeyr (2003). "Una teoría geométrica para la iteración inversa preacondicionada III: una estimación de convergencia corta y precisa para problemas de valores propios generalizados". Álgebra lineal y sus aplicaciones . 358 (1–3): 95–114. doi : 10.1016/S0024-3795(01)00461-X .

Lectura adicional