Técnicas de optimización para Gradient Descent

Gradient Descent es un algoritmo de optimización iterativo que se utiliza para encontrar el valor mínimo de una función. La idea general es inicializar los parámetros a valores aleatorios y luego dar pequeños pasos en la dirección de la «pendiente» en cada iteración. El descenso de gradiente se usa mucho en el aprendizaje supervisado para minimizar la función de error y encontrar los valores óptimos para los parámetros. Se han diseñado varias extensiones para los algoritmos de descenso de gradiente. Algunos de ellos se discuten a continuación:

Método Momentum : este método se utiliza para acelerar el algoritmo de descenso de gradientes teniendo en cuenta el promedio ponderado exponencialmente de los gradientes. El uso de promedios hace que el algoritmo converja hacia los mínimos de una manera más rápida, ya que los gradientes hacia las direcciones poco comunes se cancelan. El pseudocódigo para el método de momento se da a continuación.

V = 0
for each iteration i:
    compute dW
    V = β V + (1 - β) dW
    W = W - α V

V y dW son análogos a la velocidad y la aceleración respectivamente. α es la tasa de aprendizaje y β es análoga a la cantidad de movimiento que normalmente se mantiene en 0,9. La interpretación física es que la velocidad de una pelota que rueda cuesta abajo aumenta el impulso de acuerdo con la dirección de la pendiente (gradiente) de la colina y, por lo tanto, ayuda a una mejor llegada de la pelota a un valor mínimo (en nuestro caso, a una pérdida mínima).

RMSprop : RMSprop fue propuesto por Geoffrey Hinton de la Universidad de Toronto. La intuición es aplicar un método de promedio ponderado exponencialmente al segundo momento de los gradientes (dW 2 ). El pseudocódigo para esto es el siguiente:

S = 0
for each iteration i
    compute dW
    S = β S + (1 - β) dW2
    W = W - α dW√S + ε

Optimización de Adam : el algoritmo de optimización de Adam incorpora el método de impulso y RMSprop, junto con la corrección de sesgo. El pseudocódigo para este enfoque es el siguiente:

V = 0
S = 0
for each iteration i
    compute dW
    V = β1 S + (1 - β1) dW
    S = β2 S + (1 - β2) dW2
    V = V{1 - β1i}
    S = S{1 - β2i}
    W = W - α V√S + ε

Kingma y Ba, los proponentes de Adam, recomendaron los siguientes valores para los hiperparámetros.

α = 0.001
β1 = 0.9
β2 = 0.999
ε = 10-8

Publicación traducida automáticamente

Artículo escrito por vaibhav29498 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *