Réglage des hyperparamètres dans les réseaux de neurones

Réglage des hyperparamètres dans les réseaux de neurones

kdn-header-gulati-hyperparameter-tuning-nn Réglage des hyperparamètres dans les réseaux de neurones NEWS

Les hyperparamètres jouent un rôle crucial dans la manière dont un réseau neuronal apprend et traite les informations. Contrairement aux paramètres du modèle qui sont appris pendant la formation, les hyperparamètres doivent être définis avant de commencer le processus de formation. Cet article explore les techniques d’optimisation des hyperparamètres dans les modèles de réseaux de neurones.

Hyperparamètres dans les réseaux de neurones

Taux d’apprentissage

Le taux d’apprentissage détermine l’ampleur des modifications apportées au modèle en fonction de ses erreurs. Un taux d’apprentissage élevé permet un apprentissage rapide mais peut entraîner des erreurs, tandis qu’un taux faible favorise un apprentissage plus lent et précis, réduisant ainsi les erreurs et améliorant la précision.

Learning-Rate-300x116 Réglage des hyperparamètres dans les réseaux de neurones NEWS Learning-Rate-300x116 Réglage des hyperparamètres dans les réseaux de neurones NEWS Source : https://www.jeremyjordan.me/nn-learning-rate/

Il existe des méthodes pour ajuster le taux d’apprentissage afin d’obtenir les meilleurs résultats possibles, notamment en modifiant le taux à des intervalles prédéfinis pendant la formation. Des optimiseurs comme Adam peuvent également ajuster automatiquement le taux d’apprentissage en fonction de la performance de la formation.

Taille du lot

La taille du lot correspond au nombre d’échantillons d’entraînement que le modèle traite à la fois. Une grande taille de lot permet un apprentissage plus stable mais nécessite plus de mémoire, tandis qu’une petite taille de lot met à jour le modèle plus fréquemment, ce qui peut accélérer l’apprentissage mais introduire plus de variations à chaque mise à jour. La taille du lot influence la mémoire et le temps de traitement nécessaires pour l’apprentissage.

Nombre d’époques

Les époques désignent le nombre de fois qu’un modèle parcourt l’ensemble de données pendant la formation. Chaque époque comprend plusieurs cycles où tous les lots de données sont présentés au modèle pour l’apprentissage et l’optimisation des paramètres. Un nombre élevé d’époques peut améliorer l’apprentissage, mais un suivi attentif est nécessaire pour éviter le surajustement. Des techniques comme l’arrêt précoce sont souvent utilisées pour trouver le bon équilibre.

Fonction d’activation

Les fonctions d’activation déterminent si un neurone doit être activé, introduisant ainsi une non-linéarité bénéfique pour modéliser des interactions complexes dans les données.

Activation-function-300x114 Réglage des hyperparamètres dans les réseaux de neurones NEWS Activation-function-300x114 Réglage des hyperparamètres dans les réseaux de neurones NEWS Source : https://www.researchgate.net/publication/354971308/figure/fig1/AS:1080246367457377@1634562212739/Curves-of-the-Sigmoid-Tanh-and-ReLu-activation-functions.jpg

Les fonctions d’activation courantes incluent ReLU, Sigmoid et Tanh. ReLU accélère la formation en n’activant que les neurones positifs, Sigmoid est utilisé pour attribuer des probabilités avec des valeurs entre 0 et 1, et Tanh est utile pour des valeurs comprises entre -1 et 1. Le choix de la fonction d’activation est crucial pour la précision des prédictions du réseau.

Abandonner

L’abandon est une technique pour éviter le surajustement en désactivant aléatoirement certains neurones pendant chaque itération d’entraînement, réglant leurs sorties à zéro. Cela empêche les neurones de trop dépendre d’entrées spécifiques, aidant le réseau à se concentrer sur les caractéristiques essentielles. L’abandon est appliqué pendant la formation et désactivé lors de l’inférence.

Techniques de réglage des hyperparamètres

Recherche manuelle

Cette méthode consiste à ajuster manuellement les valeurs des hyperparamètres par essais et erreurs pour observer leur impact sur les performances du modèle. Voici un exemple de code :

learning_rate = 0.01
batch_size = 64
num_layers = 4

model = Model(learning_rate=learning_rate, batch_size=batch_size, num_layers=num_layers)
model.fit(X_train, y_train)

La recherche manuelle est simple mais peut être chronophage et inefficace par rapport aux méthodes automatisées.

Recherche de grille

La recherche par grille teste de nombreuses combinaisons d’hyperparamètres pour trouver les meilleures. Elle entraîne le modèle sur une partie des données et vérifie ses performances sur une autre. Voici un exemple d’implémentation avec GridSearchCV :

from sklearn.model_selection import GridSearchCV

param_grid = {
'learning_rate': [0.001, 0.01, 0.1],
'batch_size': [32, 64, 128],
'num_layers': [2, 4, 8]
}

grid_search = GridSearchCV(model, param_grid, cv=5)
grid_search.fit(X_train, y_train)

La recherche par grille est plus rapide que la recherche manuelle mais coûteuse en termes de calcul car elle vérifie toutes les combinaisons possibles.

Recherche aléatoire

Cette technique sélectionne aléatoirement des combinaisons d’hyperparamètres pour trouver le modèle le plus efficace. Pour chaque combinaison, elle entraîne le modèle et vérifie ses performances. Voici un exemple d’implémentation avec RandomizedSearchCV :

from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import uniform, randint

param_dist = {
'learning_rate': uniform(0.001, 0.1),
'batch_size': randint(32, 129),
'num_layers': randint(2, 9)
}

random_search = RandomizedSearchCV(model, param_distributions=param_dist, n_iter=10, cv=5)
random_search.fit(X_train, y_train)

La recherche aléatoire est souvent plus efficace que la recherche par grille car elle vérifie un nombre limité d’hyperparamètres. Cependant, elle peut ne pas trouver la meilleure combinaison dans un espace de recherche très large.

Conclusion

Nous avons couvert certaines des techniques de base de réglage des hyperparamètres. Les techniques avancées incluent l’optimisation bayésienne, les algorithmes génétiques et l’hyperbande.

Jayita Gulati est une passionnée d’apprentissage automatique et rédactrice technique, motivée par sa passion pour la création de modèles d’apprentissage automatique. Elle est titulaire d’une maîtrise en informatique de l’Université de Liverpool.

Source