Stiimulõpe

Allikas: testwiki
Redaktsioon seisuga 10. jaanuar 2025, kell 18:26 kasutajalt imported>Kaarelkaarelson
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribale Mine otsikasti

Stiimulõpe on masinõppe ala, mis on inspireeritud biheiviorismist. Selle uurimisobjektiks on tarkvara põhiline agent, mille eesmärk on teostada tegevusi ümbritsevas keskkonnas nii, et tegevustest tulenev preemia oleks maksimeeritud. Probleemi üldisuse tõttu on see uuritud paljudes teistes valdkondades, näiteks mänguteooria, automaatika, majandusteadus, informatsiooniteooria, statistika, geneetilised algoritmid jt.

Sissejuhatus

Stiimulõpes on keskkond tüüpiliselt formuleeritud kui Markovi otsustusprotsess (MDP), kuna stiimulõppes rakendavad paljud algoritmid probleemi lahendamiseks dünaamilist programmeerimist. Tänapäevase stiimulõpe erinevus klassikalistest algoritmidest on see, et tänapäevase stiimulõpe algoritmidel pole vaja teada protsessi MDP-d ning nende abil saab lahendada suuri MDP-sid, kus täpsed lahendid on tihtipeale võimatud.[1]

Stiimulõpe protsess erineb tavalisest juhendatud õppest selle poolest, et see ei kasutata sisend/väljund näidispaare ja suboptimaalsed tegevused ei ole otseselt korrigeeritud. Selle asemel on stiimulõpe algoritmide fookuseks nende tegevuste lõplik tulemus, mille saavutamiseks on vaja balansseeritud avastamist ja olemasoleva strateegia järgimist. Nende kompromiss on pidevalt uuritud lõpliku MDP-ga probleemide kontekstis, nagu multi-armed bandit.[2]

Formuleering

Matemaatiliselt on stiimulõpe formuleeritud kui Markovi otsustusprotsess (S,A,P,R):

  • S – kõikvõimalike olekute hulk,
  • A – kõikvõimalike tegevuste hulk,
  • P – üleminekutõenäosus: P(s|s,a)=Pr(st+1=s|st=s,at=a),
  • R – preemia, mille saab üleminekul olekust s olekusse s: R(s,a,s).

Formuleeringust otseselt tuleneb, et stiimulõpe tegeleb stohhastiliste probleemidega, kus üleminek olekust s olekusse s pole deterministlik. Üldjuhul pole üleminekutõenäosused teada ning algoritmi eesmärk on olekule sS leida vastav tegevus aA nii, et oodatav preemia oleks maksimeeritud.[1]

Algoritmid

Tihti rakendatakse stiimulõppe algoritmide kasutamisel funktsioonide lähenemismeetodeid, nagu näiteks närvivõrgud. Tänu nendele on võimalik stiimulõpet rakendada seal, kus klassikalised meetodid hakkama ei saa:

  • keskkonnades, kus olekute hulk S on liiga suur klassikaliste meetodite jaoks;
  • üleminekutõenäosused pole teada ning seega ainuke viis keskkonnast midagi teada saada on reaalajas tegevustega;
  • üleminekutõenäosused on teada, aga tulenev mudel on arvutamise mõttes liiga raske.

Tänapäeval populaarsemad stiimulõpe algoritmid on DQN[3] ja A3C.[4] Nende erinevus ei ole ainult algoritmiline, vaid ka agendi õppimise põhimõtte poolest. Näiteks DQN õpib viivitusega ehk kogub alguses mingi hulga kogemusi mälusse ja pärast õpib nende pealt, samas kui A3C õpib käigupõhiselt ehk reaalajas.

Rakendus

Stiimulõppe algoritme rakendatakse paljudes valdkondades, näiteks robootikas ja majandusteaduses.[5]

Ettevõtte DeepMind poolt loodud arvutiprogramm AlphaGo võitis 2016. aastal viiepartiilises go-matšis 4:1 maailmameistrit Lee Sedoli.[6] 2017. aastal võitis programmi edasiarendatud variant AlphaZero ülekaalukalt parimat maleprogrammi Stockfish.

Viited

Mall:Viited

  1. 1,0 1,1 Viitamistõrge: Vigane <ref>-silt. Viide nimega sutton2018 on ilma tekstita.
  2. Viitamistõrge: Vigane <ref>-silt. Viide nimega katehakis1987 on ilma tekstita.
  3. Viitamistõrge: Vigane <ref>-silt. Viide nimega mnih2013 on ilma tekstita.
  4. Viitamistõrge: Vigane <ref>-silt. Viide nimega mnih2016 on ilma tekstita.
  5. Mall:Cite web
  6. Mall:Cite web