Reinforcement Learning er et af de hotteste forskningsemner i øjeblikket, og dets popularitet vokser dag for dag. Lad os se på 5 nyttige ting at vide om RL.
- Hvad er reinforcement learning? Hvordan hænger det sammen med andre ML-teknikker?
Reinforcement Learning(RL) er en type maskinindlæringsteknik, der gør det muligt for en agent at lære i et interaktivt miljø ved forsøg og fejl ved hjælp af feedback fra sine egne handlinger og erfaringer.
Selv om både overvåget og forstærkende læring anvender kortlægning mellem input og output, bruger forstærkende læring i modsætning til overvåget læring, hvor den feedback, der gives til agenten, er korrekte sæt handlinger til udførelse af en opgave, belønning og straf som signaler for positiv og negativ adfærd.
I forhold til uovervåget læring er forstærkende læring forskellig med hensyn til mål. Mens målet i uovervåget indlæring er at finde ligheder og forskelle mellem datapunkter, er målet i forstærkningsindlæring at finde en passende handlingsmodel, der maksimerer agentens samlede kumulative belønning. Figuren nedenfor viser den grundlæggende idé og de elementer, der indgår i en forstærkende læringsmodel.
Figur 1
- Hvordan formuleres et grundlæggende forstærkende læringsproblem?
Nogle nøglebegreber, der beskriver elementerne i et RL-problem, er:
Miljø: Fysisk verden, som agenten opererer i
State: Agentens aktuelle situation
Belønning: Feedback fra omgivelserne
Politik: Metode til at mappe agentens tilstand til handlinger
Værdi: Fremtidig belønning, som en agent ville modtage ved at foretage en handling i en bestemt tilstand
Et problem med forstærket læring kan bedst forklares ved hjælp af spil. Lad os tage spillet PacMan, hvor agentens (PacMan) mål er at spise maden i gitteret og samtidig undgå spøgelserne på sin vej. Gitterverdenen er det interaktive miljø for agenten. PacMan modtager en belønning for at spise maden og en straf, hvis den bliver dræbt af spøgelset (taber spillet). Tilstandene er PacMans placering i gitterverdenen, og den samlede kumulative belønning er, at PacMan vinder spillet.
For at opbygge en optimal politik står agenten over for dilemmaet med at udforske nye tilstande og samtidig maksimere sin belønning. Dette kaldes Exploration vs. Exploitation trade-off.
Markov Decision Processes (MDP’er) er matematiske rammer til at beskrive et miljø i forstærkende læring, og næsten alle RL-problemer kan formaliseres ved hjælp af MDP’er. En MDP består af et sæt af endelige miljøtilstande S, et sæt af mulige handlinger A(s) i hver tilstand, en reelt værdisat belønningsfunktion R(s) og en overgangsmodel P(s’, s | a). I virkelige miljøer er det imidlertid mere sandsynligt, at der ikke er nogen forudgående viden om miljøets dynamik. Modelfrie RL-metoder er praktiske i sådanne tilfælde.
Q-learning er en almindeligt anvendt modelfri metode, som kan bruges til at opbygge en selvspillende PacMan-agent. Den drejer sig om begrebet opdatering af Q-værdier, som angiver værdien af at udføre en handling a i tilstand s. Værdiopdateringsreglen er kernen i Q-læringsalgoritmen.
Figur 2: Reinforcement Learning Update Rule
Figur 3: PacMan
Her er en video af en Deep reinforcement learning PacMan-agent
- Hvad er nogle af de mest anvendte Reinforcement Learning-algoritmer?
Q-learning og SARSA (State-Action-Reward-State-Action) er to almindeligt anvendte modelfrie RL-algoritmer. De adskiller sig fra hinanden med hensyn til deres udforskningsstrategier, mens deres udnyttelsesstrategier er ens. Mens Q-learning er en off-policy-metode, hvor agenten lærer værdien på grundlag af en handling a*, der er afledt af en anden politik, er SARSA en on-policy-metode, hvor den lærer værdien på grundlag af sin aktuelle handling a, der er afledt af den aktuelle politik. Disse to metoder er enkle at gennemføre, men mangler generalitet, da de ikke har mulighed for at estimere værdier for usete tilstande.
Dette kan overvindes ved hjælp af mere avancerede algoritmer såsom Deep Q-Networks, der anvender neurale netværk til at estimere Q-værdier. Men DQN’er kan kun håndtere diskrete, lavdimensionelle aktionsrum. DDPG(Deep Deterministic Policy Gradient)er en modelfri, ikke-politisk, aktør-kritisk algoritme, der tackler dette problem ved at lære politikker i højdimensionelle, kontinuerlige handlingsrum.
Figur 4: aktør-kritisk arkitektur til forstærkende læring
- Hvad er de praktiske anvendelser af forstærkende læring?
Da RL kræver mange data, er det derfor mest anvendeligt inden for områder, hvor simulerede data er let tilgængelige som f.eks. spil og robotteknologi.
- RL er ret udbredt i forbindelse med opbygning af AI til at spille computerspil. AlphaGo Zero er det første computerprogram, der har besejret en verdensmester i det gamle kinesiske spil Go. Andre omfatter ATARI-spil, backgammon osv.
- I robotteknologi og industriel automatisering bruges RL til at sætte robotten i stand til at skabe et effektivt adaptivt kontrolsystem for sig selv, som lærer af sin egen erfaring og adfærd.DeepMind’s arbejde med Deep Reinforcement Learning for Robotic Manipulation with Asynchronous Policy updates er et godt eksempel på det samme.
- Se denne interessante demonstrationsvideo.
- Andre anvendelser af RL omfatter motorer til tekstresuméer, dialogagenter (tekst, tale), der kan lære af brugerinteraktioner og forbedres med tiden, indlæring af optimale behandlingspolitikker i sundhedssektoren og RL-baserede agenter til online aktiehandel.
- Hvordan kan jeg komme i gang med Reinforcement Learning?
For at forstå de grundlæggende begreber i RL,
- Reinforcement Learning-An Introduction, en bog af faderen til Reinforcement Learning- Richard Sutton og hans ph.d.-rådgiver Andrew Barto. Et online udkast til bogen er tilgængeligt her http://incompleteideas.net/book/the-book-2nd.html
- Undervisningsmateriale fra David Silver, herunder videoforelæsninger, er et godt introduktionskursus om RL
- Her er en anden teknisk vejledning om RL af Pieter Abbeel og John Schulman (Open AI/ Berkeley AI Research Lab).
- For at komme i gang med at bygge og teste RL-agenter,
- Denne blog om hvordan man træner en Neural Network ATARI Pong-agent med Policy Gradients fra rå pixels af Andrej Karpathy vil hjælpe dig med at få din første Deep Reinforcement Learning-agent op og køre med kun 130 linjer Python-kode.
- DeepMind Lab er en open source 3D-spillignende platform skabt til agentbaseret AI-forskning med rige simulerede miljøer.
- Project Malmo er en anden AI-eksperimenteringsplatform til støtte for grundforskning inden for AI.
- OpenAI gym er et værktøjssæt til opbygning og sammenligning af forstærkningsindlæringsalgoritmer.
Bio: Shweta Bhatt er AI-forsker med erfaring i den private og offentlige sektor, og hun brænder for virkningen og anvendelsen af at udlede viden fra data for at løse udfordrende problemer. Hun kan lide at fortælle historier med data og er bosat i London.
Relateret:
- Afvikling af AI i løbet af 1983-2010
- Eksklusivt: Interview med Rich Sutton, faderen til reinforcement learning
- Hvornår bør reinforcement learning ikke bruges?
- Making Machine Learning Simple