Q-learning

En model-fri forstærkningslæringsalgoritme, der lærer en optimal politik ved at estimere den forventede fremtidige belønning for hver handling i en given tilstand.

Kort fortalt

Q-learning er en metode, hvor en agent lærer at træffe de bedste beslutninger ved at prøve sig frem og huske, hvilke handlinger der gav mest belønning på lang sigt.

Kategori
teknik
Niveau
øvet
Udtale
/ˈkjuː ˌlɜːrnɪŋ/

Betydninger

1
  1. 1

    En algoritme inden for forstærkningslæring, der iterativt opdaterer en Q-funktion for at estimere den optimale handlingsværdi, baseret på Bellman-ligningen for optimalitet.

    • Agenten anvender Q-learning til at lære at navigere i et gitter ved at opdatere sine Q-værdier efter hvert skridt.
    • I Q-learning vælges handlinger ofte med en epsilon-greedy strategi for at balancere udforskning og udnyttelse.

Hvornår bruges det

Q-learning bruges i forstærkningslæring til at træne agenter i miljøer med diskrete tilstands- og handlingsrum, fx spil, robotstyring og ressourceallokering. Det kræver ikke en model af miljøet og kan anvendes online.

Formel

Q(s,a) ← Q(s,a) + α · (r + γ · maxₐ' Q(s',a') - Q(s,a))

Kodeeksempel

def q_learning_update(Q, state, action, reward, next_state, alpha, gamma):
    best_next = max(Q[next_state]) if Q[next_state] else 0
    td_target = reward + gamma * best_next
    Q[state][action] += alpha * (td_target - Q[state][action])

Simpel Python-implementering af Q-learning opdateringsreglen. Q er en ordbog med tilstande som nøgler og lister over Q-værdier for hver handling.

Oprindelse

Termen 'Q' står for 'quality' (kvalitet), da Q-værdien angiver den forventede kvalitet af at vælge en given handling i en given tilstand. Algoritmen blev introduceret af Chris Watkins i 1989.

Afledte ord

2

Kilder

2
  • Watkins & Dayan, 1992: Q-Learning
  • Mnih et al., 2013: Playing Atari with Deep Reinforcement Learning