DOKTORANDUSZ FÓRUM, 1999 Miskolc, 1999. november Megerősítő tanulási módszerek alkalmazása az informatikában STEFÁN PÉTER Miskolci Egyetem, Alkalmazott Informatikai Tanszék 3515 Miskolc-Egyetemváros 1. BEVEZETÉS Napjainkban a gépipari, informatikai rendszereink komplexitása állandó ütemben nő. Ez a növekedés több különböző tényezőnek is betudható, többek között a számítógépes szoftver, illetve hardver erőforrások fejlődésének. A bonyolultság növekedése, és ezáltal a rendszerek átláthatóságának csökkenése arra ösztönzött számos kutatót, hogy a klasszikus mérnöki problémákhoz, a zárt matematikai formulákon túl, újabb, az emberi agy probléma-leegyszerűsítő megközelítéséhez hasonló módszereket dolgozzon ki. Ezeket az emberi információ-feldolgozó módszerek modelljeit a mesterséges intelligencia, mint tudományág foglalja össze. 2. MESTERSÉGES INTELLIGENCIA MÓDSZEREK A mesterséges intelligencia több, egymástól elkülönülő területből áll. E területek egy része megpróbálja az emberi agy működését előbb modellezni, majd megpróbál olyan szerkezetet létrehozni, amely mind jobban megközelíti az agy működését. A másik, talán szerényebb megközelítés, az, amikor megpróbáljuk az emberi gondolkodásmódot, az emberi intelligencia adaptív jellemvonását gépi környezetben megvalósítani. Ebbe a kategóriába tartoznak a tanuló, osztályozó módszerek, melyeket mind műszaki, mind gazdasági területeken is sikerrel hasznának. A tanulórendszerek osztályába számos eltérő irányvonal tartozik. Megkülönböztethetünk felügyel tanuló, illetve felügyelet nélkül tanuló rendszereket. Előbbi kategóriába például
az egyszerűbb neuron-hálók, vagy az osztályozó algoritmusok, míg utóbbiba az önszervező hálók tartoznak. Egy másik szempont szerint megkülönböztethetünk olyan tanulóeljárásokat, melyekre az ún. kétfázisú tanulás (betanítás előbb, majd használat) a jellemző, illetve olyanokat, amelyek egyszerre képesek tanulni illetve tudásukat kamatoztatni. Ezen utóbbi eljárások egyike a megerősítő tanulás. 3. A MEGERŐSÍTŐ TANULÁS A megerősítő tanulás egyfajta átmenetet képez a felügyelt és felügyelet-nélküli módszerek között. A felügyelt rendszerek esetén a környezet instruktív visszajelzésekkel korrigálja a tanulórendszer belső struktúráját, illetve paramétereit. Ez azt jelenti, hogy a módosítás iránya a rendszeren kívülről befelé haladó; azaz a környezet megmondja, a belső állapottól kvázi függetlenül, hogy melyek a rendszer helyes, megkívánt kimeneti jellemzői. A rendszer módosítása pedig éppen az előbbi állapotok elérése felé irányul. Koncepciójában különbözik ettől az a megoldás, amikor a tanulás belülről jövő. Ez azt jelenti, hogy a rendszer maga úgy van felépítve, hogy felfedezi, feltérképezi környezetét. Más kifejezéssel élve cselekvéseket, akciókat hajt végre, amelyek hatással vannak a környezetre, és aminek következtében a környezet visszajelzést ad, hogy a választott akciókat a környezet hogyan jutalmazta. A visszacsatolt érték, a megerősítő-jel, egy skaláris szám, melynek értéktartománya rendszerint problémafüggő. Általában egy nagy pozitív szám a környezet akcióra adott jutalmát, míg a nagy negatív szám büntetését szimbolizálja. A megerősítő tanulás sematikus rajza az 1. ábrán látható. Az ábrán két objektum található: az ágens, illetve annak környezete. Az ágens feladata egy célállapot elérése, mégpedig oly módon, hogy maximalizálja a környezetétől kapott megerősítő-jelek összegét. Ezt az egyes szituációkban, megfelelően megválasztott akciókkal éri el. A cél minden szituációban olyan akciókat választani, amelyek hosszútávon biztosítják a megerősítőjelek maximumát. Az ágens számára minden lehetséges akció előtt nyitva áll a kérdés: a
következő lépésben választott akcióval a már eddig elért tudását kívánja hasznosítani, vagy esetleg új megoldások reményében megpróbálja azokat az akciókat választani, amelyek nem közvetlenül a legjobb válaszreakciót adják, de lehetőséget nyújtanak más (esetleg kedvezőbb visszacsatolású) állapotok kiértékelésére is. 1. ábra: Az ágens-probléma A környezet feladata egyrészt ellátni a tanuló ágenst visszacsatolási információkkal, másrészt új állapotokat biztosítani a rendszer részére. Ez utóbbi gyakran a rendszeren belül, automatikusan is végbemehet, nem szükségszerű, hogy a környezet indukálja. A környezet gyakran helyettesíthető egy metrikával, ami automatikusan szolgáltatja a megerősítő jelet az ágens számára. A metrika, az ágens számára a környezeti modellt, a környezet viselkedését jelenti. Gyakran a tanulórendszer megalkotójának kell a metrikát definiálni, és az esetek többségében ez nem egy metrika kidolgozását jelenti, hanem egy metrika-halmazét. Érdemes megemlíteni, hogy a metrika rokon fogalom az operációkutatásban használt optimum kritériummal. 4. AZ ÁGENS-RENDSZER ÉPÍTŐKÖVEI Az ágens leírására formális nyelvi eszközöket használnak. Hogy az ágens összetevőiről beszélni lehessen, először szükséges definiálni a további tárgyalás alapját képző attribútumokat. Ezek az attribútumok a tanuló-rendszer állapotai, illetve az egyes
állapotok felvétele után választható akciók. A lehetséges állapotokat az állapot-halmaz, az akciókat pedig, az előbbitől függő, akcióhalmazok foglalják össze. Minden egyes állapothoz rendelhető egy akció-halmaz. Az állapotokon, illetve az akciókon kívül az ágens tartalmaz még három további függvényt. Az első a politika-függvény (policy function). Ez a függvény egyszerűbb esetben a rendszer aktuális állapotát képzi le a végrehajtandó akciók halmazára: azaz minden állapothoz hozzárendeli az ott eddig legjobbnak vélt akciót. Összetettebb esetben e függvény minden állapot-akció párhoz egy kiválasztási valószínűséget rendel. Ez a valószínűség akkor játszik szerepet, amikor nem a legkedvezőbb akciót választjuk (felderítési üzemmód esetén), és egy rossz alternatíva véletlenszerű kiválasztása nagy negatív tetszést váltana ki a környezettől. Az összetettebb politika-függvénnyel tehát súlyozzuk a lehetséges választásokat. Amikor minden állapotban a lehető legkedvezőbb akciót választjuk, azaz nem végzünk egyáltalán felderítést, mohó (greedy) algoritmusról beszélünk. A politika-függvény lehet determinisztikus, sztochasztikus, de lehet egy komplett kereső eljárás is. A második, az ágens számára szükséges elem az érték-függvény (value function). Az érték-függvény szoros kapcsolatban áll a környezet által visszaadott megerősítő-jel értékekkel. Az ágens számára minden állapotban elérhető kell, hogy legyen egy várható érték, hogy az egyes állapotokban meg tudja jósolni azt, hogy a környezet miként fogja jutalmazni egy új állapot felvételét. Illetve azt is meg kell mondani, hogy az egyes állapotokban az egyes akciók, milyen lesz a várható érték hozama. Ennek tükrében, megkülönböztethető állapot-értek (state-value) és akció-érték (action-value) függvény. Az érték függvény nemcsak azt jelöli, hogy az egyes állapotok, illetve akciók milyen várható megerősítő-jel értéket képviselnek, hanem azt is, hogy mely állapotok lesznek hosszú-távon akár sokkal jobban jutalmazva, mint bármely jelen állapotban választható akció által elért állapot. Tehát az érték-függvények funkciója az is, hogy a jól jövedelmező, de távoli, esetleg kevésbé jutalmazott állapotokat is kihangsúlyozza a jelen állapotbeli döntés számára.
A politika és az érték függvények céljukban is és számítási módjukban is különböznek egymástól. Míg az előbbi célja az, hogy a felfedező-ciklus esetén a véletlenszerű választást súlyozzák, utóbbi hosszabb távon befolyásolja az ágens felfedezés-felhasználás döntését. A harmadik függvény, amellyel a tanuló-rendszernek rendelkeznie kell a honoráriumfüggvény (reward function), amely állapot-akció párokat képez le a megerősítő jel lehetséges értékeinek halmazára. A metrika fogalmával analóg. A politika, illetve az érték függvények iterációs lépéseken keresztül határozhatók meg. 5. A MEGOLDHATÓ PROBLÉMÁK KÖRE A megerősítő tanulás, illetve az ágens-modell egymás segítségével definiálhatók. Megerősítő tanulási eljárásnak minden olyan eljárást nevezünk, ami az előzőekben ismertetett ágens-rendszer célja elérésének megoldásával foglalkozik. Az ágens-feladat megoldásai az alábbi csoportokba sorolhatók: dinamikus programozási eljárások (amelyek a teljes környezet ismeretét feltételezik), hőmérséklet kiegyenlítést modellező eljárások (Q-tanulás), illetve az ún. Monte Carlo eljárások (amelyek számára nem szükséges a teljes környezet ismerete). A megoldások túlnyomó többsége matematikai úton bizonyított, stabil eljárás. A megerősítő tanulás elsősorban a dinamikus feladatok megoldásában alkalmazható. Olyan környezetben, ahol például egy optimum-feladat feltételi rendszere állandó, a zárt matematikai modellek egyértelműen a leghatékonyabbak. Ellenben, ha a feltételrendszer időben változik, esetleg sztochasztikus jellegű, úgy a megerősítő tanulási módszerek, különösen nagyobb rendszer esetében, a matematikai modelleknél megvalósíthatóbbak, és jobb teljesítményt nyújtanak. 6. PÉLDA EGY MEGERŐSÍTŐ TANULÁSI ELJÁRÁSRA Jelölje S a tanuló-rendszer által felvehető állapotok halmazát, A(s) az s S állapotban választható akciókat. Legyen Q:S A [0,1] R az akció-érték függvény, π:s A a
politika függvény. A megerősítő tanulás egyik lehetséges algoritmusa az alábbi C-formájú algoritmus lehet: while (true) { p = véletlen szám; if (p < 0.8) {akció kiválasztása az adott politika szerint, a A} else {ennek alapján egy véletlenszeruen választott akció, a A} s új = az újonnan választott állapot felvétele (s new S); r = a környezettol kapott visszajelzett érték; hiba = r + γ*u(s new ) - Q(s,a); Q(s,a) = Q(s,a) + α*hiba; π(s) = max b A (Q(s,b)); U(s) = Q(s,π(s)); S = s új ; } 7. ÖSSZEFOGLALÁS A megerősítő tanulás egy iteratív módszer, amely a környezetével állandó kölcsönhatásban lévő, dinamikusan változó környezetbe helyezett ágens célkereső eljárását definiálja, illetve oldja meg. Az létrehozott modell keretei közé számos probléma helyezhető, mint például az Internet routing probléma, adaptív robot vezérlés, változó környezetben történő optimum-keresés, illetve logisztikai disztribúciós feladatok megoldása. 8. FELHASZNÁLT IRODALOM [1] P.STEFÁN, L.MONOSTORI, F.ERDÉLYI: Using symbolic and sub-symbolic methods for solving problems difficult to analyze, MicroCAD 99 University of Miskolc [2] Szimbolikus és szub-szimbolikus módszerek az analitikailag kezelhető problémák megoldásában, FMTÜ Kolozsvár [3] R.SUTTON, A.BARTO: Reinforcement learning
DOKTORANDUSZ FÓRUM, 1999 Miskolc, 1999. november Megerősítő tanulási módszerek alkalmazása az informatikában STEFÁN PÉTER Miskolci Egyetem, Alkalmazott Informatikai Tanszék 3515 Miskolc-Egyetemváros ABSTRACT Napjainkban a gépipari, informatikai rendszereink komplexitása állandó ütemben nő. A bonyolultság növekedése, és, éppen emiatt, a rendszerek átláthatóságának csökkenése arra ösztönzött számos kutatót, hogy újabb mesterséges intelligencia módszereket fejlesszen ki, illetve alkalmazzon informatikai, gazdasági, illetve műszaki problémák megoldásában. Egyik ilyen MI módszer a megerősítő tanulás, mely előnyös tulajdonságaira, illetve alkalmazási területeire a cikkben rámutatunk. FELHASZNÁLT IRODALOM [1] P.STEFÁN, L.MONOSTORI, F.ERDÉLYI: Using symbolic and sub-symbolic methods for solving problems difficult to analyze, MicroCAD 99 University of Miskolc [2] Szimbolikus és szub-szimbolikus módszerek az analitikailag kezelhető problémák megoldásában, FMTÜ Kolozsvár [3] R.SUTTON, A.BARTO: Reinforcement learning