¿Por qué la regularización no resuelve el hambre de redes neuronales profundas por los datos?

37

Un problema que he visto con frecuencia planteado en el contexto de las redes neuronales en general, y las redes neuronales profundas en particular, es que están "hambrientos de datos", es decir, no funcionan bien a menos que tengamos un gran conjunto de datos con el que entrenar a la red.

Tengo entendido que esto se debe al hecho de que las NNets, especialmente las Deep NNets, tienen una gran cantidad de grados de libertad. Entonces, como modelo, una NNet tiene una gran cantidad de parámetros, y si la cantidad de parámetros del modelo es grande en relación con la cantidad de puntos de datos de entrenamiento, existe una mayor tendencia a un ajuste excesivo.

Pero, ¿por qué este problema no se resuelve con la regularización? Hasta donde yo sé, NNets puede usar la regularización L1 y L2 y también tiene sus propios métodos de regularización, como el abandono, que puede reducir el número de parámetros en la red.

¿Podemos elegir nuestros métodos de regularización para que impongan la parsimonia y limiten el tamaño de la red?


Para aclarar mi pensamiento: Digamos que estamos usando una gran red NNet profunda para tratar de modelar nuestros datos, pero el conjunto de datos es pequeño y en realidad podría ser modelado por un modelo lineal. Entonces, ¿por qué los pesos de la red no convergen de tal manera que una neurona simule la regresión lineal y todas las demás converjan a ceros? ¿Por qué la regularización no ayuda con esto?

Reinstalar a Mónica
fuente
77
"Entonces, ¿por qué los pesos de la red no convergen de tal manera que una neurona simule la regresión lineal y todas las demás converjan a ceros? ¿Por qué la regularización no ayuda con esto?" De hecho, creo que esto sería un trabajo realmente interesante: construir esa red y problema y luego evaluar lo que sucede.
Sycorax dice Reinstate Monica
Bueno, tiene el problema de disminuir los gradientes más adelante en las capas más profundas de las redes, incluso cuando se regulariza. Esta es la razón por la cual las personas usan la normalización por lotes para hacer efectivamente lo que usted describe. Otros enfoques ya explican esto (como LSTM) y hay cosas que pueden ayudar a lidiar con el hambre como la deserción.
Benjamin Gruenbaum
Discusión de Reddit: reddit.com/r/MachineLearning/comments/8izegs/…
Benjamin Crouzier
Como @cliffab responde a continuación, la regularización no es lo que necesita para mejorar el rendimiento. En pocas palabras, un montón de imágenes de gatos rotados no es lo mismo que una sola imagen de gato con regularización.
seanv507
1
No estoy sorprendido en absoluto. Con el tipo de series de tiempo con las que trato en el trabajo, todavía no he encontrado un método que supere a los viejos métodos de series de tiempo de skool, pero sigo intentándolo :)
Aksakal

Respuestas:

43

La manera simple de explicarlo es que la regularización ayuda a no ajustarse al ruido, no hace mucho en términos de determinar la forma de la señal. Si piensa en el aprendizaje profundo como un aproximador de funciones glorioso gigante, entonces se da cuenta de que necesita muchos datos para definir la forma de la señal compleja.

Si no hubiera ruido, la creciente complejidad de NN produciría una mejor aproximación. No habría ninguna penalización en el tamaño del NN, más grande hubiera sido mejor en todos los casos. Considere una aproximación de Taylor, más términos siempre son mejores para la función no polinómica (ignorando los problemas de precisión numérica).

Esto se rompe en presencia de un ruido, porque comienza a adaptarse al ruido. Entonces, aquí viene la regularización para ayudar: puede reducir la adaptación al ruido, lo que nos permite construir NN más grandes para adaptarse a problemas no lineales.

La siguiente discusión no es esencial para mi respuesta, pero agregué en parte para responder algunos comentarios y motivar el cuerpo principal de la respuesta anterior. Básicamente, el resto de mi respuesta es como fuegos franceses que vienen con una comida de hamburguesa, puedes saltartela.

(Ir) Caso relevante: regresión polinómica

Veamos un ejemplo de juguete de una regresión polinómica. También es un buen aproximador para muchas funciones. Veremos la función en la región x ( - 3 , 3 ) . Como puede ver en su serie Taylor a continuación, la expansión de séptimo orden ya es bastante buena, por lo que podemos esperar que un polinomio de orden 7+ también sea muy bueno:pecado(X)X(-3,3)

ingrese la descripción de la imagen aquí

A continuación, vamos a ajustar los polinomios con un orden progresivamente más alto a un pequeño conjunto de datos muy ruidoso con 7 observaciones:

ingrese la descripción de la imagen aquí

Podemos observar lo que nos han dicho sobre polinomios muchas personas que lo saben: son inestables y comienzan a oscilar salvajemente con el aumento del orden de los polinomios.

Sin embargo, el problema no son los polinomios en sí. El problema es el ruido. Cuando ajustamos polinomios a datos ruidosos, parte del ajuste es al ruido, no a la señal. Aquí están los mismos polinomios exactos que se ajustan al mismo conjunto de datos pero con el ruido eliminado por completo. ¡Los ajustes son geniales!

pecado(X)

ingrese la descripción de la imagen aquí

Observe también que los polinomios de orden superior no se ajustan tan bien como el orden 6, porque no hay suficientes observaciones para definirlos. Entonces, veamos qué sucede con 100 observaciones. En el cuadro a continuación, verá cómo un conjunto de datos más grande nos permitió ajustar polinomios de orden superior, logrando así un mejor ajuste.

ingrese la descripción de la imagen aquí

Genial, pero el problema es que generalmente tratamos con datos ruidosos. Mire lo que sucede si ajusta lo mismo a 100 observaciones de datos muy ruidosos, vea la tabla a continuación. Volvemos al punto de partida: los polinomios de orden superior producen horribles ajustes oscilantes. Por lo tanto, aumentar el conjunto de datos no ayudó mucho a aumentar la complejidad del modelo para explicar mejor los datos. Esto es, nuevamente, porque el modelo complejo se adapta mejor no solo a la forma de la señal, sino también a la forma del ruido.

ingrese la descripción de la imagen aquí

Finalmente, intentemos una regularización poco convincente sobre este problema. La tabla a continuación muestra la regularización (con diferentes penalizaciones) aplicada a la regresión polinómica de orden 9. Compare esto con el ajuste de polinomio de orden (potencia) 9 anterior: a un nivel apropiado de regularización es posible ajustar polinomios de orden superior a datos ruidosos.

ingrese la descripción de la imagen aquí

Por si acaso no estaba claro: no estoy sugiriendo utilizar la regresión polinómica de esta manera. Los polinomios son buenos para los ajustes locales, por lo que un polinomio por partes puede ser una buena opción. Encajar todo el dominio con ellos es a menudo una mala idea, ya que son sensibles al ruido, como debería ser evidente en las parcelas anteriores. Si el ruido es numérico o de alguna otra fuente no es tan importante en este contexto. el ruido es ruido, y los polinomios reaccionarán apasionadamente.

Aksakal
fuente
8
Y cuando su conjunto de datos es pequeño, es muy difícil distinguir entre ruido y no ruido.
Alex R.
3
en realidad, la regularización permite tener un NN más grande sin sobreajuste
Aksakal
66
@Alex: ¿por qué usaría un modelo más simple? ¡Existe una variabilidad inexplicable que aún puede ajustarse aumentando la complejidad! Y ... el objetivo es reducir la variabilidad inexplicable tanto como sea posible ... si no fuera así, el NN pasaría por defecto al modelo más simple posible, a saber, "0". Pero, como Aksakal ha escrito, a medida que el NN reduce esa variabilidad inexplicable en los datos cada vez más, también se ajusta a una variabilidad inexplicable , es decir, un sobreajuste, de ahí la necesidad de regularización.
jbowman
2
Otra cosa: suponga que el proceso subyacente que está modelando es ruidoso, como el comportamiento de voto humano o algún resultado de salud que es fundamentalmente difícil de predecir. Supongamos también que sus datos están plagados de todo tipo de errores de medición e incluso algunos sesgos de selección. En un entorno de ruido a señal tan alto, no solo preferiría un modelo más simple con regularización. Incluso podría preferir menos datos para no terminar midiendo mucho ruido a pesar de todo el esfuerzo de regularización que hice.
Brash Equilibrium
2
@BrashEquilibrium: un excelente punto. Estamos haciendo algunos pronósticos a gran escala usando máquinas de aumento de gradiente con cerca de 150 características, muchas de las cuales tienen altos niveles de ruido (pero aún mejoran la calidad del pronóstico), y descubrimos que le da al GBM el 20% de los datos para entrenar en resultados en mejores pronósticos que darle 50% o más, incluso con todos los demás mecanismos de regularización aplicados.
jbowman
7

En este momento, no se comprende bien cuándo y por qué ciertos métodos de regularización tienen éxito y fallan. De hecho, no se entiende en absoluto por qué el aprendizaje profundo funciona en primer lugar.

