Antes de hablar sobre conjuntos de datos (grandes), veamos funciones “simples” que exhiben la propiedad del barranco. Quizás el más popular es la función banana (función Rosenbrock – Wikipedia) de Rosenbrock (RBF) en dos dimensiones, [math] (x, y) [/ math]:
[matemáticas] f (x, y) = (ax) ^ 2 + b (yx ^ 2) ^ 2 [/ matemáticas]
Cuya imagen se muestra a continuación, con el barranco en forma de plátano claramente visible.
- ¿Cómo se debe elegir el parámetro [math] l [/ math] en la regresión de mínimos cuadrados parciales?
- ¿Cómo y cuándo morirá la inteligencia de negocios convencional?
- ¿Qué son las redes neuronales convolucionales?
- ¿Cómo se hizo Andrew Ng tan bueno en Machine Learning?
- ¿Existe una conexión profunda entre el aprendizaje por propagación hacia atrás y la regla de Hebb?
Hay generalizaciones del RBF para dimensiones superiores, como
[matemáticas] f (\ mathbf {x}) = f (x_1, x_2, \ dots, x_N) = \ sum_ {i = 1} ^ {N / 2} \ left [100 (x_ {2i-1} ^ 2 – x_ {2i}) ^ 2+ (x_ {2i-1} – 1) ^ 2 \ right] [/ math]
(Consulte la página de Wikipedia anterior para obtener más detalles y otras variantes del RBF).
Ahora hablemos de datos reales y problemas …
Un problema común de LD es la regresión. Queremos ajustar (o “aprender”) los [math] N + 1 [/ math] pesos en un vector [math] \ mathbf {\ theta} = [\ theta_0, \ theta_1, \ cdots, \ theta_N] [/ matemáticas] para minimizar la función de costo
[matemáticas] J (\ mathbf {\ theta}) = \ frac {1} {2} \ sum \ limits_ {i = 1} ^ {m} (h_ \ theta (\ mathbf {x} ^ {(i)} ) – y ^ {(i)}) ^ 2 [/ math]
donde la hipótesis [math] h_ \ theta (\ mathbf {x} ^ {(i)}) [/ math] puede ser lineal o no lineal; en caso de que sea lineal, se puede escribir como
[matemáticas] h_ \ theta (\ mathbf {x} ^ {(i)}) = \ theta_0 + \ mathbf {\ theta}. \ mathbf {x} [/ math]
(producto de punto más un término de sesgo).
Al comparar el RBF con [math] J (\ mathbf {\ theta}) [/ math] podemos concluir que ambos presentan términos cuadráticos. Si el RBF 2D simple puede tener un barranco (su forma específica depende de los valores de los parámetros [matemática] a [/ matemática] y [matemática] b [/ matemática]), ciertamente la [matemática] J (\ mathbf { multidimensional ] \ theta}) [/ math] tendrá barrancos N-dimensionales mucho más complejos.
En la optimización clásica, al navegar a través de funciones con barrancos, en lugar de usar el descenso de gradiente simple, se usaban métodos de segundo orden (o de segundo orden) a menudo basados en la matriz de Hesse (las derivadas parciales de segundo orden de la función de optimización) o sus aproximaciones . Algunos de estos métodos son el gradiente conjugado, Gauss-Newton, Levenberg – Marquardt, Davidon – Fletcher – Powell, Broyden – Fletcher – Goldfarb – Shanno (BFGS) y algunos más.
En estas últimas técnicas, el Hessian se aproxima para acelerar la optimización. Pero estos eran algoritmos lentos incluso con solo unos pocos cientos de variables de optimización. No olvide que la matriz de Hesse tuvo que calcularse o aproximarse, y tiene elementos [matemáticos] N ^ 2 [/ matemáticos], mientras que el gradiente solo tiene elementos [matemáticos] N [/ matemáticos].
Cuando la complejidad de los datos aumenta a millones o más, esos algoritmos de segundo orden no son factibles, dada su lentitud. La información de segundo orden sobre la concavidad (barranco) es difícil de obtener.
Recuerde que en problemas de grandes dimensiones y gran cantidad de datos, incluso el descenso de gradiente simple con elementos [matemáticos] N [/ matemáticos] tiene que ser “degradado” para el descenso de gradiente estocástico de aproximación (SGD) que se estima mucho más rápidamente.
Varios métodos que son variaciones del SGD intentan superar la falta de información de segundo orden en el gradiente de la iteración actual mediante el uso de la memoria de desvanecimiento de los gradientes utilizados en los pasos de iteración recientes, en forma de impulso . Es decir, intentan obtener información de segundo orden, pero lo hacen utilizando algoritmos rápidos (dado el tamaño de los datos) …
Escribí una respuesta sobre ADAM, uno de los métodos modernos de impulso, en la respuesta de José Soares Augusto a ¿Puedes explicar la intuición básica detrás de ADAM: un método para la optimización estocástica? Puede leerlo para obtener más información sobre eso y sobre algunos de los métodos relacionados. (Disculpe la autopromoción de otra respuesta).