Markov Chain && Reinforcement Learning

Reinforcement Learning este o ramura in machine learning care se ocupa cu agenti care iau actiuni intr-un mediu ca sa isi maximizeze recompensa cumulata. Mediu este modelat ca si Markov Decision Process , multi algoritmi de reinforcement learning folosesc tehnici de programare dinamica.

Lanturi Markov, denumite dupa Andrey Markov, sunt sisteme matematice care sar dintr-o stare(o situatie de multimi de valori) in alta stare. De exemplu, daca faci un model de lant Markov a comportamentului unui copil, poti include "joaca", "mancare", "somn", si "plans" ca stari, care impreuna cu alte stari vor forma spatiul starilor: o lista cu toate starile posibile. Lantul Markov spune ca probabilitatea de a sari sau tranzitiona dintr-o stare in alta, adica sansa cau un copil care in prezent se joaca sa pice in somn in urmatoarele 5 minute fara sa planga mai intai.

Cu doua stari (A si B) in spatiu nostru de stari, vor fi 4 tranziti posibile(si nu 2 deoarece o stare pot tranzitiona inapoi in ea insusi. Daca suntem in starea 'A' se poate trazitiona in 'B' sau ramana in 'A'. Daca suntem in 'B' se poate tranzitiona in 'A' ori sta in 'B'. In diagrama acestor 2 stari, probabilitatea de a tranzitiona din orice stare in orice stare este de 0.5.

Desigur in realitate nu intotdeauna se deseneaza lanturi markov pe diagrame. In loc folosim o matrice de tranzitie in care sa definim probabilitatile de tranzitie. Fiecare stare in spatiu starilor este inclusa odata ca linie si coloana si fiecare celula in matricea de probabilitati.

Scenariu clasic in reinforcement learning, un agent ia actiuni intr-un mediu, care este interpretat ca recompensa de catre agent.

Q-Learning este o alta tehnică de reinforcement learning care asociază o utilitate pentru fiecare pereche stare-acțiune. Elementele de bază sunt : agent, stare, acțiune, recompensă. La orice moment, agentul se află într-o anumită stare și decide asupra uneia dintre mai multe acțiuni. Pentru acțiunea sa, agentul primește o recompensă.

Scopul agentului este de a obține o recompensă totală maximă. Agentul lucrează cu o funcție de calitate (quality), pe care și-o adaptează pe măsură ce explorează mediul.

Referinta catre curs extern

Framework

1 Like

O librarie de la Google pentru Reinforcement Learning din categoria TensorFlow, exemplele se pot rula in cloud cu un browser folosing Collaboratory de la Google.

https://www.tensorflow.org/agents?linkId=84976158

Si un blog dedicat subiectului cu exemple de Reinforcement Learning explicate pe intelesul oricui: