Systemen die leren via feedback

Tegenwoordig gebeurt er in het domein van de Artificiële Intelligentie veel onderzoek naar systemen die zelfstandig taken kunnen aanleren, mits de juiste feedback wordt verstrekt. Typisch is deze feedback een geautomatiseerd mechanisme dat is ingebed in de omgeving van het systeem, zodat deze feedback niet manueel door een menselijke expert moet verschaft worden. Daarom zullen we in deze blog de aanname maken dat feedback geautomatiseerd is.

Standaard voorbeelden van deze opstelling zijn bijvoorbeeld computerspellen, waar feedbacksignalen aanwezig zijn zoals winnen, verliezen, en allerlei andere scores. Onderzoekers maken technieken die een systeem toelaten om zelfstandig complexe taken aan te leren, en spellen zijn de ideale testomgeving daarvoor omdat ze tegelijk complexe situaties aanbieden maar toch afgeschermd zijn van de echte wereld (“sandbox” omgevingen). Intrigerende resultaten in dit gebied zijn onder andere behaald door het bedrijf DeepMind, dat een artificiële intelligentie (AI) ontwikkelde om Atari games te spelen.

Resultaten van deze vorm hebben geleid tot een enorme vloedgolf van interesse, die onder andere tot uiting kwam in het ontwikkelen van een platform waarmee onderzoekers hun leer-technieken kunnen uitproberen op vele computerspellen; dit platform heet OpenAI Universe.

Reinforcement learning

In deze blog gaan we enkele concepten verkennen die aan bod komen in het ontwikkelen van dergelijke systemen. We zullen in het bijzonder onze aandacht richten op het gebied van reinforcement learning. Een standaard boek hierover is die van Sutton en Barto (1998). Op het moment dat we deze blog schrijven is een tweede editie van dit boek in aanmaak. In de tweede editie zal er onder andere aandacht gaan naar technieken die ontwikkeld zijn door DeepMind.

In reinforcement learning noemt men het lerende systeem meer specifiek een agent, dus een entiteit die moet ageren (handelen). Deze agent voert acties uit op een omgeving. Op elk ogenblik bevindt de omgeving zich in een welbepaalde toestand. Voor de eenvoud in deze blog zullen we aannemen dat de agent exact kan waarnemen in welke toestand de omgeving zich bevindt. Deze aanname wordt vaak gedaan bij het bestuderen van de basistheorie van reinforcement learning, hoewel deze aanname meestal niet waar is in de echte wereld (hierop komen we later terug).

Op elk ogenblik kiest de agent een actie op basis van de waargenomen toestand (van de omgeving). Deze actie wordt gekozen uit een vaste verzameling van mogelijke acties. De agent past vervolgens de gekozen actie toe op de omgeving, waarna het volgende gebeurt:

  • Op basis van de huidige toestand van de omgeving en de toegepaste actie, bepaalt de omgeving een nieuwe toestand voor zichzelf.
  • De omgeving stuurt de nieuwe toestand terug naar de agent, gekoppeld met een numeriek feedback signaal.

Na de nieuwe toestand van de omgeving te hebben ontvangen, zal de agent ook voor die toestand een actie kiezen om uit te voeren. Dit proces herhaalt zich typisch voor onbepaalde tijd. De omgeving houdt voortdurend zijn huidige toestand bij. Intuïtief bekeken, door vele acties uit te voeren kan de agent lange paden afleggen in de ruimte van mogelijke toestanden van de omgeving.

Illustratie op Pong

We gaan deze begrippen illustreren met een concreet spel, namelijk, Pong. Dit spel bestaat uit een bal en twee balken, eentje aan de linkerzijde van het scherm en eentje aan de rechterzijde van het scherm. Elke balk kan enkel vertikaal bewegen. De rechterbalk wordt bijvoorbeeld bestuurd door het spel zelf (als opponent), en de linkerbalk door de speler. De speler heeft op elk ogenblik slechts twee toetsen (of acties) ter beschikking: een eerste toets om de balk een beetje omhoog te laten gaan, en een tweede toets om de balk een beetje naar beneden te laten gaan. Het spel verloopt in een beperkt aantal ronden. Aan het begin van een ronde vertrekt de bal vanaf de balk van een van de twee partijen. De tegenpartij moet de bal dan terugkaatsen, waarna de eerste partij ook de bal moet proberen terug te kaatsen, enz. Een ronde eindigt als de bal wordt gemist door een partij.

