El descenso de gradiente es un método de optimización matemática sin restricciones . Es un algoritmo iterativo de primer orden para minimizar una función multivariable diferenciable .
La idea consiste en dar pasos repetidos en la dirección opuesta al gradiente (o gradiente aproximado) de la función en el punto actual, ya que esta es la dirección de descenso más pronunciado. Por el contrario, dar pasos en la dirección del gradiente conducirá a una trayectoria que maximiza dicha función; este procedimiento se conoce como ascenso de gradiente . El descenso de gradiente no debe confundirse con los algoritmos de búsqueda local , aunque ambos son métodos iterativos de optimización .
El descenso de gradiente es particularmente útil en el aprendizaje automático y la inteligencia artificial para minimizar la función de costo o pérdida. [ 1 ]
El descenso de gradiente se atribuye generalmente a Augustin-Louis Cauchy , quien lo sugirió por primera vez en 1847. [ 2 ] Jacques Hadamard propuso independientemente un método similar en 1907. [ 3 ] [ 4 ] Sus propiedades de convergencia para problemas de optimización no lineal fueron estudiadas por primera vez por Haskell Curry en 1944, [ 5 ] y el método se fue estudiando y utilizando cada vez más en las décadas siguientes. [ 6 ] [ 7 ]
Una extensión sencilla del descenso de gradiente, el descenso de gradiente estocástico , sirve como el algoritmo más básico utilizado para entrenar la mayoría de las redes neuronales profundas en la actualidad.
Descripción

El descenso de gradiente se basa en la observación de que si la función multivariableestá definido y es diferenciable en un entorno de un punto, entoncesdisminuye más rápidamente si uno va desdeen la dirección del gradiente negativo deen. De ello se deduce que, si
para un tamaño de paso o tasa de aprendizaje suficientemente pequeño, entonces En otras palabras, el términose resta deporque queremos movernos en contra del gradiente, hacia el mínimo local. Con esta observación en mente, uno comienza con una suposición.para un mínimo local dey considera la secuenciade tal manera que
Tenemos una secuencia monótona
así que la secuenciaconverge al mínimo local deseado. Tenga en cuenta que el valor del tamaño del pasoSe permite que cambie en cada iteración.
Es posible garantizar la convergencia a un mínimo local bajo ciertas suposiciones sobre la función.(Por ejemplo,convexo yLipschitz ) y elecciones particulares de. Esos incluyen la secuencia
como en el método de Barzilai-Borwein , [ 8 ] [ 9 ] o una secuenciaque satisface las condiciones de Wolfe (que se pueden encontrar mediante una búsqueda lineal ). Cuando la funciónes convexa , todos los mínimos locales son también mínimos globales, por lo que en este caso el descenso de gradiente puede converger a la solución global.
Este proceso se ilustra en la imagen adjunta. Aquí,Se supone que está definida en el plano y que su gráfica tiene forma de cuenco . Las curvas azules son las líneas de contorno , es decir, las regiones en las que el valor dees constante. Una flecha roja que parte de un punto muestra la dirección del gradiente negativo en ese punto. Nótese que el gradiente (negativo) en un punto es ortogonal a la línea de contorno que pasa por ese punto. Vemos que el descenso de gradiente nos lleva al fondo del cuenco, es decir, al punto donde el valor de la funciónes mínimo.
Una analogía para comprender el descenso de gradiente.

