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
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_errorEn 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
3Kilder
2- Reinforcement Learning: An Introduction (Sutton & Barto, 2018)
- Human-level control through deep reinforcement learning (Mnih et al., 2015)