Takviye öğrenimi ile robotu takip eden bir çizgi programlama


15

Takviye öğrenme algoritmaları kullanarak robotu takip eden bir çizgi programlamayı düşünüyorum. Üzerinde düşündüğüm soru, herhangi bir keyfi yolda gezinmeyi öğrenmek için algoritmayı nasıl alabilirim?

Takviye öğrenimi için Sutton & Barto Kitabını takip ettikten sonra, araba acentesinde pistten çıkmamayı ve hızını düzenlememeyi öğrendiği bir yarış pisti içeren bir egzersiz problemini çözdüm. Bununla birlikte, bu egzersiz problemi, ajanın eğitildiği pistte nasıl gezinileceğini öğrenmesini sağladı.

Bir robotun keyfi yollarda gezinmesini sağlamak takviye öğrenme kapsamında mıdır? Temsilcinin kesinlikle yarış devresi veya yol haritası olması gerekiyor mu? Durum alanım için hangi parametreleri kullanabilirim?


1
Nasıl olduğunu bilmiyorum, ama şekli ne olursa olsun, kendisini bir yolun içinde tutmayı öğretmenin mümkün olduğundan eminim. Bu durumda öğretmenin amacı, robotun acil girdilerine (veya belki de bazı geçmişlerine) dayanarak aldığı yerel karar olmalıdır. Bu şekilde, tüm kararlar yerel olduğu için yolun şeklinin önemi yoktur.
Shahbaz

@Shahbaz - Devlet alanı için ne kullanmamı önerirsiniz?
Lord Loh.

Aslında emin değilim. Üniversitede yapay zeka eğitimi almama rağmen, bu asla çalışma / araştırma alanım değildi. Kabul ettiğiniz cevap makul görünüyor!
Shahbaz

Markdown'u test etmek için bir cevap mı kullanıyorsunuz? Sadece ne istediğinizi yazmak ve altındaki ani çizimlerinden biri var ve sonra olabilir değil post it.
Shahbaz

Yanıtlar:


8

Herhangi bir makine öğrenimi algoritmasının temel ölçülerinden biri, genelleme yeteneğidir (yani daha önce bilinmeyen senaryolara öğrendiklerini uygulama). Takviye öğrencileri (RL) iyi genelleme yapabilir, ancak bu yetenek kısmen deneyimlerimdeki durum-uzay formülasyonunun bir fonksiyonudur. Bu, doğru kurulumu bulabilirseniz, RL öğrencisinin yarış devresinin haritasına ihtiyaç duymayacağı anlamına gelir.

Bu, hangi parametrelerin kullanılacağı sorusunu bırakır. Robotunuzda bulunan sensörler hakkında daha fazla bilgi sahibi olmadan sadece spekülasyon yapabilirim. İlk eğilimim, çizginin ve robotun göreceli yönünü kodlamaya çalışmaktır (yani robot sağa, sola eğilimli veya sadece çizgiyle paralel hareket ediyor). Bunu yapmak hoş bir küçük devlet alanına yol açacaktır. Kesinlikle gerekli olmasa da, hızlı ve basit bir uygulama yapacaktır. Ayrıca, robot sabit bir hızda hareket etmiyorsa, robotun daha yüksek hızlarda hareket ederken daha hızlı tepki vermesi gerekeceğinden robotların hızını kodlamak yardımcı olabilir.


Harita olmadan durum alanı, robotun hemen bulunduğu konumdan algılayabildiği şeydir. Belli bir dereceye kadar, harita "ileriye bakmanın" bir yoludur. Haritasız senaryoda öğrenilen davranış esasen "öncekiyle aynı şeyi yap ama daha yavaş git çünkü dönüşlerin bu kez nerede olduğunu bilmiyoruz". (Muhtemelen, pistin kenarlarının nerede olduğunu söyleyebileceksiniz.)
Ian

Bir politika bize bir devlet göz önüne alındığında hangi kontrolün uygulanacağını söyler. Durum-uzay RL aracısı için iyi formüle edilmişse, durum-uzayında aynı şekilde farklı senaryolar aynı görünebilir ve aynı davranışı verebilir. Buna genelleme denir ve doğru yapıldığında arzu edilir. Robot, kontrol döngüsünün hızına bağlı olarak maksimum bir hıza sahip olacaktır. Öğrenilen davranışın yavaşlaması gerekmez. Ödül, koşu süresinin uzunluğu ile ters orantılıysa, ajan, kontrol döngüsünün hızına göre hızını maksimize etmeye meyillidir.
DaemonMaker

0

Ne tür bir robotunuz olduğundan emin değilim ama birkaç yıldır robocup kurtarma hattı yapıyorum. Ben PID kullanarak iyi bir çizgi takip etmek istiyorsanız iyi bir seçenek olduğunu fark ettim. Bu konuya genişleyeyim. Çizginin her iki tarafında iki ışık sensörü hayal ederseniz, çizginin ortada olması için eşit değerde olmasını istersiniz. Ardından, robotun dönüş yüzdesini değiştirmek için iki sensörün değeri arasındaki farkı kullanabilirsiniz. Bu teknikle, bir robotun bir hattı olağanüstü hızlarda takip etmesini sağlamak mümkündür. Tıpkı robotun çizgi izleme yeteneklerini geliştirmeyi öğrenmesini düşündüğünüz gibi. Ortaya çıkan şey, ilk PID değerlerinizin olmasını istediğinizden daha yüksek bir değerle başlamak ve çizgiyi takip ederken robotun salınım frekansını ölçmek için jiroskopik bir sensör kullanmaktır. Oradan istikrarlı bir sistem elde etmek için değerlerinizi ne kadar düşüreceğinizi belirlemek için kendi işlevinizi oluşturabilirsiniz, bu tam olarak bir yapay zeka değil, bir otomatik optimizasyon algoritması gibi, ama hey im 18 ve ben nasıl kodlamayı öğrendim internet. Umarım bu yardımcı olur. Herhangi bir sorunuz varsa bana düzenli olarak kontrol olmaz alışkanlık bu benim ana e-posta adresi e-posta. 69darkeagle@sigaint.org

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.