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

Afledte ord

3

Kilder

2