Op dit spel zouden we reinforcement learning kunnen toepassen, waardoor we de algemene begrippen van reinforcement learning kunnen associëren met meer concrete zaken:

  • Het spel is de omgeving.
  • Op elk moment bevindt het spel zich in een welbepaalde toestand, waarin onder andere de volgende zaken worden geregistreerd: de huidige positie van de balken, de eerstvolgende bewegingen die zullen worden toegepast op de balken, de positie en bewegingsrichting van de bal, en hoeveel keer elke partij al verloren heeft.
  • De speler wordt aangestuurd door de agent, en deze bestuurt bij afspraak bijvoorbeeld steeds de linkerbalk.
  • Terwijl de bal beweegt van de ene zijde van het scherm naar de andere zijde, past de agent tijdens elk ogenblik een van de volgende drie acties toe: zijn balk omhoog bewegen, zijn balk omlaag bewegen, en niets doen. De gekozen actie wordt telkens gereflecteerd in de resulterende toestand van het spel.
  • De numerieke feedback tijdens elke (tijd)stap kan als volgt uitgewerkt worden. Als geen partij de bal mist dan is de feedback neutraal, uitgedrukt met waarde 0. Als de agent de bal mist dan kan een sterk negatief getal worden gegeven als feedback. Als de opponent de bal mist (waardoor de agent de ronde wint) dan kunnen we een sterk positief getal geven als feedback.

Waarde leren inschatten

In het algemeen is het bij reinforcement learning de bedoeling om de agent acties zodanig te laten kiezen dat gewenste resultaten ontstaan. Bij computerspellen is een gewenst resultaat bijvoorbeeld het spel succesvol beëindigen, of een bepaalde score zo hoog mogelijk maken.

In essentie moet de agent voor elke toestand waarin hij terechtkomt een rangschikking kunnen maken van de acties, volgens hun verkiesbaarheid. Een bekende techniek daarvoor is Q-learning, een leer-algoritme dat (via de numerieke feedbacksignalen) per toestand-actie koppel een getal berekent dat de verkiesbaarheid voorstelt van die actie in die toestand. Dat getal noemt men ook wel de waarde (Engels: value). Men neemt in reinforcement learning theorie vaak aan dat er slechts een eindig aantal toestanden en acties zijn, zodat het systeem voldoende vaak eenzelfde toestand-actie koppel kan uitproberen.

De intuïtie achter de waarde-inschatting is dat de agent leert anticiperen waar de grote positieve feedback signalen zitten, en probeert om daarheen te sturen. Op elk pad dat de agent aflegt in de ruimte van toestanden (van de omgeving) worden alle feedback signalen opgeteld, zowel de positieve als de negatieve, waardoor een soort totaalscore per pad ontstaat. De agent moet op die manier leren wat de beste paden zijn. Er is ook een toevoeging van de tijd-dimensie: een verre toekomstige beloning kan minder waardevol overkomen in het heden dan een kleinere beloning die vlugger kan bekomen worden. De Engelse term hiervoor is discounting.

Men kan de intuïtie van waarde-inschattingen voorstellen als een navigatieprobleem op een kaart. De agent wil bijvoorbeeld naar een bepaald doel toegaan, waar een grote beloning te verkrijgen is. Elke plaats op de kaart stelt een toestand voor, en de agent kan navigeren op de kaart door bepaalde richtingen uit te gaan; deze richtingen komen overeen met de acties uit de reinforcement learning theorie. Tijdens de reis moet de agent echter ook obstakels of gevaren ontwijken, die worden voorgesteld met negatieve feedback signalen. Meestal is de interactie van de agent met de omgeving van onbepaalde duur, zodat de agent steeds beter kan leren navigeren. Om dit effect te bekomen wordt de agent bij het bereiken van het doel teruggestuurd naar een andere startlocatie, om van daaruit opnieuw naar een doel te navigeren.

Verdere stappen

Tot zover hebben we de aandacht gevestigd op enkele basisbegrippen in reinforcement learning. We bespreken nu kort enkele richtingen die men vervolgens zou kunnen verkennen na deze basis.

Niet-determinisme