Teniendo en cuenta el hecho de que una red neuronal suficientemente profunda puede memorizar perfectamente la mayoría de los datos de entrenamiento con buen comportamiento, existen soluciones mucho más equivocadas que las adecuadas para cualquier red profunda en particular. La regularización, en términos generales, es un intento de limitar la expresividad de los modelos para estas soluciones "incorrectas", donde "incorrecto" se define por la heurística que consideramos importante para un dominio particular . Pero a menudo es difícil definir la heurística de manera que no se pierda la expresividad "correcta" con ella. Un gran ejemplo de esto son las penalizaciones L2.

Muy pocos métodos que se considerarían una forma de regularización son generalmente aplicables a todas las áreas de aplicación de LD. Los problemas de visión, PNL y predicción estructurada tienen su propio libro de cocina de técnicas de regularización que han demostrado ser efectivas experimentalmente para esos dominios particulares. Pero incluso dentro de esos dominios, estas técnicas solo son efectivas bajo ciertas circunstancias. Por ejemplo, la normalización por lotes en redes residuales profundas parece hacer que el abandono sea redundante, a pesar del hecho de que se ha demostrado que ambos mejoran independientemente la generalización.

En una nota separada, creo que el término regularización es tan amplio que hace que sea difícil entender algo al respecto. Teniendo en cuenta el hecho de que las convoluciones restringen el espacio de parámetros exponencialmente con respecto a los píxeles, podría considerar la red neuronal convolucional como una forma de regularización en la red neural de vainilla.

Austin Shin
fuente
No estoy seguro si estoy de acuerdo con su primer párrafo.
Ander Biguri
3
Es difícil hablar de ello en 500 caracteres, pero los principales investigadores del mundo afirman que el éxito de SGD no se entiende bien. Por ejemplo, tome Ilya S. de OpenAI: youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Austin Shin
Completamente de acuerdo, probablemente la razón por la cual es más fácil razonar con aproximaciones polinómicas en lugar de redes reales ...
P-Gn
3

Una clase de teoremas que muestran por qué este problema es fundamental son los teoremas de no almuerzo gratis . Para cada problema con muestras limitadas donde una cierta regularización ayuda, hay otro problema donde esa misma regularización empeorará las cosas. Como señala Austin, generalmente encontramos que la regularización L1 / L2 es útil para muchos problemas del mundo real, pero esto es solo una observación y, debido a los teoremas de la NFL, no puede haber garantías generales.

Greg Ver Steeg
fuente
3

Diría que a un nivel alto, el sesgo inductivo de los DNN (redes neuronales profundas) es poderoso pero un poco demasiado flojo o no lo suficientemente obstinado. Con eso quiero decir que los DNN capturan muchas estadísticas de superficie sobre lo que está sucediendo, pero no llegan a la estructura de alto nivel causal / compositiva más profunda. (Puede ver las convoluciones como una especificación de sesgo inductivo de un hombre pobre).

Además, se cree en la comunidad de aprendizaje automático que la mejor manera de generalizar (hacer buenas inferencias / predicciones con pocos datos) es encontrar el programa más corto que dio origen a los datos. Pero la inducción / síntesis del programa es difícil y no tenemos una buena manera de hacerlo de manera eficiente. Por lo tanto, confiamos en una aproximación cercana, que es la búsqueda de circuitos, y sabemos cómo hacerlo con la retropropagación. Aquí , Ilya Sutskever da una visión general de esa idea.


Para ilustrar la diferencia en el poder de generalización de los modelos representados como programas reales frente a modelos de aprendizaje profundo, mostraré el de este documento: la simulación como un motor de comprensión de la escena física .

ingrese la descripción de la imagen aquí

(A) El modelo IPE [motor de física intuitiva] toma entradas (p. Ej., Percepción, lenguaje, memoria, imágenes, etc.) que instancian una distribución sobre escenas (1), luego simula los efectos de la física en la distribución (2), y luego agrega los resultados para la salida a otras facultades sensoriomotoras y cognitivas (3)

ingrese la descripción de la imagen aquí

(B) Exp. 1 (¿Caerá?) Estímulos de torre. La torre con el borde rojo en realidad está delicadamente equilibrada, y las otras dos tienen la misma altura, pero la modelo y las personas consideran que la de borde azul es mucho menos probable que caiga.

(C) Modelo probabilístico de IPE (eje x) vs. promedios de juicio humano (eje y) en Exp. 1. Ver Fig. S3 para correlaciones para otros valores de σ y ϕ. Cada punto representa una torre (con SEM), y los tres círculos de colores corresponden a las tres torres en B.

