A megerősítéses tanulás olyan gépi tanulási megközelítés, ahol a modell nem címkézett példákból tanul, hanem próbálkozásból: cselekszik egy környezetben, visszajelzést kap arról, hogy jól döntött-e, és ebből alakítja ki a stratégiáját. A cél nem az egyes döntések helyessége, hanem a hosszú távon összegyűjtött jutalom maximalizálása.
Amikor ez a cikk először megjelent, a megerősítéses tanulás elsősorban arról volt ismert, hogy a gép legyőzte a világ legjobb sakk-, go- és Dota-játékosait. Azóta a módszer kikerült a játékok világából: ma ez az a technológia, amivel a nagy nyelvi modelleket emberi visszajelzés alapján hangolják, és amivel fizikai rendszereket szabályoznak.
A poszt eredetileg 2020 júniusában jelent meg, azóta frissítettük. A bevezető jellegét megtartottuk, az alkalmazásokról szóló rész viszont a mai állapotot tükrözi.
Mi a megerősítéses tanulás?
A megerősítéses tanulásban egy ágens cselekszik egy környezetben. Az ágens megfigyeli, milyen állapotban van a környezet, választ egy cselekvést, ettől a környezet új állapotba kerül, és az ágens jutalmat kap, vagy éppen nem kap.
Kezdetben az ágensnek nincs tudása arról, mi a helyes. Nem mondja meg neki senki, hogy melyik lépés jó: csak azt tapasztalja, hogy néhány lépés után kedvezőbb vagy kedvezőtlenebb helyzetbe került. Ebből kell kitalálnia, milyen stratégia vezet a legtöbb jutalomhoz.
Két dolog különbözteti meg ezt minden más gépi tanulási feladattól.
A visszajelzés késleltetett. Egy sakkjátszmában a tizenkettedik lépés hibája csak a negyvenediknél derül ki. Az ágensnek tehát nem egy döntést kell értékelnie, hanem egy döntéssorozatot, és ki kell találnia, melyik lépés érdeme vagy hibája volt az eredmény.
Felfedezés vagy kihasználás. Az ágens használhatja a meglévő tudását, hogy biztos jutalmat szerezzen, de akkor soha nem talál rá egy jobb stratégiára. Ha viszont csak felfedez, nem kamatoztatja azt, amit már megtanult. A kettő közötti egyensúly a megerősítéses tanulás központi problémája, és a legtöbb algoritmus valójában ennek a kezeléséről szól.
Miben más, mint a felügyelt és a felügyelet nélküli tanulás?
| Felügyelt tanulás | Felügyelet nélküli tanulás | Megerősítéses tanulás |
|---|
| Mit kap bemenetként | Címkézett példákat | Címke nélküli adatot | Egy környezetet, amiben cselekedhet |
| Mit tanul | A bemenet és a helyes kimenet kapcsolatát | Az adat rejtett szerkezetét | Cselekvési stratégiát |
| Honnan tudja, hogy jó-e | Meg van adva a helyes válasz | Nincs helyes válasz | Jutalomból, késleltetve |
| Tipikus kérdés | Elpártol ez az ügyfél? | Milyen csoportok vannak az ügyfelek között? | Mit tegyek most, hogy hosszú távon a legjobban járjak? |
| Tipikus feladat | Osztályozás, regresszió | Klaszterezés, dimenziócsökkentés | Szekvenciális döntés, szabályozás, optimalizálás |
A megerősítéses tanulás abban a mezőben mozog, amit a data science-ben preskriptív projekteknek nevezünk: nem azt kérdezzük, mi fog történni, hanem azt, hogy mit tegyünk. Ez a legnehezebb, és egyben a legnagyobb üzleti hatású kategória.
Hol használják ma?
Játékok, mint kutatási terep
A sakk, a go, a shogi és a Dota nem önmagában volt érdekes, hanem azért, mert jól körülhatárolt, gyorsan szimulálható környezetet adott. A játék a megerősítéses tanulás laboratóriuma: itt lehet milliószor újrakezdeni ugyanazt a helyzetet, és nem kerül semmibe, ha az ágens rosszul dönt.
Ez a felismerés maradt a terület legfontosabb tanulsága. Ahol van olcsó és hű szimuláció, ott a megerősítéses tanulás jól működik. Ahol nincs, ott nagyon nehéz.
Nyelvi modellek betanítása
Ez a legnagyobb változás az elmúlt években, és a legtöbb ember úgy használja a megerősítéses tanulás eredményét, hogy nem is tud róla.
Egy nagy nyelvi modell az előtanítás után szövegfolytatásra képes, de arra még nem, hogy hasznosan, használható formában válaszoljon. Ehhez emberi visszajelzésen alapuló megerősítéses tanulást használnak (a szakirodalomban RLHF, reinforcement learning from human feedback): emberek rangsorolják a modell válaszait, ebből egy jutalommodell készül, és a nyelvi modellt ehhez a jutalomhoz hangolják. Azóta egyszerűbb, közvetlenebb preferenciaoptimalizálási eljárások is megjelentek, amelyek ugyanezt a célt jutalommodell nélkül érik el.
A következő lépés az érvelő modellek betanítása lett, ahol a jutalom nem emberi véleményből jön, hanem automatikusan ellenőrizhető: matematikai feladatnál az, hogy jó-e a végeredmény, kódnál az, hogy lefut-e a teszt. Így a modell sok lépésen keresztül próbálkozhat, és csak a valóban működő gondolatmenetek erősödnek meg.
Érdemes ezt egy pillanatra végiggondolni. A megerősítéses tanulás pontosan azt hozza be a nyelvi modellek világába, ami a definíciójában is szerepel: nincs megadva a helyes válasz, csak az, hogy a végeredmény jó volt-e. Ennek van egy kellemetlen következménye is: minél összetettebb a jutalom, annál nehezebb megérteni, miért pont úgy viselkedik a modell, ahogy. Ez vezet át a magyarázható mesterséges intelligencia kérdéseihez.
Fizikai rendszerek szabályozása
Itt vannak a legmeggyőzőbb ipari eredmények, mert a szabályozási feladat természetéből adódóan szekvenciális, és mert sok rendszerhez létezik jó szimulátor.
A legismertebb példa a fúziós plazma szabályozása: a Google DeepMind és a lausanne-i Swiss Plasma Center közösen betanított egy ágenst, ami a tokamak mágneses tereit vezérli, és a Nature-ben publikált eredmény szerint valódi reaktoron is működött. Hasonló logika szerint optimalizálták adatközpontok hűtését, és a csipek elemeinek elhelyezését is megerősítéses tanulással gyorsították fel.
Ugyanez a szerkezet a gyártásban is felismerhető: robotmozgás, sorbaállítás, gyártósor-ütemezés, raktári irányítás. A közös vonás mindegyikben az, hogy sok egymást követő döntést kell hozni, és az egyes döntések következménye csak később látszik.
Energia és optimalizálás
Az energiaszektor tankönyvi terep, mert minden feltétel adott: sok egymást követő döntés, bizonytalan környezet, és számokban mérhető jutalom. Egy akkumulátoros energiatárolónál például az a kérdés, hogy adott pillanatban töltsünk, süssünk ki, vagy várjunk, miközben az árak és a fogyasztás bizonytalan. Ez szó szerint szekvenciális döntési probléma jutalomfüggvénnyel.
Fontos viszont hozzátenni, hogy ezeket a feladatokat nagyon gyakran hagyományos optimalizálással és jó előrejelzéssel is meg lehet oldani, sokszor kevesebb kockázattal. Erről szól a következő szakasz.
Mikor érdemes egy cégnél megerősítéses tanulást használni?
A megerősítéses tanulás izgalmas, és pont ezért gyakran előbb kerül szóba, mint indokolt. Négy feltétel kell hozzá, és ha bármelyik hiányzik, jó esély van rá, hogy egyszerűbb módszerrel gyorsabban jutunk eredményre.
- Szekvenciális a döntés. Nem egyetlen választás van, hanem egymásra épülő döntések sorozata, ahol a mostani lépés befolyásolja a későbbi lehetőségeket. Ha egyetlen döntésről van szó, felügyelt tanulás vagy optimalizálás elég.
- Van olcsó próbálkozás. Kell szimulátor, digitális iker vagy olyan környezet, ahol a hibás döntés nem kerül sokba. Ha minden próbálkozás valódi pénzbe vagy kockázatba kerül, a tanulás nem fér bele.
- Definiálható a jutalom. Számokban kell tudni kifejezni, mi a jó. Ez nehezebb, mint elsőre látszik, és a leggyakoribb kudarcok forrása: a rosszul megfogalmazott jutalom mellett az ágens megtalálja a rést, és pont azt fogja optimalizálni, amit véletlenül beírtunk, nem azt, amit akartunk.
- Van idő és kapacitás betanítani. Ez jellemzően nagyságrendekkel több próbálkozást kíván, mint amennyi adatból egy felügyelt modell megtanul valamit.
Ha ezek közül kettő vagy három teljesül, akkor is jó ötlet lehet, de érdemes előbb egy egyszerűbb megoldással megmérni, mennyi az elérhető haszon. A gyakorlatban a legtöbb üzleti optimalizálási problémát jó előrejelzés és klasszikus optimalizálás együtt oldja meg, és a megerősítéses tanulás akkor lesz indokolt, ha a környezet dinamikus, és a döntéssorozat nem bontható szét független döntésekre.
Ha idáig eljutott a gondolat, a következő kérdés már az éles rendszerbe építés: hol fut a szimuláció, ki felügyeli az ágenst, és mi történik akkor, amikor a valóság eltér attól, amin a modell tanult.
Mivel lehet elkezdeni?
A terület eszközkészlete azóta letisztult. Ami 2020-ban még bizonytalan volt, ma stabilnak tekinthető.
A környezetek szabványos felülete a Gymnasium, ez az OpenAI Gym utódja, amit ma a Farama Foundation gondoz. A kész algoritmusokhoz a Stable-Baselines3 a legkönnyebben induló könyvtár, nagyobb, elosztott betanításhoz a Ray RLlib használatos, többágenses feladatokhoz pedig a PettingZoo. A domináns nyelv továbbra is a Python.
Elméleti alapokhoz Sutton és Barto Reinforcement Learning, An Introduction című könyve a szakma referenciája, és ingyenesen elérhető. A legfontosabb kutatócsoportok a Google DeepMind és az OpenAI mellett ma már a nagyobb egyetemi laborok és több nyílt modellt fejlesztő cég is.
Gyakori kérdések
Mi a különbség a megerősítéses tanulás és a felügyelt tanulás között?
A felügyelt tanulás megkapja a helyes választ minden példához, és azt tanulja meg reprodukálni. A megerősítéses tanulás nem kap helyes választ, csak azt a visszajelzést, hogy a döntéssorozat végül jó eredményre vezetett-e. Ezért tud olyan stratégiát találni, amit ember nem adott volna meg neki.
Kell hozzá szimulátor?
A gyakorlatban szinte mindig. Az ágensnek sokszor kell hibáznia ahhoz, hogy megtanuljon valamit, és ezt éles rendszeren nem lehet megengedni. Ha nincs szimulátor, a projekt első fázisa általában annak megépítése, nem a modellezés.
Mi az RLHF?
Emberi visszajelzésen alapuló megerősítéses tanulás. Emberek rangsorolják egy nyelvi modell válaszait, ebből jutalommodell készül, és a nyelvi modellt ehhez hangolják. Ez az egyik oka annak, hogy a mai nyelvi modellek használható válaszokat adnak, és nem csak folytatják a szöveget.
Használható-e üzleti optimalizálásra?
Igen, de nem ez az első választás. Ha a döntések függetlenek egymástól, vagy ha jó előrejelzés mellett klasszikus optimalizálással megoldható a feladat, akkor az egyszerűbb és stabilabb. A megerősítéses tanulás akkor nyer, ha a döntések sorozata számít, és van hol próbálkozni.
Mi a leggyakoribb hiba?
A rosszul megfogalmazott jutalom. Az ágens pontosan azt fogja maximalizálni, amit beírtunk, nem azt, amit gondoltunk. Ezért érdemes a jutalomfüggvényt ugyanolyan komolyan végigtervezni, mint magát a modellt, és korán megnézni, milyen viselkedést hoz ki belőle.