Deep Q-learning
Deep Q-learning er en forstærkningslæringsalgoritme, der bruger et dybt neuralt netværk til at tilnærme Q-funktionen, som vurderer kvaliteten af handlinger i en given tilstand.
Kort fortalt
Kort fortalt: Deep Q-learning lærer en AI at træffe beslutninger ved at kombinere Q-learning med dybe neurale netværk, så den kan håndtere komplekse miljøer som spil.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /diːp kjuː ˈlɜːrnɪŋ/
Betydninger
2- 1
En algoritme for forstærkningslæring, der anvender et dybt neuralt netværk til at tilnærme den optimale Q-funktion, som estimerer den forventede fremtidige belønning for en handling i en given tilstand.
- Deep Q-learning blev anvendt til at træne en agent til at spille Atari-spil uden forudgående viden om spillets regler. — Mnih et al., 2013
- Algoritmen opdaterer netværkets vægte ved at minimere forskellen mellem forudsagt Q-værdi og target Q-værdi.
- 2
Betegnelse for den specifikke arkitektur og træningsproces i Deep Q-Network (DQN), herunder brug af experience replay og target network.
- I Deep Q-learning med DQN gemmes oplevelser i et replay-buffer for at bryde korrelationer mellem på hinanden følgende prøver. — Mnih et al., 2015
Hvornår bruges det
Deep Q-learning bruges især i spil og simuleringer, hvor tilstandsrummet er stort eller kontinuert. Det anvendes i praksis med teknikker som experience replay og target network for at stabilisere træning. Metoden danner grundlag for mange moderne reinforcement learning-systemer.
Formel
Q(s, a; θ) ≈ Q*(s, a)Kodeeksempel
# Pseudocode for DQN training
initialize replay memory D
initialize action-value function Q with random weights θ
initialize target action-value function Q̂ with weights θ⁻ = θ
for episode in range(M):
observe initial state s
for t in range(T):
with probability ε select random action a
else select a = argmax Q(s, a; θ)
execute action a, observe reward r and next state s'
store transition (s, a, r, s') in D
sample random minibatch of transitions from D
for each transition, set target y = r if terminal else r + γ max Q̂(s', a'; θ⁻)
perform gradient descent step on (y - Q(s, a; θ))²
every C steps, update target network: θ⁻ = θPseudo-kode for træning af en DQN-agent med experience replay og target network.
Oprindelse
Termen 'Deep Q-learning' opstod med DeepMinds arbejde i 2013, hvor de kombinerede dybe neurale netværk (deep) med Q-learning, en klassisk forstærkningslæringsalgoritme. Q står for 'quality' (kvalitet).