We zeggen dat een omgeving niet-deterministisch is als, bij het toepassen van een actie op de huidige toestand, de nieuwe toestand niet exact kan voorspeld worden. Anders gezegd: bij het toepassen van een actie op de omgeving kan de nieuwe toestand willekeurig worden gekozen uit een aantal mogelijke opvolger-toestanden. Ongeacht of de echte wereld deterministich is of niet, kan men sowieso taken bedenken voor reinforcement learning die niet-deterministisch zijn vanuit het perspectief van de agent. Bijvoorbeeld, men kan een computerspel ontwikkelen waarbij de beslissingen van een computer-gestuurde opponent worden beïnvloed door willekeurige beslissingen; in Pong zou de opponent bijvoorbeeld op onvoorspelbare momenten zijn balk omhoog of omlaag kunnen sturen. De agent zal in dat geval mogelijk meer aandacht moeten geven aan de beweging van de bal in vergelijking met de beweging van de tegenstander.

In de theorie van reinforcement learning stelt men niet-determinisme bijvoorbeeld voor door een waarschijnlijkheidsverdeling te introduceren waarmee de opvolger-toestanden worden gekozen van elk toestand-actie koppel.

Beperkte waarneming

In de echte wereld kunnen organismen slechts in beperkte mate de omstandigheden waarnemen waarin ze zich bevinden. Hierdoor is de conceptvorming van het organisme over de omgeving eerder beperkt, waardoor het organisme niet exact kan voorspellen wat er in de nabije toekomst zal gebeuren. Vanuit het perspectief van het organisme gedraagt de omgeving zich als het ware niet-deterministisch. Ook bij computerspellen, zoals de Atari spellen bestudeerd door DeepMind, is de agent typisch zeer beperkt in het waarnemen van informatie: de projectie die elk ogenblik verschijnt op het scherm is vaak een vereenvoudigde weergave van de vele achterliggende mechanismen die het spel aansturen.

Het thema van beperkte waarneming wordt ook uitgebreid bestudeerd in de theorie en praktijk van reinforcement learning.  Men modelleert dit bijvoorbeeld via zogenaamde partially observable processen, waarbij de agent op elk ogenblik niet rechtstreeks de toestand van de omgeving kan waarnemen maar slechts een beperkte projectie daarvan.

Conclusie en vooruitblik

Reinforcement learning bestaat al een lange tijd. De recent toegenomen aandacht voor dit thema is onder andere ontstaan door experimenten op computerspellen. Het voordeel van computerspellen is dat deze een veilige testomgeving vormen voor allerlei reinforcement learning technieken. Hierdoor is het mogelijk voor vele onderzoekers om veilig en redelijk goedkoop geavanceerd AI onderzoek te doen.

Maar reinforcement learning wordt ook toegepast in de echte (fysieke) wereld. Een voorbeeld van dit laatste is het besturen van robots in een fabriek. Via geschikte feedback kan een fabrieksrobot leren om vlug en efficiënt te handelen, en om bepaalde problemen of obstakels te vermijden. Er kan bijvoorbeeld een beloning gegeven worden als de robot een voorwerp op een goede plaats zet, en er kan een strafscore worden toegekend als de robot te traag is of ergens tegenaan botst.

De vloedgolf van interesse in AI, zowel rond het thema van reinforcement learning als het thema van deep learning, veroorzaakt een vraag van ondernemers en onderzoekers naar voldoende toegankelijke technieken. Er ontstaan initiatieven om aan deze vraag te voldoen. Bijvoorbeeld, het bedrijf bons.ai heeft een nieuwe manier van programmeren bedacht, genaamd pedagogisch programmeren, waarmee een ontwikkelaar kan aangeven welke kennis een systeem moet aanleren maar zonder concreet te programmeren op welke manier dit moet gebeuren. Een belangrijke component in de methodologie van bons.ai is het geven van feedback aan het lerende systeem, precies zoals dit bij reinforcement learning voorkomt. Het grote voordeel dat bons.ai wil aanbieden aan haar klanten is dat men AI kan inschakelen zonder de technische details te begrijpen van de krachtige technieken. De verwachting is dat er meerdere van dergelijke initiatieven zullen verschijnen om geavanceerde AI technieken breder inzetbaar te maken.

 

Leave a Reply

Your email address will not be published. Required fields are marked *