0Pricing
Learn AI with Python · Lektion

Deep Q-Learning

Neuronale Netze für bestärkendes Lernen einsetzen

Deep Q-Learning ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.

Was ist Deep Q-Learning?

Deep Q-Learning

Deep Q-Learning ist eine Erweiterung von Q-Learning, die ein neuronales Netz verwendet, um die Q-Tabelle zu approximieren. Dadurch kann Reinforcement Learning auf Umgebungen mit großen oder kontinuierlichen Zustands-Aktions-Räumen skaliert werden.

Deep Q-Learning — Illustration 1

Warum Deep Q-Learning?

Warum Deep Q-Learning?

Deep Q-Learning behebt die Einschränkungen des herkömmlichen Q-Learning:

  • Verarbeitet hochdimensionale Zustandsräume (z. B. Bilder).
  • Macht es überflüssig, große Q-Tabellen im Speicher abzulegen.
  • Verallgemeinert über Zustände hinweg mithilfe neuronaler Netze.

Der DQN-Algorithmus

Der DQN-Algorithmus

Deep Q-Learning verwendet ein neuronales Netz namens Q-Netzwerk, um die Q-Werte zu approximieren. Die wichtigsten Schritte sind:

  1. Initialisieren Sie das Q-Netzwerk mit zufälligen Gewichten.
  2. Interagieren Sie mit der Umgebung, um Erfahrungstupel (state, action, reward, next_state) zu sammeln.
  3. Aktualisieren Sie das Q-Netzwerk mithilfe der Bellman-Gleichung:

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

Aufbau des Q-Netzwerks

Aufbau des Q-Netzwerks

Das Q-Netzwerk ist ein einfaches neuronales Feedforward-Netz, das den aktuellen Zustand als Eingabe übernimmt und Q-Werte für alle möglichen Aktionen ausgibt:

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

Experience Replay

Experience Replay

Deep Q-Learning verwendet eine Technik namens Experience Replay, um das Lernen zu verbessern:

  • Speichern Sie Erfahrungen (state, action, reward, next_state) in einem Speicherpuffer.
  • Wählen Sie zufällig Batches von Erfahrungen aus, um das Q-Netzwerk zu trainieren.
from collections import deque

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

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

Trainieren des Q-Netzwerks

Trainieren des Q-Netzwerks

Wir trainieren das Q-Netzwerk mit den Erfahrungen aus dem Speicherpuffer:

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)

Zielnetzwerke

Zielnetzwerke

Um das Training zu stabilisieren, verwendet DQN ein Zielnetzwerk:

  • Ein separates Netzwerk zum Berechnen der Ziel-Q-Werte verwalten.
  • Die Gewichte des Q-Netzwerks regelmäßig in das Zielnetzwerk kopieren.

Vorteile von Deep Q-Learning

Vorteile von Deep Q-Learning

Deep Q-Learning bietet mehrere Vorteile:

  • Verarbeitet hochdimensionale Zustandsräume wie Bilder.
  • Verallgemeinert über Zustände hinweg mithilfe neuronaler Netze.
  • Kann komplexe Aufgaben wie Atari-Spiele und die Steuerung von Robotern lösen.

Zusammenfassung und nächste Schritte

Zusammenfassung und nächste Schritte

In dieser Lektion haben wir:

  • Die Grundlagen von Deep Q-Learning erkundet.
  • Ein Q-Netzwerk zur Approximation von Q-Werten erstellt.
  • Experience Replay und Zielnetzwerke für stabiles Training besprochen.

Als Nächstes sehen wir uns OpenAI Gym an und wenden Reinforcement Learning in simulierten Umgebungen an.

Deep Q-Learning — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Deep Q-Learning“ kostenlos?

Ja — der vollständige Text von „Deep Q-Learning“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.

Was lerne ich in „Deep Q-Learning“?

Neuronale Netze für bestärkendes Lernen einsetzen Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 5.

Wie lange dauert die Lektion „Deep Q-Learning“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlegende Konzepte des bestärkenden Lernens
  2. Das Q-Table-Konzept
  3. Q-Tabelle in Python implementieren
  4. Deep Q-Learning
  5. OpenAI Gym erkunden
← Zurück zu Learn AI with Python