La intuición básica detrás del descenso de gradiente se puede ilustrar con un escenario hipotético. Un grupo de personas se encuentra atrapado en la montaña e intenta descender (es decir, busca el mínimo global). Hay una densa niebla que reduce drásticamente la visibilidad. Por lo tanto, el camino de descenso no es visible, así que deben usar información local para encontrar el mínimo. Pueden usar el método de descenso de gradiente, que consiste en observar la pendiente de la colina en su posición actual y luego avanzar en la dirección de mayor pendiente descendente. Si intentaran encontrar la cima de la montaña (es decir, el máximo), avanzarían en la dirección de mayor pendiente ascendente. Usando este método, eventualmente encontrarían el camino de descenso o posiblemente quedarían atrapados en algún hueco (es decir, un mínimo local o punto de silla ), como un lago de montaña. Sin embargo, supongamos también que la pendiente de la colina no es inmediatamente obvia a simple vista, sino que requiere un instrumento sofisticado para medirla, del cual disponen en ese momento. Medir la pendiente de la colina con dicho instrumento lleva bastante tiempo. Por lo tanto, deberían minimizar el uso del instrumento si quieren bajar de la montaña antes del atardecer. La dificultad reside entonces en elegir la frecuencia con la que deben medir la pendiente para no perderse.
En esta analogía, las personas representan el algoritmo, y el camino recorrido al descender la montaña representa la secuencia de configuraciones de parámetros que el algoritmo explorará. La pendiente de la colina representa la inclinación de la función en ese punto. El instrumento utilizado para medir la pendiente es la diferenciación . La dirección que eligen para desplazarse se alinea con el gradiente de la función en ese punto. El tiempo que transcurre antes de realizar otra medición es el tamaño del paso.
Elegir el tamaño del paso y la dirección de descenso.
Dado que se utiliza un tamaño de pasoque es demasiado pequeño ralentizaría la convergencia y unademasiado grande provocaría sobrepaso y divergencia, encontrar un buen ajuste dees un problema práctico importante. Philip Wolfe también abogó por usar "elecciones inteligentes de la dirección [de descenso]" en la práctica. [ 10 ] Si bien usar una dirección que se desvíe de la dirección de descenso más pronunciada puede parecer contraintuitivo, la idea es que la pendiente menor se puede compensar manteniéndola durante una distancia mucho mayor.
Para razonar sobre esto matemáticamente, consideremos una dirección.y tamaño del pasoy consideremos la actualización más general:
- .
Encontrar buenos ajustes deyrequiere algo de reflexión. En primer lugar, nos gustaría que la dirección de la actualización apuntara cuesta abajo. Matemáticamente, dejardenotan el ángulo entrey, esto requiere quePara decir más, necesitamos más información sobre la función objetivo que estamos optimizando. Bajo el supuesto bastante débil de quees continuamente diferenciable, podemos demostrar que: [ 11 ]
Esta desigualdad implica que la cantidad por la cual podemos estar seguros de la funciónLa disminución depende de un equilibrio entre los dos términos entre corchetes. El primer término entre corchetes mide el ángulo entre la dirección de descenso y la pendiente negativa. El segundo término mide la rapidez con la que cambia la pendiente a lo largo de la dirección de descenso.
En principio, la desigualdad ( 1 ) podría optimizarse sobreypara elegir un tamaño de paso y una dirección óptimos. El problema es que evaluar el segundo término entre corchetes requiere evaluary las evaluaciones de gradiente adicionales suelen ser costosas e indeseables. Algunas maneras de solucionar este problema son:
- Renuncia a los beneficios de una dirección de descenso inteligente al establecery utilice la búsqueda lineal para encontrar un tamaño de paso adecuado., como por ejemplo una que satisfaga las condiciones de Wolfe . Una forma más económica de elegir las tasas de aprendizaje es la búsqueda lineal con retroceso , un método que cuenta con buenas garantías teóricas y resultados experimentales. Nótese que no es necesario elegir ser el gradiente; cualquier dirección que tenga un producto interno positivo con el gradiente dará como resultado una reducción del valor de la función (para un valor suficientemente pequeño de).
- Suponiendo quees dos veces diferenciable, use su matriz hessianaestimarLuego eligeyoptimizando la desigualdad ( 1 ).
- Suponiendo quees Lipschitz , use su constante de LipschitzatarLuego eligeyoptimizando la desigualdad ( 1 ).
- Construye un modelo personalizado depara. Luego eligeyoptimizando la desigualdad ( 1 ).
- Bajo supuestos más estrictos sobre la funciónPor ejemplo, en casos de convexidad , podrían ser posibles técnicas más avanzadas .
Por lo general, siguiendo una de las recetas anteriores, se puede garantizar la convergencia a un mínimo local. Cuando la funciónes convexa , todos los mínimos locales son también mínimos globales, por lo que en este caso el descenso de gradiente puede converger a la solución global.
Solución de un sistema lineal

