Rozhodovania sa pomocou poradcov

V tomto prehľade vychádzam z článkov Knowledge transfer via advice taking (lokalna kopia) a

Predpokladom je existencia externého poradcu. Úloha poradcu je hladanie analógií medzi realizovanými akciami. Príkladom je napr. priama strela na bránku. Poradca po zhliadnití akcie vidí analógiu s inou akciou - napr. prihrávka spolohráčovi. Analógiu si vytvára na základe analýzy vzdialeností medzi hráčmi, cieľovou pozíciou lopty a tak. Analógia je vytváraná na základe parametrov prostredia. Výsledkom sú pravidlá, ktoré preferujú používanie analogických akcií, ktoré hráč ovláda na dosiahnutie hlavnej úloha.

Príkladom môže byť situácia, keď hráč chce dať gól - jeho úloha je streliť gól. Hráč ma strelenie gólu definované ako sled akcií, ktoré v danej situácií má vykonať. Tento sled je definovaný nejakým algoritmom. Môžme predpokladať že v prípade úlohy "strelenie gólu" je v slede akcií akcia streľ na bránu. Poradca zistil, že na vystrelenie nie sú úplne ideálne podmienky a zároveň odhalil na základe vzdialenosti od brány a uhla analógiu s nahrávaním druhému spoluhráčovi. Podmienky pre naučené nahrávanie sú lepšie. Tak isto aj cieľ nahrávania (dostať loptu do určitého miesta) zhodný, alebo podobný s akciou streľ na bránu. Preto poradca navrhuje namiesto streľ na bránu použitie analógie prihratie hráčovi. Takže hráč na to aby strelil gól prihrá virtuálnemu spoluhráčovi. Toto umožnuje rýchlejšie sa naučiť plniť jednotlivé úlohy. Výsledným pravidlom, ktoré zavádza poradca, môže vyzerať takto:

IF vzdialenosťKBráne < 30 AND natocenie = 30° THEN

  preferuj prihravkaSpoluhracovi pred strielanimNaBranu

END IF;

Tento postup avšak mení len preferencie jednotlivých akcií. Nemení ich aktuálne poradie, ale iba prioritu ich vykonávania, pričom nová priorita sa po zoradení nemusí prejaviť. Ďalší problém je, že takýto spôsob uvádza len preferencie pre akcie a nie parametre akcií. Z tohto dôvodu je potrebné definovať preklad parametrov medzi jednotlivými akciami.

Implementácia poradcov

Poradca môže byť externý, alebo môže byť súčasťou herného systému. Poradca ako súčasť herného systému je

  • Couch
  • Modul hráča analyzujúci prostredie

V prípade modulu hráča je možné realizovať poradcu ako samostatné vlákno, ktoré priamo nezasahuje do činnosti hráča, ale len analyzuje situáciu a v prípade požiadavky zverejní svoje preferencie.

Učenie sa pomocou poradcov (Môj myšlienkový proces po preštudovaní dokumentov - necitujem priamo žiadny z nich)

Predpokladajme, že každá akcia v rámci úlohy má definované pravdepodobnosťou ohodnotené akcie, ktoré môžu nastať. Toto pravdepodobnostné ohodnotenie pochádza z hodnotenia situácie. Naskytajú sa tu tieto otázky:

  • Ako môže poradca ovplyvniť túto pravdepodobnosť?
  • Kedy a akým spôsobom prebehne učenie?

Ako môže poradca ovplyvniť túto pravdepodobnosť?

Plnenie úlohy - sled akcií pre plnenie úlohy je možné reprezentovať ako Markovovskú postupnosť. V prípade, že máme 3 akcie, ktoré môžeme vykonať, tak pravdepodobnosť prechodu môžeme zapísať ako maticu 3x3:

formula

