¿Gradient Descent es central para cada optimizador?

Respuestas:

28

No. El descenso de gradiente se usa en algoritmos de optimización que usan el gradiente como base de su movimiento de pasos. Adam, Adagrady RMSProptodos usan alguna forma de descenso de gradiente, sin embargo, no constituyen todos los optimizadores. Los algoritmos evolutivos como la optimización de enjambre de partículas y los algoritmos genéticos están inspirados en fenómenos naturales que no utilizan gradientes. Otros algoritmos, como la optimización bayesiana , se inspiran en las estadísticas.

Echa un vistazo a esta visualización de la optimización bayesiana en acción: Optimización Bayesiana en acción

También hay algunos algoritmos que combinan conceptos de optimización evolutiva y basada en gradiente.

Los algoritmos de optimización basados ​​en no derivadas pueden ser especialmente útiles en funciones de costos irregulares no convexas, funciones de costos no diferenciables o funciones de costos que tienen una derivada izquierda o derecha diferente .

Para entender por qué uno puede elegir un algoritmo de optimización no derivado. Eche un vistazo a la función de referencia Rastrigin . La optimización basada en gradiente no es adecuada para optimizar funciones con tantos mínimos locales.

Función de referencia de Rastrigin

jeb02
fuente
muchas gracias. Me encantó tu respuesta
InAFlash
8

Según el título:
No. Solo los tipos específicos de optimizadores se basan en el Descenso de degradado. Un contraejemplo sencillo es cuando la optimización se realiza en un espacio discreto donde el gradiente no está definido.

Según el cuerpo:
sí. Adam, Adagrad, RMSProp y otros optimizadores similares (Nesterov, Nadam, etc.) intentan proponer un tamaño de paso adaptativo (tasa de aprendizaje) para el descenso de gradiente para mejorar la velocidad de convergencia sin sacrificar el rendimiento (es decir, empeorar el mínimo local / peor). máximo).

Vale la pena señalar que también hay métodos de Newton, y de manera similar, métodos cuasi-Newton, que funcionan con la derivada de segundo orden de la función de pérdida (la pendiente de gradiente funciona con la derivada de primer orden). Estos métodos han perdido la compensación de escalabilidad de velocidad al descenso de gradiente debido a la gran cantidad de parámetros del modelo en problemas prácticos.

Algunas notas extra

  1. La forma de la función de pérdida depende tanto de los parámetros del modelo como de los datos, por lo que elegir el mejor método siempre depende de la tarea y necesita prueba y error.

  2. La parte estocástica del descenso del gradiente se logra mediante el uso de un lote de datos en lugar de los datos completos. Esta técnica es paralela a todos los métodos mencionados, lo que significa que todos pueden ser estocásticos (utilizando un lote de datos) o deterministas (utilizando todos los datos).

  3. w21(0 0,1.1)(0 0,1)(0,43,0.9)

Esmailian
fuente
3

La respuesta a la pregunta puede ser no. La razón se debe simplemente a los numerosos algoritmos de optimización disponibles, pero elegir uno depende en gran medida del contexto y el tiempo que tenga para la optimización. Por ejemplo, el algoritmo genético es un enfoque de optimización bien conocido que no tiene ningún descenso de gradiente dentro de él. También hay otros enfoques como retroceder en algunos contextos. Se pueden usar todos los que no aprovechan el descenso del gradiente paso a paso.

Por otro lado, para tareas como la regresión, puede encontrar la forma cerrada para resolver el problema para encontrar extremos, pero el punto es que, dependiendo del espacio de características y el número de entradas, puede elegir la ecuación de forma cerrada o el gradiente descenso para disminuir el número de cálculos.

Si bien hay tantos algoritmos de optimización, en las redes neuronales los enfoques basados ​​en el descenso de gradiente se usan más debido a múltiples razones. En primer lugar, son muy rápidos. En el aprendizaje profundo, debe proporcionar tantos datos que no se puedan cargar en la memoria simultáneamente. En consecuencia, debe aplicar métodos de gradiente por lotes para la optimización. Es un poco de estadística, pero puede considerar que cada muestra que trae a su red puede tener una distribución más o menos similar a los datos reales y puede ser lo suficientemente representativa como para encontrar un gradiente que pueda estar cerca del gradiente real de la función de costo que debería ser construido usando todos los datos disponibles.

O(norte3)w=(XtX)-1(Xty)

En tercer lugar, hay problemas de optimización que no necesariamente tienen una solución de forma cerrada. La regresión logística es una de ellas.

Medios de comunicación
fuente
3

Bueno, elegiste optimizadores que se usan en redes neuronales, esos optimizadores usan algoritmos basados ​​en gradiente. La mayoría de las veces los algoritmos basados ​​en gradientes se usan en redes neuronales. ¿Porqué es eso? Bueno, ¿preferirías tratar de encontrar el mínimo conociendo la pendiente de una curva o sin saberlo? Cuando no pueda calcular el gradiente, recurrirá a la optimización sin derivados . Dicho esto, hay casos en los que, aunque tenga información sobre el gradiente, es mejor usar un método sin gradiente. Este suele ser el caso con funciones que tienen muchos mínimos locales. Los algoritmos basados ​​en la población, como las estrategias evolutivas y los algoritmos genéticos tienen la ventaja aquí. Y también está la rama de la optimización combinatoria donde se utiliza un conjunto completamente diferente de herramientas.

cristiano
fuente