El descenso de gradiente se puede utilizar para resolver un sistema de ecuaciones lineales.
reformulado como un problema de minimización cuadrática. Si la matriz del sistemaes real simétrica y definida positiva , una función objetivo se define como la función cuadrática, con minimización de
de modo que
Para una matriz real general, los mínimos cuadrados lineales definen
En el método tradicional de mínimos cuadrados lineales para datos realesyse utiliza la norma euclidiana , en cuyo caso
La minimización de la búsqueda lineal , encontrando el tamaño de paso óptimo local.En cada iteración, se puede realizar analíticamente para funciones cuadráticas y fórmulas explícitas para el óptimo local.son conocidos. [ 6 ] [ 13 ]
Por ejemplo, para una matriz real simétrica y definida positiva, un algoritmo simple puede ser el siguiente, [ 6 ]
- :=\mathbf {b} -\mathbf {Ax} \\&\qquad \eta :={\mathbf {r} ^{\top }\mathbf {r} }/{\mathbf {r} ^{\top }\mathbf {Ar} }\\&\qquad \mathbf {x} :=\mathbf {x} +\eta \mathbf {r} \\&\qquad {\hbox{si }}\mathbf {r} ^{\top }\mathbf {r} {\text{es suficientemente pequeño, entonces salir del bucle}}\\&{\text{fin del bucle de repetición}}\\&{\text{devuelve }}\mathbf {x} {\text{como resultado}}\end{aligned}}}
Para evitar multiplicar pordos veces por iteración, observamos que :=\mathbf {x} +\eta \mathbf {r} } implica :=\mathbf {r} -\eta \mathbf {Ar} } , lo que da como resultado el algoritmo tradicional, [ 14 ]
- :=\mathbf {b} -\mathbf {Ax} \\&{\text{repetir en el bucle:}}\\&\qquad \eta :={\mathbf {r} ^{\top }\mathbf {r} }/{\mathbf {r} ^{\top }\mathbf {Ar} }\\&\qquad \mathbf {x} :=\mathbf {x} +\eta \mathbf {r} \\&\qquad {\hbox{si }}\mathbf {r} ^{\top }\mathbf {r} {\text{es suficientemente pequeño, entonces salir del bucle}}\\&\qquad \mathbf {r} :=\mathbf {r} -\eta \mathbf {Ar} \\&{\text{fin del bucle de repetición}}\\&{\text{retornar }}\mathbf {x} {\text{ como resultado}}\end{aligned}}}