Prvok v i-tom riadku a j-tom stĺpci obsahuje pravdepodobnosť prechodu medzi i-tou a j-tou akciou. Toto nám definuje podmienku, že suma hodnôt v riadku sa musí rovnať 1. Ovplyvnenie podľa mňa prebieha tak, že predpokladáme, že akcia sa v nasledujúcom kroku vykoná - tj. ovplyvníme hodnotu v riadku, v ktorom máme aktuálnu akciu - zvýšime preferenciu akcií v prospech akcie, ktoru odporúča poradca. Interná reprezentácia matice nemusí obsahovať pravdepodobnosť prechodu, ale počet prechodov. Následne keď normujem vektor, tak získam vektor pravdepodobností prechodu do jednotlivých stavov. Táto reprezentácia umožní len pripočítať 1 k akcií preferovanej poradcom a následne normovať maticu.

Na to aby sme získali celkovú pravdepodobnosť akcií by sme mali podľa http://en.wikipedia.org/wiki/Examples_of_Markov_chains nájsť vlastný vektor q.

formula

Vlastný vektor q následne obsahuje ustálenú pravdepodobnosť akcií, ktoré by sa mali vykonávať.

Kedy a akým spôsobom prebehne učenie?

V prípade, že je akcia zvolená a následne prebehne zlepšenie matica prechodov sa zachová a slúži ako základ pre ďalšiu akciu pri plnení úlohy. V prípade zhoršenia sa zmena matice uvádzaná v predchádzajúcej časti neuplatní. Tj. matica sa vráti do pôvodneho stavu.

Transformácia parametrov akcie

Cieľom analógie akcie je nahradenie pôvodnej akcie pôvodnou akciou. Problémom ale môžu byť problémy pri určovaní parametrov potrebných pre vykonanie analogickej akcie. Táto časť by mala byť definovaná programátorom. Alternatívna cesta je poskytnúť agentovi možnosť učiť sa. V tomto prípade je potrebné vyriešiť tieto problémy:

  • Je potrebné zaviesť nezávislé ohodnotenie akcie ako alternatívy a ohodnotenie úspešnosti akcie z pohľadu vstupných parametrov
  • Je potrebné zaviesť spôsob adaptácie transformácie vstupných parametrov - možno neurónová sieť.

TODO: v dokumentoch sa spominaju semi-markovove procesy.

Inteligentný samostatný poradca - iný spôsob práce poradcu

V predchádzajúcom texte je cieľom poradcu hľadanie analogických akcií. Našiel som však jeden článok, ktorý sa zaoberá tvorbou poradcov pre postupnosti akcií. Nie je to aplikované na Robocup, ale na výrobnú linku s viacerými robotmi, ale myslím si, že by bolo možné transformovať to do formy použiteľnej v Robocupe. Ide o článok Using Simulation and Neural Networks to Develop a Scheduling Advisor (lokálna kópia). V tomto článku je opísané využitie neurónovej siete na získanie odporúčaní pre poradie vykonávaných akcií. Cieľom je minimalizácia trvania úlohy.

Zdroje

  1. Knowledge transfer via advice taking (lokalna kopia)

    Ide o extrakt z [3].
  2. Using Simulation and Neural Networks to Develop a Scheduling Advisor (lokálna kópia)
  3. Giving Advice about Preferred Actions to Reinforcement Learners Via Knowledge-Based Kernel Regression (lokálna kópia, prezentácia k dokumentu)
  4. Scalling Reinforcement Learning toward RoboCup Soccer (lokálna kópia)

    Tento dokument obsahuje metódu, ktorá bola aplikovaná na hráčov tímu CMUUnited-99.
  5. Using Advice to Transfer Knowledge Acquired in One Reinforcement Learning Task to Another (lokálna kópia, prezentácia k dokumentu)

Kľúčové slová

Sarsa, SMDP (Semi-Markov Decision Process), Reinforcement learning, Knowledge transfer


Späť na hlavnú stránku | Aktuálna verzia na našom Wiki