Redes neuronales vs todo lo demás

15

No he encontrado una respuesta satisfactoria a esto de google .

Por supuesto, si los datos que tengo son del orden de millones, entonces el aprendizaje profundo es el camino.

Y he leído que cuando no tengo grandes datos, tal vez sea mejor usar otros métodos en el aprendizaje automático. La razón dada es demasiado ajustada. Aprendizaje automático: es decir, mirar datos, extracciones de características, crear nuevas características de lo que se recopila, etc., como eliminar variables muy correlacionadas, etc. todo el aprendizaje automático de 9 yardas.

Y me he estado preguntando: ¿por qué las redes neuronales con una capa oculta no son la panacea para los problemas de aprendizaje automático? Son estimadores universales, el ajuste excesivo se puede gestionar con abandono, regularización l2, regularización l1, normalización por lotes. La velocidad de entrenamiento generalmente no es un problema si tenemos solo 50,000 ejemplos de entrenamiento. Son mejores en el momento de la prueba que, digamos, bosques aleatorios.

Entonces, ¿por qué no? Limpie los datos, impute los valores faltantes como lo haría generalmente, centre los datos, estandarice los datos, tírelos a un conjunto de redes neuronales con una capa oculta y aplique la regularización hasta que no vea un ajuste excesivo y luego entrene ellos hasta el final. No hay problemas con la explosión de gradiente o la desaparición de gradiente ya que es solo una red de 2 capas. Si se necesitaban capas profundas, eso significa que se deben aprender las características jerárquicas y luego otros algoritmos de aprendizaje automático tampoco son buenos. Por ejemplo, SVM es una red neuronal con solo pérdida de bisagra.

Se apreciaría un ejemplo en el que algún otro algoritmo de aprendizaje automático superaría a una red neuronal de 2 capas (¿quizás 3?) Cuidadosamente regularizada. Puede darme el enlace al problema y entrenaría la mejor red neuronal que pueda y podemos ver si las redes neuronales de 2 capas o de 3 capas no alcanzan ningún otro algoritmo de aprendizaje automático de referencia.

MiloMinderbinder
fuente
14
Las redes neuronales SON un algoritmo de aprendizaje automático ...
Matthew Drury
66
Ciertamente, hay algunos dominios donde el aprendizaje profundo es el rey, como el reconocimiento de imágenes, pero en la mayoría de las otras áreas tienden a estar dominados por el aumento de gradiente, como queda claro al observar los resultados de las competiciones de Kaggle.
Jake Westfall,
1
@MatthewDrury - ¡De hecho lo es! disculpas por ser pésimo en terminologías. Sin embargo, espero que el mensaje haya sido transmitido. cambiando la pregunta, sin embargo, para ser más robusto. Gracias por señalar
MiloMinderbinder
1
En cuanto a la profundidad de la red, definitivamente mira
jld

Respuestas:

31

Cada algoritmo de aprendizaje automático tiene un sesgo inductivo diferente, por lo que no siempre es apropiado usar redes neuronales. Una tendencia lineal siempre se aprenderá mejor mediante una regresión lineal simple en lugar de un conjunto de redes no lineales.

Si echas un vistazo a los ganadores de las competiciones pasadas de Kaggle , excepto cualquier desafío con datos de imagen / video, rápidamente encontrarás que las redes neuronales no son la solución para todo. Algunas soluciones pasadas aquí.

aplique la regularización hasta que no vea un ajuste excesivo y luego capacítelos hasta el final

No hay garantía de que pueda aplicar suficiente regularización para evitar el sobreajuste sin destruir por completo la capacidad de la red para aprender algo. En la vida real, rara vez es factible eliminar la brecha entre la prueba y el tren, y es por eso que los documentos aún informan el rendimiento del tren y la prueba.

son estimadores universales

Esto solo es cierto en el límite de tener un número ilimitado de unidades, lo que no es realista.

me puede dar el enlace al problema y entrenaría la mejor red neuronal que pueda y podemos ver si las redes neuronales de 2 capas o de 3 capas no alcanzan ningún otro algoritmo de aprendizaje automático de referencia

Un problema de ejemplo que espero que una red neuronal nunca pueda resolver: dado un número entero, clasifíquelo como primo o no primo.

Creo que esto podría resolverse perfectamente con un algoritmo simple que itera sobre todos los programas válidos en longitud ascendente y encuentra el programa más corto que identifica correctamente los números primos. De hecho, esta cadena de expresiones regulares de 13 caracteres puede coincidir con números primos, lo que no sería intratable computacionalmente para buscar.


¿Puede la regularización tomar un modelo de uno que se adapta al que tiene su poder de representación severamente afectado por la regularización? ¿No habrá siempre ese punto dulce en el medio?

Sí, hay un punto dulce, pero generalmente es mucho antes de que dejes de sobreajustar. Ver esta figura:

http://gluon.mxnet.io/_images/regularization-overfitting.png

