SlideShare a Scribd company logo
1 of 15
Megerősítéses tanulás alapú
algoritmus tervezése
DonkeyCar környezetben
Dámsa Levente
Konzulens
Dr. Szegletes Luca
Feladat
• Sávkövető autonóm jármű
• Kormányzás
• Sebesség
• Tanító környezet
• Szimuláció
• Áttérés valódi autóra
Lépések
Donkeycar - Hardver
Komponensek
• 1/16 RC autó (HSP 94186)
• Raspberry Pi 4B
• Kamera
• Lidar szenzor
• Szervó driver: PCA9685 (i2c)
• DC-DC 5V/2A feszültség átalakító
Kalibráció
https://www.donkeycar.com/uploads/7/8/1/7/7817903/donkey-car-graphic_orig.jpg
Donkeycar - Szoftver
Hoszt
• Ubuntu
• Donkeycar python csomag
• GPU tanításra
• Pytorch
• Stable baselines3
• Donkeycar szimulátor (Unity)
• OpenAI gym környezet
Raspberry
• Raspbian
• Donkeycar python csomag
• Lidar szenzor
• Pytorch
Feature engineering
• Mekkora hálózat szükséges?
• Autóenkóder
• Minimum code size: 64
Policy stable baselines 3-ban, autóenkóder struktúra forrás: https://stable-
baselines3.readthedocs.io/en/master/_images/net_arch.png
Feature engineering
• Jobb reprezentáció keresése
• Tömörebb, kevésbé zajos
• Diszkrét Wavelet transzformáció
• Cropping
• Motherwavelet: Haar
• Dekompozíciós szint: 2
• Eredmény:
• Eredeti kép: 160x120
• Wavelet: 64x34
Reward function
• Mi alapján vezet jól az ügynök?
• Paraméterek: sebesség,
középvonaltól való eltérés
• Büntetés max eltérés felett
PPO ügynök által elért reward érték epizódonkét
Módosított reward
function
• Probléma: ügynök a sebességet növelte
• Szigorúbb büntetés az eltérésre
Tanítás - Tesztelés
• DonkeyCar szimulátor
• Stable baselines RL algoritmusok
• PPO, TD3, DQN, TQC
• Wavelet vs Eredeti kép
• Hiperparaméter állítás
• Inverz reinforcement learning
• Tesztelés: Ismeretlen pályákon
Sim2Real
Raspberry pi: Tensorflow lite
támogatott
PPO modellben nem támogatott
műveletek
Megoldás: Feature extractor +
policy neurális háló
konvertálása Policy stable baselines 3-ban, forrás: https://stable-
baselines3.readthedocs.io/en/master/_images/net_arch.png
Sim2Real
2 lépés:
• Onnx formátummá való
konvertálás
• Onnx formátumból tflite modell
generálás
• Wavelet transzformáció
elvégzése
Tflite modellek: Eredeti vs
Wavelet
Online reinforcement learning
Szimulátor helyett RC autó
DonkeyRealEnv osztály
implementálása
Tanítható, tesztelhető https://deepmind.com/research/publications/2020/RL-Unplugged-Benchmarks-
for-Offline-Reinforcement-Learning
Tanulságok
• Szimulációból nehéz az áttérés
• Randomizált környezet
• Preprocessing
• Hardveres limitációk
• Ügynök kihasználhatja a szimulátor hibáit
• Reward function megfelelő megválasztása
Kérdések
Bírálói kérdések
• Említette a dolgozatban, hogy a módszer alkalmazható lenne a RobonAUT-ra. Ott általában egy fekete (vagy fehér) ragasztó szalag jelzi a követendő
vonalat. Hogyan adaptálná a dolgozatban ismertetett módszereit a RobonAUT esetén? Milyen lehetőségeket lát az ügyességi feladatok esetén, ahol
általában a vonal követés szintén alapelvárás?
• 1. opció: Kép helyett a vonalszenzorok lennének a bemenetek
• 2. opció: Unity-ben a RobonAUT verseny pályáját lemásolni, kamera alapú feldolgozás, adaptáció
• Ügyességi feladat: Előre meghatározott fix sebesség, csak kormányzás
• Mennyire robosztus a vonalkövetés? Kb. mennyi kört lehet vele megtenni mielőtt hibázik? Hogyan lehetne ezen javítani?
• Függ a pálya komplexitásától
• Megfelelő tanítási idővel stabilabbá lehet tenni
• Csak kormányszög beavatkozás
• Jutalom megtett kör után