Trayectoria de convergencia del método de descenso más pronunciado para A = [[2, 2], [2, 3]]
Este método rara vez se utiliza para resolver ecuaciones lineales, siendo el método del gradiente conjugado una de las alternativas más populares. El número de iteraciones del descenso de gradiente suele ser proporcional al número de condición espectral.de la matriz del sistema(la relación entre los valores propios máximos y mínimos de) , mientras que la convergencia del método del gradiente conjugado se determina típicamente mediante la raíz cuadrada del número de condición, es decir, es mucho más rápido. Ambos métodos pueden beneficiarse del precondicionamiento , donde el descenso de gradiente puede requerir menos suposiciones sobre el precondicionador. [ 14 ]
Comportamiento geométrico y ortogonalidad residual
En el descenso más pronunciado aplicado a la resolución, dóndees simétrica definida positiva, los vectores residualesson ortogonales entre iteraciones:
Debido a que cada paso se da en la dirección más pronunciada, los pasos de descenso más pronunciado alternan entre direcciones alineadas con los ejes extremos de los conjuntos de nivel alargados. Cuandoes grande, esto produce una trayectoria característica en zigzag. El mal condicionamiento dees la causa principal de la lenta convergencia, y la ortogonalidad de los residuos sucesivos refuerza esta alternancia.
Como se muestra en la imagen de la derecha, el descenso más pronunciado converge lentamente debido al alto número de condición dey la ortogonalidad de los residuos obliga a cada nueva dirección a deshacer el sobreimpulso del paso anterior. El resultado es una trayectoria que zigzaguea hacia la solución. Esta ineficiencia es una de las razones por las que se prefieren los métodos de gradiente conjugado o de precondicionamiento. [ 15 ]
Solución de un sistema no lineal
El descenso de gradiente también puede utilizarse para resolver sistemas de ecuaciones no lineales . A continuación , se muestra un ejemplo de cómo usar el descenso de gradiente para resolver tres variables desconocidas: x₁ , x₂ y x₃ . Este ejemplo muestra una iteración del descenso de gradiente.
Consideremos el sistema de ecuaciones no lineales

