Im RL-Framework navigieren

Reinforcement Learning mit Gymnasium in Python

Fouad Trad

Machine Learning Engineer

RL-Framework

Bild: Ein Agent-Komponent.

Reinforcement Learning mit Gymnasium in Python

RL-Framework

Bild: Agent- und Umgebungs-Komponenten.

Reinforcement Learning mit Gymnasium in Python

RL-Framework

  • Agent: Lerner, Entscheider
  • Umgebung: zu lösende Aufgaben

Bild: Alle RL-Komponenten: Agent, Umgebung, Zustände, Aktionen, Belohnungen.

Reinforcement Learning mit Gymnasium in Python

RL-Framework

  • Agent: Lerner, Entscheider
  • Umgebung: zu lösende Aufgaben
  • Zustand: Momentaufnahme der Umgebung

Bild: Die Umgebung liefert Zustände an den Agenten.

Reinforcement Learning mit Gymnasium in Python

RL-Framework

  • Agent: Lerner, Entscheider
  • Umgebung: zu lösende Aufgaben
  • Zustand: Momentaufnahme der Umgebung
  • Aktion: Wahl des Agents auf einen Zustand

Bild: Der Agent reagiert auf den Zustand der Umgebung mit einer Aktion.

Reinforcement Learning mit Gymnasium in Python

RL-Framework

  • Agent: Lerner, Entscheider
  • Umgebung: zu lösende Aufgaben
  • Zustand: Momentaufnahme der Umgebung
  • Aktion: Wahl des Agents auf einen Zustand
  • Belohnung: Feedback auf die Aktion

Bild: Der Agent reagiert auf den Zustand mit einer Aktion und erhält dafür eine Belohnung von der Umgebung.

Reinforcement Learning mit Gymnasium in Python

RL-Interaktionsschleife

env = create_environment()
state = env.get_initial_state()

for i in range(n_iterations): action = choose_action(state)
state, reward = env.execute(action)
update_knowledge(state, action, reward)

Bild: Der Agent reagiert auf den Zustand mit einer Aktion und erhält dafür eine Belohnung von der Umgebung.

Reinforcement Learning mit Gymnasium in Python

Episodisch vs. stetig

Episodische Aufgaben
  • In Episoden unterteilt
  • Episode hat Anfang und Ende
  • Beispiel: Agent spielt Schach

Bild: Eine Katze spielt Schach.

Stetige Aufgaben
  • Kontinuierliche Interaktion
  • Keine klaren Episoden
  • Beispiel: Ampelschaltungen anpassen

Bild: Ein Frosch fährt Fahrrad und wartet auf Grün.

Reinforcement Learning mit Gymnasium in Python

Return

  • Aktionen haben langfristige Folgen
  • Ziel: Gesamtertrag über Zeit maximieren
  • Return: Summe aller erwarteten Belohnungen

Bild: Der Return ist die Summe der Einzelbelohnungen r_1 bis r_n.

Reinforcement Learning mit Gymnasium in Python

Abgeschlagener Return

  • Unmittelbare Belohnungen sind wertvoller als zukünftige
  • Abgeschlagener Return: gewichtet nahe Belohnungen stärker
  • Abschlagfaktor ($\gamma$): verringert künftige Belohnungen

Bild: Formel des abgeschlagenen Returns als Summe der Belohnungen, jeweils mit dem Abschlagfaktor potenziert nach Zeitschritt.

Reinforcement Learning mit Gymnasium in Python

Abschlagfaktor

  • Zwischen null und eins
  • Balanciert kurzfristige vs. langfristige Belohnungen
    • Niedriger Wert → sofortige Gewinne
    • Hoher Wert → langfristige Vorteile

Bild: Einfluss extremer Abschlagwerte: 0 bevorzugt nur sofortige Gewinne, 1 bevorzugt zukünftige ohne Abschlag.

Reinforcement Learning mit Gymnasium in Python

Zahlenbeispiel

import numpy as np
expected_rewards = np.array([1, 6, 3])

discount_factor = 0.9
discounts = np.array([discount_factor ** i for i in range(len(expected_rewards))])
print(f"Discounts: {discounts}")
Discounts: [1.   0.9  0.81]
discounted_return = np.sum(expected_rewards * discounts)
print(f"The discounted return is {discounted_return}")
The discounted return is 8.83
Reinforcement Learning mit Gymnasium in Python

Lass uns üben!

Reinforcement Learning mit Gymnasium in Python

Preparing Video For Download...