¿Las redes neuronales son siempre convexas con respecto a los pesos? Y si no, ¿cómo funciona tan bien el descenso de gradiente?

Las redes neuronales no triviales nunca son convexas en sus pesos. Para ver esto, simplemente elija una sola capa oculta e imagine si intercambiara todos los pesos hacia / desde una neurona con todos los pesos hacia / desde otra neurona.

No realmente. Piénsalo por un momento. Esperaré.

.

.

.

.

.

.

.

.

.

Realmente no lo pensaste, ¿verdad? Esta bien. Puedo esperar más

.

.

.

.

.

.

.

.

.

.

.

.

De Verdad? ¿Todavía te estás desplazando? ¡No lo has pensado ni un poco! Bien … solo te lo diré.

Obtiene exactamente la misma función calculada de una manera muy ligeramente diferente. Eso significa que si toma un mínimo local, siempre puede generar otro mínimo local simplemente intercambiando pesos. Por lo tanto, no puede ser estrictamente convexo.

Si no es estrictamente convexo, entonces la función de costo coincidiría con un hiperplano a través de todos estos puntos. Eso no es plausible.

Bien, entonces no es un problema de optimización convexo. Entonces, ¿por qué funciona el descenso de gradiente?

Espera que el descenso de gradiente no funcione porque se quedará atascado en un óptimo local.

En la práctica, la mayoría de los óptimos locales parecen ser igualmente buenos, por lo que en realidad estamos de acuerdo con la suboptimidad. Eso es probablemente porque la mayoría de los óptimos locales en realidad se generan aproximadamente por el procedimiento de intercambio de peso que describí anteriormente. Esto se debe a que cuantos más pesos tenga, menos probable es que el Hessian sea semidefinido positivo. Entonces, la mayoría de sus puntos críticos serán nodos de silla de montar de los que SGD puede escapar. Tiende a escapar más rápidamente con impulso.