Una animación que muestra las primeras 83 iteraciones del descenso de gradiente aplicadas a este ejemplo. Las superficies son isosuperficies deSegún mis estimaciones actualesLas flechas indican la dirección del descenso. Debido a que el tamaño del paso es pequeño y constante, la convergencia es lenta.
Introduzcamos la función asociada.
dónde
Ahora se podría definir la función objetivo.
que intentaremos minimizar. Como primera suposición, usemos
Sabemos que
donde la matriz jacobianaes dado por
Calculamos:
De este modo
y
Ahora, un adecuadodebe encontrarse de tal manera que
Esto se puede hacer con cualquiera de los diversos algoritmos de búsqueda lineal . También se podría simplemente adivinar.lo cual da
Al evaluar la función objetivo en este valor, se obtiene:
La disminución deal valor del siguiente paso de
Se trata de una disminución considerable de la función objetivo. Pasos posteriores reducirían aún más su valor hasta encontrar una solución aproximada al sistema.
Comentarios
El descenso de gradiente funciona en espacios de cualquier número de dimensiones, incluso en espacios de dimensión infinita. En este último caso, el espacio de búsqueda suele ser un espacio de funciones , y se calcula la derivada de Fréchet del funcional que se va a minimizar para determinar la dirección de descenso. [ 7 ]
Que el descenso de gradiente funcione en cualquier número de dimensiones (al menos un número finito) puede considerarse una consecuencia de la desigualdad de Cauchy-Schwarz , es decir, la magnitud del producto escalar de dos vectores de cualquier dimensión se maximiza cuando son colineales . En el caso del descenso de gradiente, esto ocurriría cuando el vector de ajustes de las variables independientes es proporcional al vector gradiente de las derivadas parciales.
El descenso de gradiente puede requerir muchas iteraciones para calcular un mínimo local con la precisión necesaria , si la curvatura en diferentes direcciones es muy distinta para la función dada. Para tales funciones, el precondicionamiento , que modifica la geometría del espacio para dar forma a los conjuntos de nivel de la función como círculos concéntricos , soluciona la lenta convergencia. Sin embargo, construir y aplicar el precondicionamiento puede resultar computacionalmente costoso.
El descenso de gradiente se puede modificar mediante momentos [ 16 ] ( Nesterov , Polyak, [ 17 ] y Frank-Wolfe [ 18 ] ) y parámetros de bola pesada (medias móviles exponenciales [ 19 ] y momento positivo-negativo [ 20 ] ). Los principales ejemplos de estos optimizadores son Adam, DiffGrad, Yogi, AdaBelief, etc.
Los métodos basados en el método de Newton y la inversión del hessiano utilizando técnicas de gradiente conjugado pueden ser mejores alternativas. [ 21 ] [ 22 ] Generalmente, estos métodos convergen en menos iteraciones, pero el costo de cada iteración es mayor. Un ejemplo es el método BFGS , que consiste en calcular en cada paso una matriz por la cual se multiplica el vector gradiente para ir en una dirección "mejor", combinado con un algoritmo de búsqueda lineal más sofisticado , para encontrar el "mejor" valor dePara problemas extremadamente grandes, donde predominan los problemas de memoria del ordenador, se debería utilizar un método de memoria limitada como L-BFGS en lugar de BFGS o el método del descenso más pronunciado.
Si bien a veces es posible sustituir el descenso de gradiente por un algoritmo de búsqueda local , el descenso de gradiente no pertenece a la misma familia: aunque es un método iterativo para la optimización local , se basa en el gradiente de una función objetivo en lugar de una exploración explícita de un espacio de soluciones .
El descenso de gradiente puede considerarse como la aplicación del método de Euler para resolver ecuaciones diferenciales ordinarias.a un flujo de gradiente . A su vez, esta ecuación puede derivarse como un controlador óptimo [ 23 ] para el sistema de control.conproporcionado en el formulario de comentarios.
Modificaciones
El descenso de gradiente puede converger a un mínimo local y ralentizarse en las proximidades de un punto de silla . Incluso para la minimización cuadrática sin restricciones, el descenso de gradiente desarrolla un patrón en zigzag en las iteraciones subsiguientes a medida que avanza, lo que resulta en una convergencia lenta. Se han propuesto diversas modificaciones del descenso de gradiente para abordar estas deficiencias.
métodos de gradiente rápido
Yurii Nesterov propuso [ 24 ] una modificación simple que permite una convergencia más rápida para problemas convexos y que desde entonces se ha generalizado aún más. Para problemas suaves sin restricciones, el método se denomina método de gradiente rápido (FGM) o método de gradiente acelerado (AGM). Específicamente, si la función diferenciablees convexo yes Lipschitz , y no se asume queSi es fuertemente convexa , entonces el error en el valor objetivo generado en cada pasomediante el método de descenso de gradiente estará acotado por. Utilizando la técnica de aceleración de Nesterov, el error disminuye en. [ 25 ] [ 26 ] Se sabe que la tasaLa disminución de la función de costo es óptima para los métodos de optimización de primer orden. Sin embargo, existe la oportunidad de mejorar el algoritmo reduciendo el factor constante. El método de gradiente optimizado (OGM) [ 27 ] reduce esa constante a la mitad y es un método óptimo de primer orden para problemas a gran escala. [ 28 ]
Para problemas restringidos o no suaves, el método FGM de Nesterov se denomina método de gradiente proximal rápido (FPGM), una aceleración del método de gradiente proximal .
Método de impulso o de bola pesada
Para romper el patrón en zigzag del descenso de gradiente, el método de momento o de bola pesada utiliza un término de momento en analogía con una bola pesada que se desliza sobre la superficie de valores de la función que se minimiza, [ 6 ] o con el movimiento de masa en la dinámica newtoniana a través de un medio viscoso en un campo de fuerza conservativo . [ 29 ] El descenso de gradiente con momento recuerda la actualización de la solución en cada iteración y determina la siguiente actualización como una combinación lineal del gradiente y la actualización anterior. Para la minimización cuadrática sin restricciones, un límite teórico de la tasa de convergencia del método de bola pesada es asintóticamente el mismo que el del método de gradiente conjugado óptimo . [ 6 ]
Esta técnica se utiliza en el descenso de gradiente estocástico y como extensión de los algoritmos de retropropagación empleados para entrenar redes neuronales artificiales . [ 30 ] [ 31 ] En la dirección de actualización, el descenso de gradiente estocástico añade una propiedad estocástica. Los pesos pueden utilizarse para calcular las derivadas.
Extensiones
El descenso de gradiente puede extenderse para manejar restricciones mediante la inclusión de una proyección sobre el conjunto de restricciones. Este método solo es factible cuando la proyección se puede calcular eficientemente en una computadora. Bajo supuestos adecuados, este método converge. Este método es un caso específico del algoritmo de avance-retroceso para inclusiones monótonas (que incluye programación convexa y desigualdades variacionales ). [ 32 ]
El descenso de gradiente es un caso especial del descenso de espejo que utiliza la distancia euclidiana al cuadrado como la divergencia de Bregman dada . [ 33 ]
Propiedades teóricas
Las propiedades del descenso de gradiente dependen de las propiedades de la función objetivo y de la variante de descenso de gradiente utilizada (por ejemplo, si se utiliza un paso de búsqueda lineal ). Las suposiciones realizadas afectan la tasa de convergencia y otras propiedades que pueden demostrarse para el descenso de gradiente. [ 34 ] Por ejemplo, si se supone que la función objetivo es fuertemente convexa y Lipschitz suave , entonces el descenso de gradiente converge linealmente con un tamaño de paso fijo. [ 1 ] Suposiciones menos estrictas conllevan garantías de convergencia más débiles o requieren una selección de tamaño de paso más sofisticada. [ 34 ]
Ejemplos
Véase también
- Búsqueda de línea con retroceso
- Método del gradiente conjugado
- Descenso de gradiente estocástico
- Rprop
- Regla delta
- Condiciones de Wolfe
- Preacondicionamiento
- Algoritmo de Broyden-Fletcher-Goldfarb-Shanno
- Fórmula de Davidon-Fletcher-Powell
- Método de Nelder-Mead
- Algoritmo de Gauss-Newton
- Subir colinas
- Recocido cuántico
- CLS (búsqueda local continua)
- Neuroevolución
Referencias
- 1 2 Boyd, Stephen; Vandenberghe, Lieven (2004-03-08). Optimización convexa . Cambridge University Press. doi : 10.1017/cbo9780511804441 . ISBN 978-0-521-83378-3.
- ↑ Lemaréchal, C. (1 de enero de 2012). «Cauchy y el método del gradiente» (PDF) . En Grötschel, M. (ed.). Optimization Stories . Documenta Mathematica Series. Vol. 6 (1.ª ed.). EMS Press. pp. 251–254 . doi : 10.4171/dms/6/27 . ISBN 978-3-936609-58-5Archivado del original (PDF) el 29-12-2018 . Consultado el 26-01-2020 .
- ^ Hadamard, Jacques (1908). "Mémoire sur le problème d'analyse relatif à l'équilibre des plaques élastiques encastrées". Mémoires présentés par divers savants éstrangers à l'Académie des Sciences de l'Institut de France . 33 .
- ↑ Courant, R. (1943). "Métodos variacionales para la solución de problemas de equilibrio y vibraciones" . Boletín de la Sociedad Matemática Americana . 49 (1): 1– 23. doi : 10.1090/S0002-9904-1943-07818-4 .
- ↑ Curry, Haskell B. (1944). "El método del descenso más pronunciado para problemas de minimización no lineal" . Quart. Appl. Math . 2 (3): 258– 261. doi : 10.1090/qam/10667 .
- 1 2 3 4 5 Polyak, Boris (1987). Introducción a la optimización .
- ^ Akilov , médico de cabecera; Kantorovich, LV (1982). Análisis funcional (2ª ed.). Prensa de Pérgamo. ISBN 0-08-023036-9.
- ↑ Barzilai, Jonathan; Borwein, Jonathan M. (1988). "Métodos de gradiente de tamaño de paso de dos puntos". IMA Journal of Numerical Analysis . 8 (1): 141– 148. doi : 10.1093/imanum/8.1.141 .
- ↑ Fletcher, R. (2005). "Sobre el método de Barzilai-Borwein". En Qi, L.; Teo, K.; Yang, X. (eds.). Optimización y control con aplicaciones . Optimización aplicada. Vol. 96. Boston: Springer. pp. 235–256 . ISBN 0-387-24254-6.
- ↑ Wolfe, Philip (abril de 1969). "Condiciones de convergencia para métodos de ascenso". SIAM Review . 11 (2): 226– 235. doi : 10.1137/1011036 .
- ↑ Bernstein, Jeremy; Vahdat, Arash; Yue, Yisong; Liu, Ming-Yu (2020-06-12). "Sobre la distancia entre dos redes neuronales y la estabilidad del aprendizaje". arXiv : 2002.03432 [ cs.LG ].
- ↑ Haykin, Simon S. Teoría de filtros adaptativos. Pearson Education India, 2008. - págs. 108-142, 217-242
- ↑ Saad, Yousef (2003). Métodos iterativos para sistemas lineales dispersos (2.ª ed.). Filadelfia, Pensilvania: Society for Industrial and Applied Mathematics. 195 págs . ISBN 978-0-89871-534-7.
- 1 2 Bouwmeester, Henricus; Dougherty, Andrew; Knyazev, Andrew V. (2015). "Preacondicionamiento no simétrico para métodos de gradiente conjugado y descenso más pronunciado" . Procedia Computer Science . 51 : 276–285 . arXiv : 1212.6680 . doi : 10.1016/j.procs.2015.05.241 .
- ↑ Holmes, M. (2023). Introducción a la computación científica y al análisis de datos, 2.ª ed . Springer. ISBN 978-3-031-22429-4.
- ↑ Abdulkadirov, Ruslan; Lyakhov, Pavel; Nagornov, Nikolay (enero de 2023). "Revisión de algoritmos de optimización en redes neuronales modernas" . Matemáticas . 11 (11): 2466. doi : 10.3390/math11112466 . ISSN 2227-7390 .
- ↑ Diakonikolas, Jelena; Jordan, Michael I. (enero de 2021). "Métodos generalizados basados en el momento: una perspectiva hamiltoniana" . SIAM Journal on Optimization . 31 (1): 915– 944. arXiv : 1906.00436 . doi : 10.1137/20M1322716 . ISSN 1052-6234 .
- ↑ Meyer, Gerard GL (noviembre de 1974). "Algoritmos acelerados de Frank-Wolfe" . SIAM Journal on Control . 12 (4): 655– 663. doi : 10.1137/0312050 . ISSN 0036-1402 .
- ↑ Kingma, Diederik P.; Ba, Jimmy (29-01-2017), Adam: Un método para la optimización estocástica , arXiv : 1412.6980
- ↑ Xie, Zeke; Yuan, Li; Zhu, Zhanxing; Sugiyama, Masashi (2021-07-01). "Positive-Negative Momentum: Manipulating Stochastic Gradient Noise to Improve Generalization" . Actas de la 38.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 11448–11458 . arXiv : 2103.17182 .
- ↑ Press, WH ; Teukolsky, SA ; Vetterling, WT; Flannery, BP (1992). Numerical Recipes in C: The Art of Scientific Computing (2.ª ed.). Nueva York: Cambridge University Press . ISBN 0-521-43108-5.
- ↑ Strutz, T. (2016). Ajuste de datos e incertidumbre: una introducción práctica a los mínimos cuadrados ponderados y más allá (2.ª ed.). Springer Vieweg. ISBN 978-3-658-11455-8.
- ↑ Ross, IM (julio de 2019). "Una teoría de control óptimo para la optimización no lineal" . Journal of Computational and Applied Mathematics . 354 : 39–51 . doi : 10.1016/j.cam.2018.12.044 . S2CID 127649426 .
- ↑ Nesterov, Yurii (2004). Lecciones introductorias sobre optimización convexa: un curso básico . Springer. ISBN 1-4020-7553-7.
- ↑ Vandenberghe, Lieven (2019). "Métodos de gradiente rápido" (PDF) . Apuntes de conferencias para EE236C en UCLA .
- ↑ Walkington, Noel J. (2023). "Método de Nesterov para la optimización convexa" . SIAM Review . 65 (2): 539– 562. doi : 10.1137/21M1390037 . ISSN 0036-1445 .
- ↑ Kim, D.; Fessler, JA (2016). " Métodos optimizados de primer orden para la minimización convexa suave" . Mathematical Programming . 151 ( 1–2 ): 81–107 . arXiv : 1406.5468 . doi : 10.1007/ s10107-015-0949-3 . PMC 5067109. PMID 27765996. S2CID 207055414 .
- ↑ Drori, Yoel (2017). "La complejidad basada en información exacta de la minimización convexa suave". Journal of Complexity . 39 : 1–16 . arXiv : 1606.01424 . doi : 10.1016/j.jco.2016.11.001 . S2CID 205861966 .
- ↑ Qian, Ning (enero de 1999). "Sobre el término de momento en los algoritmos de aprendizaje de descenso de gradiente". Redes neuronales . 12 (1): 145– 151. CiteSeerX 10.1.1.57.5612 . doi : 10.1016/S0893-6080(98)00116-6 . PMID 12662723. S2CID 2783597 .
- ↑ "Momento y adaptación de la tasa de aprendizaje" . Universidad de Willamette . Consultado el 17 de octubre de 2014 .
- ↑ Geoffrey Hinton ; Nitish Srivastava; Kevin Swersky. "El método del momento" . Coursera . Consultado el 2 de octubre de 2018 .Parte de una serie de conferencias para el curso en línea de Coursera Redes neuronales para el aprendizaje automático Archivado el 31/12/2016 en Wayback Machine .
- ↑ Combettes, PL; Pesquet, J.-C. (2011). "Métodos de división proximal en el procesamiento de señales". En Bauschke, HH; Burachik, RS ; Combettes, PL; Elser, V.; Luke, DR; Wolkowicz, H. (eds.). Algoritmos de punto fijo para problemas inversos en ciencia e ingeniería . Nueva York: Springer. pp. 185–212 . arXiv : 0912.3522 . ISBN 978-1-4419-9568-1.
- ↑ "Algoritmo de descenso en espejo" .
- 1 2 Bubeck, Sébastien (2015). "Optimización convexa: algoritmos y complejidad". arXiv : 1405.4980 [ math.OC ].
Lecturas adicionales
- Boyd, Stephen ; Vandenberghe, Lieven (2004). «Minimización sin restricciones» (PDF) . Optimización convexa . Nueva York: Cambridge University Press. págs. 457–520 . ISBN 0-521-83378-7.
- Chong, Edwin KP; Żak, Stanislaw H. (2013). «Métodos de gradiente» . Introducción a la optimización (Cuarta ed.). Hoboken: Wiley. pp. 131–160 . ISBN 978-1-118-27901-4.
- Himmelblau, David M. (1972). «Procedimientos de minimización sin restricciones mediante derivadas». Programación no lineal aplicada . Nueva York: McGraw-Hill. págs. 63-132 . ISBN 0-07-028921-2.
Enlaces externos
- Uso del descenso de gradiente en C++, Boost, Ublas para regresión lineal
- Una serie de videos de la Khan Academy analiza el ascenso gradual.
- Enseñanza en línea del descenso de gradiente en el contexto de las redes neuronales profundas
- Archivado en Ghostarchivey la Wayback Machine: "Descenso de gradiente: cómo aprenden las redes neuronales" . 3Blue1Brown . 16 de octubre de 2017 – vía YouTube .
- Garrigos, Guillaume; Gower, Robert M. (2023). "Manual de teoremas de convergencia para métodos de gradiente (estocásticos)". arXiv : 2301.11235 [ math.OC ].
- Optimización matemática
- métodos de primer orden
- Algoritmos y métodos de optimización
- Métodos de gradiente