Si voltea el eje horizontal y lo vuelve a etiquetar como "cantidad de regularización", es bastante preciso: si lo regulariza hasta que no haya sobreajuste, su error será enorme. El "punto óptimo" se produce cuando hay un poco de sobreajuste, pero no demasiado.

¿Cómo es un "algoritmo simple que itera sobre todos los programas válidos en longitud ascendente y encuentra el programa más corto que identifica correctamente los números primos"? un algoritmo que aprende?

θH(θ)θ


Entonces, si lo entiendo correctamente, ¿está argumentando que si los datos no son sustanciales, la red profunda nunca alcanzará la precisión de validación de la mejor red superficial dado los mejores hiperparámetros para ambos?

Si. Aquí hay una figura fea pero con suerte efectiva para ilustrar mi punto. https://i.imgur.com/nM3aI2l.png

Pero eso no tiene sentido. una red profunda solo puede aprender un mapeo 1-1 sobre el superficial

La pregunta no es "puede", sino "lo hará", y si está entrenando la propagación hacia atrás, la respuesta probablemente no sea.

Discutimos el hecho de que las redes más grandes siempre funcionarán mejor que las redes más pequeñas

Sin calificación adicional, esa afirmación es simplemente incorrecta.

shimao
fuente
¡Gracias por la respuesta! ¿Puede la regularización tomar un modelo de uno que se adapta al que tiene su poder de representación severamente afectado por la regularización? ¿No habrá siempre ese punto dulce en el medio?
MiloMinderbinder
En cuanto a su problema de juguete. ¿Cómo es un "algoritmo simple que itera sobre todos los programas válidos en longitud ascendente y encuentra el programa más corto que identifica correctamente los números primos"? un algoritmo que aprende?
MiloMinderbinder
Tenga en cuenta las notas de la conferencia cs231n: `` Discutimos el hecho de que las redes más grandes siempre funcionarán mejor que las redes más pequeñas, pero su mayor capacidad de modelo debe abordarse adecuadamente con una regularización más fuerte (como una mayor caída de peso), o podrían adaptarse demasiado. Veremos más formas de regularización (especialmente abandono) en secciones posteriores '. cs231n.github.io/neural-networks-1
MiloMinderbinder
@ user46478 abordé las preguntas anteriores editando la respuesta
shimao
"No hay garantía de que pueda aplicar suficiente regularización para evitar el sobreajuste sin destruir por completo la capacidad de la red para aprender algo". - Lo siento pero aún no entiendo esta declaración. Tomo los datos de entrenamiento, se divide {train, val}, hago la red más grande que mi máquina permite, aumento la probabilidad de abandono hasta que veo un error de validación minimizado entre los errores de validación que obtengo con varias probabilidades de abandono. ¿Puede este proceso conducir a un modelo inútil de un modelo demasiado ajustado sin pasar por un buen modelo?
MiloMinderbinder
11

Agregaría que no existe una panacea de aprendizaje automático:

Por el teorema de no almuerzo gratis :

Si un algoritmo funciona bien en una determinada clase de problemas, necesariamente paga por eso con un rendimiento degradado en el conjunto de todos los problemas restantes

usuario3684792
fuente
Esto es muy deprimente (pero no se preocupe, no discutiré las consecuencias) 1. Al leer esto, entiendo que se trata de algoritmos con la misma distribución sobre las funciones que pueden aprender (lo que también significaría el mismo dominio compartido). Por lo tanto, las redes neuronales solo pueden compadecerse de los estimadores universales. 2. Esto no habla sobre qué tan rápido se busca el espacio de funciones. ¿Podemos decir que una red neuronal con 2 capas ocultas es necesariamente equivalente o superior a una red neuronal con una capa oculta en cada problema? Creo que la suposición de continuidad tiene mucho que ver aquí
MiloMinderbinder
con el ajuste adecuado del hiperparámetro, una red neuronal de dos capas ocultas salta a través de funciones que tienen codominios similares más rápido que una sola red neuronal de capas ocultas. sus entradas?
MiloMinderbinder
1
"Podemos decir que una red neuronal con 2 capas ocultas es necesariamente equivalente o superior a una red neuronal con una capa oculta en cada problema". No, desafortunadamente no. Como ejemplo contrario, imagine una regresión logística (un nn con cero capas ocultas) frente a una red neuronal de 1 capa con el número de unidades ocultas igual al número de puntos de datos para un conjunto de datos completamente separable. No hay información sobre el límite de decisión que el lr no pueda capturar, y es probable que la alta complejidad nn se sobreajuste
user3684792
3
Estoy de acuerdo con la declaración aquí, pero quería agregar la advertencia estándar a la NFL, también tomada de la página de Wikipedia: "tenga en cuenta que la NFL solo se aplica si la función de destino se elige de una distribución uniforme de todas las funciones posibles".
mkt - Restablecer Monica
1
@ user46478 Estoy de acuerdo con la relevancia del teorema de la NFL en respuesta a su pregunta "¿por qué las redes neuronales con una capa oculta no son la panacea para los problemas de aprendizaje automático?"
mkt - Restablece a Monica