0Pricing
Python Academy · Leçon

Apprentissage Q profond

Utilisation de réseaux neuronaux pour l’apprentissage par renforcement

Apprentissage Q profond est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 5 leçons au total.

Qu’est-ce que l’apprentissage Q profond

Apprentissage Q profond

L’apprentissage Q profond est une extension de l’apprentissage Q qui utilise un réseau neuronal pour approximer le tableau Q. Cela permet à l’apprentissage par renforcement de s’adapter à des environnements dont les espaces état-action sont vastes ou continus.

Apprentissage Q profond — illustration 1

Pourquoi l’apprentissage Q profond

Pourquoi l’apprentissage Q profond

L’apprentissage Q profond remédie aux limites de l’apprentissage Q traditionnel :

  • Il gère les espaces d’états de grande dimension, par exemple les images.
  • Il évite de devoir stocker de grands tableaux Q en mémoire.
  • Il généralise d’un état à l’autre grâce aux réseaux neuronaux.

L’algorithme DQN

L’algorithme DQN

L’apprentissage Q profond utilise un réseau neuronal appelé réseau Q pour approximer les valeurs Q. Les principales étapes sont les suivantes :

  1. Initialiser le réseau Q avec des poids aléatoires.
  2. Interagir avec l’environnement pour recueillir des quadruplets d’expérience (state, action, reward, next_state).
  3. Mettre à jour le réseau Q à l’aide de l’équation de Bellman :

Q(s, a) ≈ r + γ max(Q(s', a'))

Construire le réseau Q

Construire le réseau Q

Le réseau Q est un réseau neuronal simple à propagation avant qui reçoit l’état actuel en entrée et produit les valeurs Q de toutes les actions possibles en sortie :

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# Define the Q-Network
q_network = Sequential([
    Dense(24, activation='relu', input_shape=(state_space_size,)),
    Dense(24, activation='relu'),
    Dense(action_space_size, activation='linear')
])

q_network.compile(optimizer='adam', loss='mse')

Relecture des expériences

Relecture des expériences

L’apprentissage Q profond utilise une technique appelée relecture des expériences pour améliorer l’apprentissage :

  • Stocker les expériences (state, action, reward, next_state) dans un tampon mémoire.
  • Échantillonner aléatoirement des lots d’expériences pour entraîner le réseau Q.
from collections import deque

# Initialize replay memory
memory = deque(maxlen=2000)

# Add experience to memory
memory.append((state, action, reward, next_state, done))

Entraîner le réseau Q

Entraîner le réseau Q

Nous entraînons le réseau Q à l’aide des expériences du tampon mémoire :

import numpy as np

# Sample a batch of experiences
batch_size = 32
batch = random.sample(memory, batch_size)

# Train the Q-Network
for state, action, reward, next_state, done in batch:
    target = reward
    if not done:
        target += gamma * np.max(q_network.predict(next_state[np.newaxis, ...]))
    q_values = q_network.predict(state[np.newaxis, ...])
    q_values[0][action] = target
    q_network.fit(state[np.newaxis, ...], q_values, epochs=1, verbose=0)

Réseaux cibles

Réseaux cibles

Pour stabiliser l’entraînement, DQN utilise un réseau cible :

  • Conserver un réseau distinct pour calculer les valeurs Q cibles.
  • Copier périodiquement les poids du réseau Q vers le réseau cible.

Avantages de l’apprentissage Q profond

Avantages de l’apprentissage Q profond

L’apprentissage Q profond présente plusieurs avantages :

  • Il gère les espaces d’états de grande dimension, comme les images.
  • Il généralise d’un état à l’autre grâce aux réseaux neuronaux.
  • Il peut résoudre des tâches complexes comme les jeux Atari et le contrôle de robots.

Résumé et prochaines étapes

Résumé et prochaines étapes

Dans cette leçon, nous avons :

  • exploré les bases de l’apprentissage Q profond ;
  • construit un réseau Q pour approximer les valeurs Q ;
  • examiné la relecture des expériences et les réseaux cibles pour stabiliser l’entraînement.

Ensuite, nous découvrirons OpenAI Gym et appliquerons l’apprentissage par renforcement dans des environnements simulés.

Apprentissage Q profond — illustration 10

Questions Fréquemment Posées

La leçon « Apprentissage Q profond » est-elle gratuite ?

Oui — le texte complet de « Apprentissage Q profond » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 5 leçons au total.

Qu'est-ce que j'apprendrai dans « Apprentissage Q profond » ?

Utilisation de réseaux neuronaux pour l’apprentissage par renforcement Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 5.

Combien de temps prend la leçon « Apprentissage Q profond » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Notions fondamentales de l’apprentissage par renforcement
  2. Concept de la table Q
  3. Implémentation d’une table Q en Python
  4. Apprentissage Q profond
  5. Découverte d’OpenAI Gym
← Retour à Python Academy