More Related Content

Similar to Deep reinforcement learning with DonkeyCar

Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztéseNagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztéseJános Pásztor
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanAntal Orcsik
 
Continous Integration and Deployment
Continous Integration and DeploymentContinous Integration and Deployment
Continous Integration and DeploymentKároly Nagy
 
Webes alkalmazások optimalizálása
Webes alkalmazások optimalizálásaWebes alkalmazások optimalizálása
Webes alkalmazások optimalizálásaAntal Bodnar
 
Budapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentBudapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentDigital Natives
 
Netfilter elméleti alapok
Netfilter elméleti alapokNetfilter elméleti alapok
Netfilter elméleti alapokBenedek Rakovics
 
Valos ideju megoldasok realtime ods és database in memory tapasztalatok
Valos ideju megoldasok realtime ods és database in memory tapasztalatokValos ideju megoldasok realtime ods és database in memory tapasztalatok
Valos ideju megoldasok realtime ods és database in memory tapasztalatokDaniel Sef
 
T day virtualization_2007
T day virtualization_2007T day virtualization_2007
T day virtualization_2007Laszlo Kredits
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztésOpen Academy
 
Lego okt eszköz
Lego okt eszközLego okt eszköz
Lego okt eszközkangyerka
 
GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19Mihály Mészáros
 
Grid és adattárolás
Grid és adattárolásGrid és adattárolás
Grid és adattárolásFerenc Szalai
 

Similar to Deep reinforcement learning with DonkeyCar (20)

Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztéseNagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
 
Budapest.rb 201010
Budapest.rb 201010Budapest.rb 201010
Budapest.rb 201010
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatban
 
Continous Integration and Deployment
Continous Integration and DeploymentContinous Integration and Deployment
Continous Integration and Deployment
 
Grafikus kártyák
Grafikus kártyákGrafikus kártyák
Grafikus kártyák
 
Webkonf 2013
Webkonf 2013Webkonf 2013
Webkonf 2013
 
Webes alkalmazások optimalizálása
Webes alkalmazások optimalizálásaWebes alkalmazások optimalizálása
Webes alkalmazások optimalizálása
 
Budapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentBudapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails Deployment
 
Netfilter elméleti alapok
Netfilter elméleti alapokNetfilter elméleti alapok
Netfilter elméleti alapok
 
Valos ideju megoldasok realtime ods és database in memory tapasztalatok
Valos ideju megoldasok realtime ods és database in memory tapasztalatokValos ideju megoldasok realtime ods és database in memory tapasztalatok
Valos ideju megoldasok realtime ods és database in memory tapasztalatok
 
WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?WebRTC - Hol tartunk ma?
WebRTC - Hol tartunk ma?
 
Magvas gondolatok
Magvas gondolatokMagvas gondolatok
Magvas gondolatok
 
T day virtualization_2007
T day virtualization_2007T day virtualization_2007
T day virtualization_2007
 
Polygon Hirek III. évfolyam 2009 DI
Polygon Hirek III. évfolyam 2009 DIPolygon Hirek III. évfolyam 2009 DI
Polygon Hirek III. évfolyam 2009 DI
 
NETaudIT
NETaudITNETaudIT
NETaudIT
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztés
 
Iptables gyorstalpaló
Iptables gyorstalpalóIptables gyorstalpaló
Iptables gyorstalpaló
 
Lego okt eszköz
Lego okt eszközLego okt eszköz
Lego okt eszköz
 
GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19GN4-UP2U update - Moodlemoot19
GN4-UP2U update - Moodlemoot19
 
Grid és adattárolás
Grid és adattárolásGrid és adattárolás
Grid és adattárolás
 

