# Stiimulõpe

**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.

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*.

## Formuleering

Matemaatiliselt on stiimulõpe formuleeritud kui Markovi otsustusprotsess ( WIKINIUM\_MATH\_PH\_0 ):

* WIKINIUM\_MATH\_PH\_2 – kõikvõimalike olekute hulk,
* WIKINIUM\_MATH\_PH\_4 – kõikvõimalike tegevuste hulk,
* WIKINIUM\_MATH\_PH\_6 – üleminekutõenäosus: WIKINIUM\_MATH\_PH\_8 ,
* WIKINIUM\_MATH\_PH\_10 – preemia, mille saab üleminekul olekust WIKINIUM\_MATH\_PH\_12 olekusse WIKINIUM\_MATH\_PH\_14 : WIKINIUM\_MATH\_PH\_16 .

Formuleeringust otseselt tuleneb, et stiimulõpe tegeleb stohhastiliste probleemidega, kus üleminek olekust WIKINIUM\_MATH\_PH\_18 olekusse WIKINIUM\_MATH\_PH\_20 pole deterministlik. Üldjuhul pole üleminekutõenäosused teada ning algoritmi eesmärk on olekule WIKINIUM\_MATH\_PH\_22 leida vastav tegevus WIKINIUM\_MATH\_PH\_24 nii, et oodatav preemia oleks maksimeeritud.

## 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 WIKINIUM\_MATH\_PH\_26 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 ja A3C. 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.

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

## Viited