Ajustement (fine-tuning)

  • Mise à jour le 25 septembre 2024
  • 1 min. à lire

L'ajustement, ou fine-tuning en anglais, est une technique d'optimisation utilisée en programmation, particulièrement dans le domaine de l'apprentissage automatique et des réseaux de neurones. Ce processus consiste à affiner un modèle préalablement entraîné sur une tâche générale pour l'adapter à une tâche plus spécifique ou à un nouveau jeu de données.

Dans le contexte de la programmation, l'ajustement permet de :

  1. Améliorer les performances d'un modèle existant
  2. Réduire le temps et les ressources nécessaires à l'entraînement
  3. Transférer les connaissances d'un domaine à un autre

Par exemple, un modèle de traitement du langage naturel entraîné sur un large corpus de textes en anglais pourrait être ajusté pour comprendre le jargon spécifique d'un domaine médical.

# Exemple simplifié d'ajustement en utilisant TensorFlow
import tensorflow as tf

# Charger un modèle pré-entraîné
base_model = tf.keras.applications.MobileNetV2(weights='imagenet', include_top=False)

# Geler les couches du modèle de base
base_model.trainable = False

# Ajouter de nouvelles couches pour l'ajustement
model = tf.keras.Sequential([
    base_model,
    tf.keras.layers.GlobalAveragePooling2D(),
    tf.keras.layers.Dense(100, activation='softmax')
])

# Compiler et entraîner le modèle ajusté
model.compile(optimizer='adam', loss='categorical_crossentropy')
model.fit(new_data, epochs=10)

L'ajustement est souvent utilisé en conjonction avec l'apprentissage par transfert, où les connaissances acquises pour une tâche sont appliquées à une tâche différente mais connexe. Cette technique est particulièrement utile lorsqu'on dispose de peu de données d'entraînement pour la nouvelle tâche.

tracking-thumb