Reinforcement learning

Reinforcement learning er en maskinlæringsmetode, hvor en agent lærer at træffe beslutninger ved at interagere med et miljø og modtage belønninger eller straf for sine handlinger.

Kort fortalt

Det er en metode, hvor en AI lærer gennem forsøg og fejl, ligesom når man træner en hund med godbidder.

Kategori
teknik
Niveau
øvet
Udtale
/rɪˈɪnfɔːrsmənt ˈlɜːrnɪŋ/

Betydninger

1
  1. 1

    En maskinlæringsparadigme, hvor en agent lærer en politik ved at interagere med et miljø og maksimere en kumulativ belønning over tid.

    • Agenten lærte at spille skak gennem reinforcement learning.
    • Deep reinforcement learning blev brugt til at træne AlphaGo.Nature, 2016

Hvornår bruges det

Reinforcement learning bruges i situationer, hvor en agent skal lære en sekvens af handlinger, f.eks. i spil, robotstyring eller autonome systemer. Agenten udforsker miljøet og optimerer sin politik baseret på akkumulerede belønninger.

Formel

Q(s,a) ← Q(s,a) + α [ r + γ max_{a'} Q(s',a') - Q(s,a) ]

Kodeeksempel

import numpy as np

class QLearningAgent:
    def __init__(self, n_states, n_actions, alpha=0.1, gamma=0.9, epsilon=0.1):
        self.Q = np.zeros((n_states, n_actions))
        self.alpha = alpha
        self.gamma = gamma
        self.epsilon = epsilon

    def act(self, state):
        if np.random.rand() < self.epsilon:
            return np.random.randint(self.Q.shape[1])
        return np.argmax(self.Q[state])

    def update(self, state, action, reward, next_state):
        td_target = reward + self.gamma * np.max(self.Q[next_state])
        td_error = td_target - self.Q[state][action]
        self.Q[state][action] += self.alpha * td_error

En simpel Q-learning agent implementering med epsilon-greedy handlingsvalg og opdatering baseret på temporal difference fejl.

Oprindelse

Termen stammer fra psykologisk behaviorisme, hvor læring sker gennem belønning og straf. I AI blev det formaliseret af Richard Sutton og Andrew Barto i 1980'erne.

Afledte ord

3

Kilder

2
  • Reinforcement Learning: An Introduction (Sutton & Barto, 2018)
  • Human-level control through deep reinforcement learning (Mnih et al., 2015)