0Pricing
Learn AI with Python · Leçon

Apprentissage Q profond

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

Apprentissage Q profond est une leçon Learn AI with Python 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 Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python 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 de neurones pour approximer la table Q. Cela permet à l’apprentissage par renforcement de s’adapter à des environnements comportant de grands espaces état-action ou des espaces 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 :

  • Gère les espaces d’états de grande dimension, par exemple les images.
  • Évite de devoir stocker de grandes tables Q en mémoire.
  • Généralise les connaissances entre les états grâce aux réseaux de neurones.

L’algorithme DQN

L’algorithme DQN

L’apprentissage Q profond utilise un réseau de neurones 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 tuples 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'))

Construction du réseau Q

Construction du 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')

Rejeu d’expérience

Rejeu d’expérience

L’apprentissage Q profond utilise une technique appelée rejeu d’expérience pour améliorer l’apprentissage :

  • Stocker les expériences (state, action, reward, next_state) dans un tampon mémoire.
  • Prélever aléatoirement des lots d’expériences à l’aide de sample 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înement du réseau Q

Entraînement du réseau Q

Nous entraînons le réseau Q à partir 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 :

  • Maintenir 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 offre plusieurs avantages :

  • Gère les espaces d’états de grande dimension, comme les images.
  • Généralise les connaissances entre les états grâce aux réseaux de neurones.
  • Peut résoudre des tâches complexes comme les jeux Atari et la commande de robots.

Résumé et prochaines étapes

Résumé et prochaines étapes

Dans cette leçon, nous avons :

  • Découvert les principes fondamentaux de l’apprentissage Q profond.
  • Construit un réseau Q pour approximer les valeurs Q.
  • Étudié le rejeu d’expérience et les réseaux cibles pour obtenir un entraînement stable.

Ensuite, nous explorerons 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 Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python 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 Learn AI with Python 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 Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python 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 Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python 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 table Q
  3. Implémentation d'une table Q en Python
  4. Apprentissage Q profond
  5. Découverte d'OpenAI Gym
← Retour à Learn AI with Python