¿Las redes neuronales son siempre convexas con respecto a los pesos?
¡No, no es convexo ! Incluso el problema de entrenamiento de una red con una sola * neurona * ya tiene exponencialmente muchos mínimos locales distintos (ver, por ejemplo, https://papers.nips.cc/paper/102 …)

Y si no, ¿cómo funciona tan bien el descenso de gradiente?
Puede haber diferentes formas de interpretar esta pregunta, pero me gustaría dividirla en dos partes:
1. ¿Por qué los mínimos locales parecen no ser un gran problema a pesar de la no convexidad?
2. ¿Por qué GD parece converger a una buena solución con un buen error de generalización?

1. Hay bastantes documentos sobre la superficie de pérdida de las redes neuronales que intentan identificar las condiciones bajo las cuales se garantiza que cada punto crítico / mínimo local sea un mínimo global y, por lo tanto, GD tiene una buena posibilidad de converger a la solución óptima global. .

Entre mis trabajos favoritos en esta dirección se encuentran La superficie de pérdida de las redes neuronales profundas y anchas (ICML 2017) y [1710.10928] La superficie de pérdida y la expresividad de las redes neuronales convolucionales profundas (arXiv 2017). El primer artículo trata sobre redes profundas totalmente conectadas, mientras que el último trata sobre CNN profundas con arquitectura estándar. Intuitivamente, su resultado principal es que una clase de CNN profundos y prácticos (por ejemplo, redes VGG, Inception v3 / 4, etc.) puede transformar casi todos los conjuntos de datos separables no linealmente en un conjunto separable linealmente en cada capa oculta si esa capa tiene más neuronas entonces el número de muestras de entrenamiento. Esto es incluso cierto con la probabilidad 1 cuando todos los parámetros de la red (es decir, filtros convolucionales + sesgos) se generan aleatoriamente. Dado que la separabilidad lineal se logra casi con seguridad en las capas ocultas, se puede argumentar más adelante que la superficie de pérdida para este tipo de redes casi no tiene un punto crítico malo (ver, por ejemplo, el Teorema 5.3 en http://proceedings.mlr.press / v70 … para la prueba).

Por supuesto, hay muchos otros trabajos previos que también estudian la superficie de pérdida pero utilizan diferentes herramientas, por ejemplo, teoría de matriz aleatoria ([1412.0233] Las superficies de pérdida de redes multicapa, Geometría de superficies de pérdida de red neuronal a través de la teoría de matriz aleatoria, etc.) y un todo línea de investigación que se centra en la convergencia de SGD con soluciones de alta calidad (véase, por ejemplo, [1710.10174] SGD aprende redes sobre-parametrizadas que probablemente se generalizan en datos separables linealmente)

2. Si bien parece que todavía no tenemos una respuesta teóricamente satisfactoria que explique por qué las NN profundas se generalizan tan bien en la práctica (véase, por ejemplo, [1611.03530] La comprensión del aprendizaje profundo requiere repensar la generalización), algunos trabajos empíricos recientes pueden proporcionarnos ideas interesantes sobre el éxito práctico de SGD, p. ej. [1706.05394] Una mirada más cercana a la memorización en redes profundas. Los mensajes principales son básicamente (1) Las redes profundas entrenadas con SGD pueden primero aprender patrones simples que son compartidos por múltiples muestras de entrenamiento antes de comenzar a memorizarlos, y que (2) el nivel de memorización y generalización no solo dependen de arquitectura de red y métodos de optimización, pero también en los datos en sí.

No. El descenso por gradiente no funciona bien en una bola no convexa o incluso convexa pero muy distorsionada. De hecho, hay funciones convexas donde el descenso del gradiente fallará. Puedes pensar en una?

La red neuronal es solo una función con algunas propiedades. Una de sus propiedades es la convexidad. Por lo tanto, puede ver todos los NN-s posibles y arrojarlos en contenedores: convexo / cóncavo y no convexo. Por simplicidad, los convexos / cóncavos cuasy son simplemente ‘No convexos’.

Ahora podemos clasificar aún más si su primera derivada existe, entonces si la segunda derivada existe y es rápido de calcular / aproximar. Esto lo ayudará a decidir el método de optimización más adecuado.

Sin embargo, también existen métodos de entrenamiento probabilístico, que funcionan bien para un conjunto dado de problemas. Por ejemplo, el filtro Kalman sin perfume no necesita gradientes y puede leer sobre este tipo de entrenamiento en el libro Simon Haykin (editado por): Kalman Filtering and Neural Networks.

En este momento, debería poder adivinar que la mayoría de los NN-s no son convexos, y algunos de ellos pueden convertirse en un problema convexo mediante algún método de regularización. La regularización de L2 o Tikhonov desde la perspectiva bayesiana es solo elegir el ‘modelo / solución’ más simple de todos los ‘modelos / soluciones’ posibles y le dice al optimizador a través de algún parámetro hiper cuál elegir. Dichos problemas se pueden resolver con métodos estándar: L-BFGS, CG, …

Espero eso ayude.

Las superficies de error para la mayoría de las redes neuronales son muy no convexas, especialmente para problemas complejos como la visión, aunque esto es más problemático para redes más pequeñas. Por lo tanto, si tiene una red pequeña, es probable que se atasque en algunos mínimos locales al entrenarla. La solución a eso es sembrarlo en puntos aleatorios y ver qué semilla conduce a una mejor solución. Por lo tanto, las redes pequeñas son propensas a los mínimos locales en la superficie de error. Esta es una de las razones por las cuales a principios de los 80 se pensaba que las redes neuronales eran inútiles.

Sin embargo, los éxitos actuales en el aprendizaje profundo (DL) han demostrado que la no convexidad de la superficie de error no es un problema para los modelos de red más grandes . ¿Por qué?

A medida que la red se hace más grande, aumenta el número de parámetros (pesos), por lo que también aumenta el grado de libertad para la red. Entonces, ¿qué es una trampa mínima local para una red pequeña? Ya no puede ser una trampa para una red más grande porque la red más grande puede encontrar una “ruta de escape” a través de las otras dimensiones. Cuanto más grande sea la red, más libertad tiene y, por lo tanto, probablemente escapará de posibles trampas mínimas locales.

Esto significa que las redes más grandes, a pesar de que las superficies de error son teóricamente no convexas, tienen más probabilidades de encontrar el mínimo global con una probabilidad muy alta de éxito que una red más pequeña debido al hecho de que la red más grande tiene un grado extremadamente mayor de libertad.

Es por eso que el descenso de gradiente estocástico (SGD) y otras variantes del mismo funcionan muy bien para redes neuronales a gran escala. También funcionan bien para redes pequeñas, pero asegúrese de sembrar redes más pequeñas con más puntos de inicialización aleatorios para aumentar las posibilidades de alcanzar el mínimo global.

EDITAR : Además, la no convexidad no es un problema en espacios de alta dimensión porque los mínimos locales son equivalentes, es decir, producen tasas de error buenas similares.

Espero que esto ayude.

Hubo una pregunta algo relacionada (sobre la convexidad en el aprendizaje profundo) hace unos días. Mi respuesta está en la respuesta de José Soares Augusto a ¿Son los problemas de optimización en el aprendizaje profundo típicamente convexos o no convexos? Perdóname la auto cita.

En resumen, el entrenamiento de NN suele ser una situación no convexa, pero de hecho es posible construir NNs donde el problema de optimización (es decir, su entrenamiento) es convexo. Ver la referencia dada en la respuesta antes mencionada.

El descenso de gradiente (GD) funciona bien porque generalmente el usuario acepta obtener un mínimo local al entrenar el NN, en lugar del mínimo global. Esto eventualmente puede ser un beneficio (el mínimo local) para limitar el sobreajuste en el entrenamiento de NN.

Y finalmente, GD, que se implementa como retropropagación (es decir, en NN convencionales, el GD tiene la característica de implementarse en una forma bastante agradable, retropropagación, ver Descenso de gradiente con propagación hacia atrás o Descenso de gradiente con propagación hacia atrás), converge a un mínimo local de manera robusta.

HTH

Permítanme intentar aclarar esto:

el descenso de gradiente funciona muy bien en funciones convexas. y muchas funciones en la naturaleza / física son convexas. Según tengo entendido, esto es lo que hace que el aprendizaje profundo funcione tan bien.

pero eso significa que la salida (¿la pérdida quizás?) es convexa de alguna manera con respecto a las variables de entrada.

Pero, ¿cómo sabemos que podemos hacer un descenso de gradiente en cualquier variable (pesos, sesgos, etc.) que presentamos? ¿Por qué sería convexo con respecto a estos?

Por ejemplo, ¿no es sigmoide no convexo? ¿Por qué eso no arruinaría las cosas?

Simplemente, la función que estamos tratando de aproximar es convexa, ¿por qué eso significa que nuestra función de pérdida es convexa con respecto a las variables que estamos tratando de entrenar?

More Interesting

¿Qué pasa si el universo está aprendiendo y cambiando sus teorías fundamentales? ¿Puede haber una teoría unificada entonces?

¿Cómo es ser ingeniero de aprendizaje automático en Quora?

¿Cómo seleccionaría los datos para capacitar y probar los modelos?

¿Qué tan buenos son los conjuntos de datos SIG en India (por ejemplo, red de carreteras / calles, parcelas municipales, etc.)? ¿Cuáles son las fuentes para este tipo de conjuntos de datos?

¿Tiene sentido la regularización (L2, abandono, etc.) alguna vez para datos muy ruidosos, pero también abundantes, como series de tiempo financieras?

¿Cuál es la relación entre un modelo múltiple que interactúa y un filtro de Kalman?

¿Cómo identificar el contexto basado en la oración?

¿Cuáles son algunos de los documentos fundamentales sobre el aprendizaje profundo?

Si pudiera construir una plataforma de contenido (piense en la entrega de noticias) desde cero con el objetivo de escalar a millones de usuarios, ¿qué infraestructura utilizaría?

¿Cuál es la diferencia entre aplicar la descomposición del tren Tensor y agregar más capas a la red donde cada una tiene un tamaño reducido?

¿Existe algún modelo de aprendizaje profundo o algún otro método que ingrese como una colección de documentos y pueda predecir la probabilidad de un nuevo documento?

¿Cuáles son los principales desafíos en el aprendizaje semi-supervisado?

¿Por qué el aprendizaje profundo no tiene un mínimo local?

¿Debo memorizar las matemáticas y los algoritmos al aprender el aprendizaje automático y el aprendizaje profundo?

¿Cómo detectamos el sobreajuste y la falta de ajuste en Machine Learning?