2025-Q1-AI 15. DQN DDQN

 

15.1. Video / Materials (🔴 20. maijs 18:00, Riga, Zunda krastmala 10, 122)

Zoom / Video pēc nodarbības: https://zoom.us/j/3167417956?pwd=Q2NoNWp2a3M2Y2hRSHBKZE1Wcml4Zz09

Whiteboard: https://www.figma.com/board/tqfLc2NBg8SKAPWVJiW3cL/2025-Q1-AI-15.-DQN-DDQN?node-id=0-1&t=jK9OBcxX8PFTsyrZ-1

Sagatavošanās materiāli: Rainbow DQN: https://arxiv.org/abs/1710.02298 https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html https://medium.freecodecamp.org/an-introduction-to-reinforcement-learning-4339519de419

 


 

Iepriekšējā gada video

Video https://youtu.be/tiaoLNMWZUA

https://youtube.com/live/LdMZxZCnOYE?feature=share

 

Pabeigts pirmkods:

https://share.yellowrobot.xyz/quick/2024-5-16-D405A821-6724-4093-8D02-44E423555721.zip

 

https://share.yellowrobot.xyz/quick/2024-5-7-B0676B73-317D-4B10-9015-49304BA00A70.zip

 

GOOGLE COLAB fix

 

 


 

15.2. Implementēt DQN

Balstoties uz 14.1. materiāliem un video implementēt DQN, izmantojot sagatavi.

Iesniegt kodu un ekrānšāviņus ar rezultātiem.

requirements.txt: https://share.yellowrobot.xyz/quick/2024-5-7-F3F3DD22-6A51-4328-BE43-4DDAA91E50E4.zip

Template: https://share.yellowrobot.xyz/quick/2024-5-7-817F6F38-5604-480F-A879-457AE8C4B767.zip

Vienādojums:

(1)Ldqn={(rt+γmaxaQΘ(st+1,a)QΘ(st,at))2if t<tlast(rtQΘ(st,at))2if t=tlast

 


15.3. Implementēt DDQN

Implementēt DDQN, balstoties uz uzdevuma sagatavi: https://share.yellowrobot.xyz/quick/2024-5-7-8D323D7A-938E-4077-A6FF-FE3B068E2941.zip

Iesniegt kodu un ekrānšāviņus ar rezultātiem.

Vienādojums:

(2)(rt+γmaxaQtarget(st+1,a)QΘ(st,at))2if t<tlast(rtQΘ(st,at))2if t=tlast

 


 

15.4. Mājasdarbs - Dueling DDQN, MountainCar

  1. Balstoties uz 14.3 kodu, implementēt jaunu vidi MountainCar: https://gym.openai.com/envs/MountainCar-v0

  2. Implementēt Dueling DDQN modeļa arhitektūru https://arxiv.org/abs/1511.06581

  3. Implementēt pēc iespējas vairāk komponentes no Rainbow DQN https://arxiv.org/pdf/1710.02298

  4. Implementēt pēc iespējas vairāk komponentes no BTR (Beyond the Rainbow) https://arxiv.org/pdf/2411.03820

  5. Iesniegt kodu un ekrānšāviņus ar rezultātiem.

Modeļa shēma: image-20250519013137108

 

 


 

Saturs

  1. Izskaidrot basics par RL, ka nevajag labels, vajag tikai vidi vai Reward modeli

  2. Izskaidrot terminus

  3. Q-Tables un Kumulatīva R

  4. DQN (Deep Q-Network)

 

 


Terminoloģija

Aģents (agent) — apmācāmais un lēmumu pieņēmējs.

Vide (environment) — kur aģents mācās un izlemj, kādas darbības veikt.

Darbība (action) — darbību kopums, ko aģents var veikt.

Stāvoklis (state) — aģenta stāvoklis vidē.

Atlīdzība (reward) — par katru aģenta izvēlēto darbību vide nodrošina atlīdzību; parasti skalāra vērtība.

Epizode (Episode) - Darbību un stāvokļu kopums no sākuma līdz beigu stāvoklim (Terminālais stāvoklis).

Trajektorija (Trajectory) - Visi stāvokļu un darbību pāri vienas epizodes ietvaros.

Horizonts (Horizon) - Cik soļus paturēt atmiņā vienas epizodes ietvaros.

Politika (Policy) — aģenta lēmumu pieņemšanas funkcija (kontroles stratēģija), kas atspoguļo kartēšanu no situācijas uz darbībām.

Vērtības funkcija (Value function) — kartēšana no stāvokļiem uz reāliem skaitļiem, kur stāvokļa vērtība atspoguļo ilgtermiņa atlīdzību, kas iegūta, sākot no šī stāvokļa un izpildot noteiktu politiku.

Bezmodeļa pieeja (Model-Free RL) — nosaka optimālo politiku, neizmantojot vai nenovērtējot vides dinamiku (pārejas un atlīdzības funkcijas)

Balstīta uz modeli (Model-based RL) — izmanto pārejas funkciju (un atlīdzības funkciju), lai novērtētu optimālo politiku

 

https://es.mathworks.com/help/reinforcement-learning/ug/train-reinforcement-learning-agent-in-mdp-environment.html

image-20250519005957355

 

 

Materials

CleanShot 2025-05-19 at 00.53.56

 

 

https://vitalflux.com/different-types-of-machine-learning-models-algorithms/

image-20250519005523239

 

https://www.mdpi.com/1424-8220/22/21/8278

image-20250519010133570

 

image-20250519010240686

 

image-20250519010316054

 

https://zhuanlan.zhihu.com/p/34076237

image-20250519010417387

https://jonathan-hui.medium.com/machine-learning-linear-algebra-eigenvalue-and-eigenvector-f8d0493564c9

image-20250519010523760

Pa labi savienojamības matrica - S1, S2, S3 un Reward vērtība pārejai

Markova lēmumu pieņemšanas process (Markov Decision Processs - MDP) - teorija matemātikā, kas ļauj modelēt lēmumu pieņemšanu vidē ar diskrētu laiku. Pašreizējais stāvoklis rakstro visu iepriekšējo stāvokļu trajektoriju.

https://medium.com/data-science/introduction-to-reinforcement-learning-markov-decision-process-44c533ebf8da

image-20250519011024158

 

Q Vērtības (jeb to aproksimācijas funkcija) norāda uz potenciālo kumulatīvo R vērtību nākotnē katrā stāvoklī kurā aģents atrodas. Senāk Q tabulās tā sakrita ar diskonta kumulatīvo R vērtību, bet mūsdienu modeļos tā var atšķirties, taču funkcija ir tā paša.

 

Kumulatīva atlīdzība (Reward) ar diskouna faktoru

Gamma = discount factor, kas nosaka cik nākotnes atlīdziba ir svarīga salīdzinājumā ar tuvāka stāvokļa atlīdzību. Piemēram, Flappy Bird spēlē svarīgākas ir tuvākas atlīdzinas, nevis ilgtermiņa atlīdzības.

(3)R=t=0nγtrt

Short-term focus: choose a small γ (e.g., 0–0.3). Rewards more than a few steps away are heavily down-weighted.

Long-term focus: choose a large γ (e.g., 0.9–0.999 —or exactly 1.0 in a finite-horizon task). Future rewards are almost as valuable as immediate ones.

Laika atskaite sākas no pašreizējā laika soļa līdz terminālajam stāvoklim nākotnē t.

 

Belmana vienādojums (Q-Learning)

(4)Qπ(st,at)=rt+γmaxaQπ(st+1,a)

 

 

DQN (Deep Q-Network)

image-20250519012349426

(7)Ldqn={(rt+γmaxaQΘ(st+1,a)QΘ(st,at))2if t<tlast(rtQΘ(st,at))2if t=tlast

 

Q-Learning vs DQN

https://valohai.com/blog/reinforcement-learning-tutorial-basic-deep-q-learning/

image-20250519012601661

https://wikidocs.net/175457

image-20250519012655705

 

 

DDQN (Double Deep Q-Network)

Stabilāka apmācība, jo ar noteiktu laika intervālu tiek izmantota zināma pēdējā Q funkcija nevis Q funkcija, kura dinamiski mainās pie katras darbības.

https://medium.com/analytics-vidhya/building-a-powerful-dqn-in-tensorflow-2-0-explanation-tutorial-d48ea8f3177a

(8)Lddqn={(rt+γmaxaQtarget(st+1,a)QΘ(st,at))2if t<tlast(rtQΘ(st,at))2if t=tlast

 

 

 

Izpēte pret eksplotāciju (Explorations vs Explotation)

image-20250519012157273

https://medium.com/@george.felobes/understanding-the-multi-armed-bandit-problem-a-key-concept-in-reinforcement-learning-cb430094274d

image-20250519012227007

 

https://medium.com/swlh/using-q-learning-for-openais-cartpole-v1-4a216ef237df

 

 

Dueling DDQN

https://www.mdpi.com/2076-3417/12/7/3520

image-20250519013005276

image-20250519013145944

 

 

Rainbow DQN kombinācija

https://arxiv.org/pdf/1710.02298

CleanShot 2025-05-19 at 01.34.43

BEYOND THE RAINBOW: HIGH PERFORMANCE DEEP REINFORCEMENT LEARNING ON A DESKTOP PC - BTR

https://arxiv.org/pdf/2411.03820

CleanShot 2025-05-19 at 01.38.08

CleanShot 2025-05-19 at 01.38.57