(D) Verdad fundamental (no probabilística) vs. juicios humanos (Exp. 1). Debido a que no representa incertidumbre, no puede capturar los juicios de las personas para varios de nuestros estímulos, como la torre con borde rojo en B. (Tenga en cuenta que estos casos pueden ser raros en escenas naturales, donde las configuraciones tienden a ser más claramente estables o inestable y se espera que el IPE se correlacione mejor con la verdad básica que con nuestros estímulos).

Mi punto aquí es que el ajuste en C es realmente bueno, porque el modelo captura los sesgos correctos sobre cómo los humanos hacen juicios físicos. Esto es en gran parte porque modela la física real (recuerde que es un motor de física real) y puede lidiar con la incertidumbre.

Ahora la pregunta obvia es: ¿puedes hacer eso con el aprendizaje profundo? Esto es lo que Lerer et al hicieron en este trabajo: Aprendiendo la intuición física de las torres de bloques por ejemplo

Su modelo: ingrese la descripción de la imagen aquí

Su modelo en realidad es bastante bueno en la tarea en cuestión (prediciendo el número de bloques que caen, e incluso su dirección de caída)

ingrese la descripción de la imagen aquí

Pero sufre dos inconvenientes principales:

  • Necesita una gran cantidad de datos para entrenar adecuadamente
  • En general, se generaliza solo de manera superficial: puede transferir a imágenes de aspecto más realista, agregar o eliminar 1 o 2 bloques. Pero cualquier cosa más allá de eso, y el rendimiento disminuye catastróficamente: agregue 3 o 4 bloques, cambie la tarea de predicción ...

Hubo un estudio comparativo realizado por el laboratorio de Tenenbaum sobre estos dos enfoques: una evaluación comparativa de simulación probabilística aproximada y redes neuronales profundas como explicaciones de la comprensión de la escena física humana .

Citando la sección de discusión:

El rendimiento de las CNN disminuye a medida que hay menos datos de entrenamiento. Aunque AlexNet (no entrenado previamente) se desempeña mejor con 200,000 imágenes de entrenamiento, también sufre más por la falta de datos, mientras que AlexNet entrenado puede aprender mejor de una pequeña cantidad de imágenes de entrenamiento. Para nuestra tarea, ambos modelos requieren alrededor de 1,000 imágenes para que su rendimiento sea comparable al modelo IPE y a los humanos.

Las CNN también tienen una capacidad de generalización limitada incluso en pequeñas variaciones de escena, como cambiar el número de bloques. Por el contrario, los modelos IPE naturalmente generalizan y capturan las formas en que la precisión del juicio humano disminuye con el número de bloques en una pila.

Tomados en conjunto, estos resultados apuntan a algo fundamental sobre la cognición humana que las redes neuronales (o al menos CNN) no están capturando actualmente: la existencia de un modelo mental de los procesos causales del mundo. Los modelos mentales causales se pueden simular para predecir lo que sucederá en situaciones cualitativamente novedosas, y no requieren datos de entrenamiento vastos y diversos para generalizar ampliamente, pero están inherentemente sujetos a ciertos tipos de errores (por ejemplo, propagación de incertidumbre debido al estado y ruido dinámico) solo en virtud de operar por simulación

Volviendo al punto que quiero destacar: si bien las redes neuronales son modelos potentes, parecen carecer de la capacidad de representar estructuras causales, compositivas y complejas. Y lo compensan al requerir muchos datos de entrenamiento.

Y volviendo a su pregunta: me aventuraría a que el amplio sesgo inductivo y el hecho de que las redes neuronales no modelan la causalidad / composicionalidad es la razón por la que necesitan tantos datos de entrenamiento. La regularización no es una gran solución debido a la forma en que se generalizan. Una mejor solución sería cambiar su sesgo, como lo está probando actualmente Hinton con cápsulas para modelar geometría completa / parcial, o redes de interacción para modelar relaciones.

Benjamin Crouzier
fuente
2

En primer lugar, hay muchos métodos de regularización tanto en uso como en investigación activa para el aprendizaje profundo. Entonces su premisa no es del todo segura.

En cuanto a los métodos en uso, la disminución de peso es una implementación directa de una penalización L2 en los pesos a través del descenso de gradiente. Tome el gradiente de la norma al cuadrado de sus pesos y agregue un pequeño paso en esta dirección en cada iteración. La deserción también se considera una forma de regularización, que impone un tipo de estructura promediada. Esto parecería implicar algo así como una penalización L2 sobre un conjunto de redes con parámetros compartidos.

Probablemente podría aumentar el nivel de estas u otras técnicas para abordar muestras pequeñas. Pero tenga en cuenta que la regularización implica la imposición de conocimientos previos. La penalización L2 en los pesos implica un previo gaussiano para los pesos, por ejemplo. El aumento de la cantidad de regularización esencialmente establece que su conocimiento previo es cada vez más cierto y sesga su resultado hacia ese previo. Por lo tanto, puede hacerlo y se sobreajustará menos, pero la salida sesgada puede ser mala. Obviamente la solución es un mejor conocimiento previo. Para el reconocimiento de imágenes, esto significaría antecedentes mucho más estructurados con respecto a las estadísticas de su problema. El problema con esta dirección es que está imponiendo mucha experiencia en el dominio, y evitar tener que imponer la experiencia humana fue una de las razones por las que utilizó el aprendizaje profundo.

Un algoritmo simple
fuente
+1 por mención de sesgo. ¿Por qué no explicar todo esto en términos de sesgo y varianza? "Sobreajustar" no tiene una definición matemática precisa e implica una dicotomía inexistente ("sobreajustar" / "no sobreajustar").
Josh
2

Para aclarar mi pensamiento: Digamos que estamos usando una gran red NNet profunda para tratar de modelar nuestros datos, pero el conjunto de datos es pequeño y en realidad podría ser modelado por un modelo lineal. Entonces, ¿por qué los pesos de la red no convergen de tal manera que una neurona simule la regresión lineal y todas las demás converjan a ceros? ¿Por qué la regularización no ayuda con esto?

Las redes neuronales se pueden entrenar así. Si se usa la regularización L1 adecuada, gran parte de los pesos se pueden poner a cero y esto hará que las redes neuronales se comporten como la concatenación de 1 o más neuronas de regresión lineal y muchas otras neronas cero. Entonces sí, las regularizaciones L1 / L2 o similares pueden usarse para restringir el tamaño o el poder de representación de la red neuronal.

En realidad, el tamaño del modelo en sí es una especie de regularización: si hace que el modelo sea grande, significa que inyecta un conocimiento previo sobre el problema, es decir, los problemas son muy complejos, por lo que requiere un modelo que tenga un alto poder de representación. Si hace que el modelo sea pequeño, significa que inyecta conocimiento de que el problema es simple, por lo que el modelo no necesita mucha capacidad.

Y esto significa que la regularización de L2 no hará que las redes sean "escasas" como usted describió, porque la regularización de L2 inyecta conocimiento previo de que la contribución de cada neurona (peso) debe ser pequeña pero no nula. Entonces la red usaría cada una de las neuronas en lugar de usar solo un pequeño conjunto de neuronas.

rosinalidad
fuente
1

La regularización es un método para incluir información previa en un modelo. Esto parecerá sencillo desde la perspectiva bayesiana, pero también es fácil de ver desde la perspectiva. Por ejemplo, elL2La penalización + estandarización de las covariables en la regresión de cresta consiste esencialmente en utilizar la información previa de que no creemos que la estimación deba estar dominada por un pequeño número de predictores. Del mismo modo, elL1la penalización puede verse como "apostar por la escasez de la solución" (nota al margen: esto no tiene sentido desde la perspectiva bayesiana tradicional, pero esa es otra historia ...).

Un punto clave aquí es que la regularización no siempre es útil. Más bien, regularizar hacia lo que probablemente debería ser cierto es muy útil, pero regularizar en la dirección incorrecta es claramente malo.

Ahora, cuando se trata de redes neuronales profundas, la interpretabilidad de estos modelos hace que la regularización sea un poco más difícil. Por ejemplo, si estamos tratando de identificar gatos, de antemano sabemos que "orejas puntiagudas" es una característica importante. Si estuviéramos usando algunos como regresión logística con unL2penalización y teníamos una variable indicadora "orejas puntiagudas" en nuestro conjunto de datos, podríamos simplemente reducir la penalización en la variable orejas puntiagudas (o mejor aún, penalizar hacia un valor positivo en lugar de 0) y luego nuestro modelo necesitaría menos datos para una precisión predicciones

Pero ahora supongamos que nuestros datos son imágenes de gatos alimentados en redes neuronales profundas. Si las "orejas puntiagudas" son, de hecho, muy útiles para identificar gatos, tal vez nos gustaría reducir la penalización para darle más poder predictivo. Pero no tenemos idea de donde en la red este será representado! Todavía podemos introducir sanciones para que una pequeña parte del sistema no domine toda la red, pero fuera de eso, es difícil introducir la regularización de manera significativa.

En resumen, es extremadamente difícil incorporar información previa en un sistema que no entendemos.

Acantilado
fuente