image00014.jpeg
Document Details

Uploaded by RejoicingJasper4938
Q.I. Roberts Jr.-Sr. High School
Full Transcript
# Comparaison des méthodes de gradient Ce document compare différentes méthodes de gradient utilisées pour l'optimisation. ## Descente de Gradient Batch (BGD) ### Description La descente de gradient batch calcule le gradient de la fonction de coût par rapport à tous les paramètres $\theta$ pour l...
# Comparaison des méthodes de gradient Ce document compare différentes méthodes de gradient utilisées pour l'optimisation. ## Descente de Gradient Batch (BGD) ### Description La descente de gradient batch calcule le gradient de la fonction de coût par rapport à tous les paramètres $\theta$ pour l'ensemble du jeu de données d'entraînement : $\theta = \theta - \eta \cdot \nabla_\theta J(\theta)$ où $\theta$ sont les paramètres du modèle, $\eta$ est le taux d'apprentissage, et $J(\theta)$ est la fonction de coût. ### Avantages - Convergence directe vers le minimum. - Gradient stable. ### Inconvénients - Calculs coûteux pour les grands ensembles de données. - Nécessite de charger l'ensemble du jeu de données en mémoire. - Peut être bloqué dans des minima locaux. ## Descente de Gradient Stochastique (SGD) ### Description La descente de gradient stochastique met à jour les paramètres $\theta$ pour chaque exemple d'entraînement $x_i$ et son étiquette $y_i$ : $\theta = \theta - \eta \cdot \nabla_\theta J(\theta; x_i, y_i)$ ### Avantages - Calculs plus rapides par rapport à BGD, surtout pour les grands ensembles de données. - Peut échapper aux minima locaux grâce à la nature stochastique des mises à jour. ### Inconvénients - Convergence plus bruyante et oscillations autour du minimum. - Nécessite un taux d'apprentissage (learning rate) adaptatif pour une convergence correcte. ## Descente de Mini-Batch Gradient ### Description La descente de mini-batch gradient est un compromis entre BGD et SGD. Elle met à jour les paramètres $\theta$ pour chaque mini-batch de $n$ exemples d'entraînement : $\theta = \theta - \eta \cdot \nabla_\theta J(\theta; x_{i:i+n}, y_{i:i+n})$ ### Avantages - Plus stable que SGD grâce à la moyenne du gradient sur un mini-batch. - Peut utiliser des bibliothèques d'optimisation matricielle pour des calculs efficaces. - Convergence plus rapide que BGD. ### Inconvénients - Introduction d'un hyperparamètre supplémentaire : la taille du mini-batch. ## Défis ### Taux d'apprentissage Le choix d'un taux d'apprentissage approprié peut être difficile. Un taux trop petit entraîne une convergence lente, tandis qu'un taux trop grand peut empêcher la convergence. ### Mise à jour du taux d'apprentissage (Learning Rate Decay) La mise à jour du taux d'apprentissage consiste à réduire le taux d'apprentissage au cours du temps. Par exemple: $\eta_t = \frac{n}{\sqrt{t+c}} $ où $t$ est l'itération, et $n$ et $c$ sont des hyperparamètres. ### Minimum Local Éviter les minimums locaux et les points de selle peut être difficile, en particulier dans les espaces de haute dimension. ## Méthodes d'optimisation ### Momentum ### Description Le momentum aide à accélérer la descente de gradient dans la bonne direction et réduit les oscillations : $v_t = \gamma v_{t-1} + \eta \nabla_\theta J(\theta) $ $\theta = \theta - v_t$ où $v_t$ est la vitesse, $\gamma$ est le coefficient de momentum (généralement 0.9). ### Avantages - Accélère la convergence. - Réduit l'oscillation. ### Nesterov Accelerated Gradient (NAG) ### Description Nesterov Accelerated Gradient (NAG) est une variante de la méthode du momentum avec une correction : $v_t = \gamma v_{t-1} + \eta \nabla_\theta J(\theta - \gamma v_{t-1})$ $\theta = \theta - v_t$ Cette correction permet d'anticiper la prochaine position des paramètres et d'ajuster le gradient en conséquence. ### Adagrad ### Description Adagrad adapte le taux d'apprentissage à chaque paramètre en fonction de l'historique de ses gradients : $\theta_t = \theta_{t-1} - \frac{n}{\sqrt{G_t + \epsilon}} \cdot g_t$ où $G_t$ est la somme des carrés des gradients jusqu'à l'itération $t$, $g_t$ est le gradient actuel, et $\epsilon$ est une petite constante pour éviter la division par zéro. ### Avantages - Adapte le taux d'apprentissage de manière adaptative pour chaque paramètre. - Bien adapté aux données creuses. ### Inconvénients - Le taux d'apprentissage diminue continuellement, ce qui peut ralentir la convergence. ### Adadelta et RMSProp ### Description Adadelta et RMSProp visent à résoudre le problème de la diminution continue du taux d'apprentissage d'Adagrad en utilisant une fenêtre glissante de gradients : $E[g^2]_t = \gamma E[g^2]_{t-1} + (1 - \gamma)g_t^2$ $\theta_{t+1} = \theta_t - \frac{n}{\sqrt{E[g^2]_t + \epsilon}} g_t$ RMSProp a été proposé par Hinton. Adadelta est une version d'Adagrad plus robuste. ### Adam ### Description Adam combine les avantages de RMSProp et du momentum : $m_t = \beta_1 m_{t-1} + (1 - \beta_1)g_t$ $v_t = \beta_2 v_{t-1} + (1 - \beta_2)g_t^2$ $\hat{m}_t = \frac{m_t}{1 - \beta_1^t}$ $\hat{v}_t = \frac{v_t}{1 - \beta_2^t}$ $\theta_{t+1} = \theta_t - \frac{n}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t$ où $m_t$ et $v_t$ sont des estimations des premier et second moments des gradients, et $\beta_1$ et $\beta_2$ sont les taux de décroissance exponentielle (généralement $\beta_1 = 0.9$ et $\beta_2 = 0.999$). ### Avantages - Efficace et populaire. - Combine les avantages d'autres méthodes. - S'adapte bien à une grande variété de problèmes. ### Inconvénients - Nécessite le réglage de plusieurs hyperparamètres. ## Visualisation Le document contient une visualisation comparant différentes méthodes d'optimisation sur des contours de fonction de coût. Les méthodes incluent SGD, SGD avec Momentum, SGD avec NAG, Adagrad, Adadelta, RMSprop et Adam. Les trajectoires montrent comment chaque méthode converge vers le minimum. Les méthodes sont comparées en termes de leur capacité à éviter les oscillations, à accélérer la convergence et à s'adapter aux différentes caractéristiques de la fonction de coût.