Deep reinforcement learning with DonkeyCar

  • 1. Megerősítéses tanulás alapú algoritmus tervezése DonkeyCar környezetben Dámsa Levente Konzulens Dr. Szegletes Luca
  • 2. Feladat • Sávkövető autonóm jármű • Kormányzás • Sebesség • Tanító környezet • Szimuláció • Áttérés valódi autóra
  • 4. Donkeycar - Hardver Komponensek • 1/16 RC autó (HSP 94186) • Raspberry Pi 4B • Kamera • Lidar szenzor • Szervó driver: PCA9685 (i2c) • DC-DC 5V/2A feszültség átalakító Kalibráció https://www.donkeycar.com/uploads/7/8/1/7/7817903/donkey-car-graphic_orig.jpg
  • 5. Donkeycar - Szoftver Hoszt • Ubuntu • Donkeycar python csomag • GPU tanításra • Pytorch • Stable baselines3 • Donkeycar szimulátor (Unity) • OpenAI gym környezet Raspberry • Raspbian • Donkeycar python csomag • Lidar szenzor • Pytorch
  • 6. Feature engineering • Mekkora hálózat szükséges? • Autóenkóder • Minimum code size: 64 Policy stable baselines 3-ban, autóenkóder struktúra forrás: https://stable- baselines3.readthedocs.io/en/master/_images/net_arch.png
  • 7. Feature engineering • Jobb reprezentáció keresése • Tömörebb, kevésbé zajos • Diszkrét Wavelet transzformáció • Cropping • Motherwavelet: Haar • Dekompozíciós szint: 2 • Eredmény: • Eredeti kép: 160x120 • Wavelet: 64x34
  • 8. Reward function • Mi alapján vezet jól az ügynök? • Paraméterek: sebesség, középvonaltól való eltérés • Büntetés max eltérés felett PPO ügynök által elért reward érték epizódonkét
  • 9. Módosított reward function • Probléma: ügynök a sebességet növelte • Szigorúbb büntetés az eltérésre
  • 10. Tanítás - Tesztelés • DonkeyCar szimulátor • Stable baselines RL algoritmusok • PPO, TD3, DQN, TQC • Wavelet vs Eredeti kép • Hiperparaméter állítás • Inverz reinforcement learning • Tesztelés: Ismeretlen pályákon
  • 11. Sim2Real Raspberry pi: Tensorflow lite támogatott PPO modellben nem támogatott műveletek Megoldás: Feature extractor + policy neurális háló konvertálása Policy stable baselines 3-ban, forrás: https://stable- baselines3.readthedocs.io/en/master/_images/net_arch.png
  • 12. Sim2Real 2 lépés: • Onnx formátummá való konvertálás • Onnx formátumból tflite modell generálás • Wavelet transzformáció elvégzése Tflite modellek: Eredeti vs Wavelet
  • 13. Online reinforcement learning Szimulátor helyett RC autó DonkeyRealEnv osztály implementálása Tanítható, tesztelhető https://deepmind.com/research/publications/2020/RL-Unplugged-Benchmarks- for-Offline-Reinforcement-Learning
  • 14. Tanulságok • Szimulációból nehéz az áttérés • Randomizált környezet • Preprocessing • Hardveres limitációk • Ügynök kihasználhatja a szimulátor hibáit • Reward function megfelelő megválasztása
  • 15. Kérdések Bírálói kérdések • Említette a dolgozatban, hogy a módszer alkalmazható lenne a RobonAUT-ra. Ott általában egy fekete (vagy fehér) ragasztó szalag jelzi a követendő vonalat. Hogyan adaptálná a dolgozatban ismertetett módszereit a RobonAUT esetén? Milyen lehetőségeket lát az ügyességi feladatok esetén, ahol általában a vonal követés szintén alapelvárás? • 1. opció: Kép helyett a vonalszenzorok lennének a bemenetek • 2. opció: Unity-ben a RobonAUT verseny pályáját lemásolni, kamera alapú feldolgozás, adaptáció • Ügyességi feladat: Előre meghatározott fix sebesség, csak kormányzás • Mennyire robosztus a vonalkövetés? Kb. mennyi kört lehet vele megtenni mielőtt hibázik? Hogyan lehetne ezen javítani? • Függ a pálya komplexitásától • Megfelelő tanítási idővel stabilabbá lehet tenni • Csak kormányszög beavatkozás • Jutalom megtett kör után