Bu makale, AI Araştırma Enstitüsü tarafından derlenen, orijinal başlığı olan teknik bir blogdur:
Biyo-mekanik bir modele uygulanan evrimsel algoritmalarla yürümeyi öğrenmek
Yazar | Norman Di Palo
Çeviri | Hu Yinghao Redaksiyon | Sos Tavası Armut
Bitirme | ananas kız
Orijinal bağlantı:
https://towardsdatascience.com/learning-to-walk-with-evolutionary-algorithms-applied-to-a-bio-mechanical-model-1ccc094537ce
İnsansı model gerçek kaslarla yürür
Bu makaledeki kaynak kodu bu GitHub deposunda bulunabilir.
(Https://github.com/normandipalo/learn-to-walk-with-genetic-algs)
2017 NIPS'deki zorluklardan biri "Koşmayı Öğrenmek": Başlıkta gösterildiği gibi, bu görev, insan biyomekanik modelinin yürüyüşünü kontrol edebilen bir öğrenme algoritmasının tasarlanmasını ve geliştirilmesini gerektirir. Algoritmadaki aktüatör (çoğu robotik problemin aksine), her bacak 9 kastan oluşan bir dizi bacak kasıdır. Sürüm meydan okumasının yazarı, OpenSIM ortamını gelişmiş öğrenme ayarına uyarlamak için değiştirdi ve böylece bir ödül sinyali ekledi.
Bazı şeyler çok kötü (veya çok doğru) hale gelir.
Birçok yarışmacı, son yıllarda sürekli kontrol görevlerinde oldukça iyi performans gösteren uçtan uca derin takviye öğrenme algoritmaları tasarladı. Ancak bu modeller, başarılı stratejileri öğrenmek için genellikle çok fazla bilgi işlem gücü ve hesaplama süresi gerektirir ve genellikle birden çok makinede paralel olarak daha iyi çalışırlar.
Bu meydan okumayı kendi yöntemimle denemeye karar verdim. Yakın zamanda robot manipülasyonu için geliştirdiğim oldukça hafif bir yöntemi, özellikle sinir ağı denetleyicileriyle birleştirilmiş evrimsel algoritmaları uyguladım ve genişlettim. Bu algoritmaları kullanmanın avantajı, türetilebilir olmaları gerekmemesi, yüksek oranda paralelleştirilebilmeleri ve derin RL algoritmasına benzer sonuçlar elde edebilmeleridir. OpenAI ile ilgili ilgili makalelere bakın. Sorun şu ki hareket tamamen rastgele, bu yüzden içeriği ve öğrenme yöntemini tahmin etmek zor, ama yine de bu yöntemi denemek istiyorum.
Yürümeyi öğrenen bir bebek gibi birkaç adımla başlayın.
Sadece en iyi performans gösteren modeli tutmamak önemlidir, çünkü model bazı yerel en küçük yerlerde sıkışıp kalacaktır (bu noktaları terk etmek zordur).
Evrimsel algoritmalar sayısal optimizasyon problemlerinde kullanılır Algoritma, parametrelerini ilgili amaç fonksiyonları aracılığıyla optimize eder. Bu soruda, bu parametreler ve amaç işlevi ne olmalıdır? Deneyimden başlayarak: bacaklar periyodik bir şekilde hareket eder. Kas egzersizi, düzenlilik ve sinüs zamanı yasasına uyar, ancak bu yasayı elle gerçekleştirmek zordur. Periyodik bir fonksiyon nasıl oluşturulur? Burada Fourier serisini tanıtın. Fourier serisinin (sinüs ve kosinüs birikimini kullanarak) herhangi bir periyodik fonksiyonu tahmin edebileceğini biliyoruz. Ancak teoride sınırsız sayıda öğeye sahip olabilirler. Kas hareketini inşa etmek için bazı terimlerin (kesiştiği) bir Fourier serisi tasarladım. Burada sadece ilk 4 kosinüs dizisi kullanılır, bu nedenle 8 parametre oluşturulur: 4 ağırlık değeri, farklı frekans fazlarının 4 kosinüs değeriyle çarpılır. Bu şekilde her kas için periyodik bir fonksiyon oluşturulur. Her bacakta 9 kas var 9 set periyodik fonksiyon kullandım Burada diğer bacağın da aynı hareket yöntemini kullandığını ve aynı fonksiyonla yapılabileceğini varsayıyorum, ancak faz farkı 180 °. Genetik algoritma, bu parametreleri değiştirerek ve ayarlayarak amaç fonksiyonunun sonucunu optimize eder (sinir ağı parametrelerine kıyasla, sayı çok küçüktür) Bunun, robotun ne kadar yürüdüğü ve daha sonra düştüğü gibi nihai şiddetli fonksiyon olduğu açıktır.
Bir günlük eğitimden sonra yürüyüş düzeni
Parametreler beyaz gürültüden örneklenir ve rastgele değiştirilir. Ancak belirli bir örnekleme yönünde bir performans artışı varsa, artık performans artışı olmadığını bilerek parametreler bu yönde daha da ilerleyecektir. Paralel olarak 3 model çalıştırdım çünkü bir dizüstü bilgisayarın hesaplama miktarı zaten çok büyük. En iyi performansa sahip ağırlıklar bir parametre dosyasına kaydedilir. Birkaç grup yürütüldükten sonra eğitim, en iyi performansa sahip ilk 3 parametre grubundan yeniden başlar. Bu, algoritmanın farklı davranışları daha iyi keşfetmesini sağlar: yalnızca mevcut optimal modeli araştırmamak önemlidir, çünkü bu model yerel bir optimalde sıkışmış olabilir ve kaçması zordur ve bir süre sonra zayıf performans modeli Eğitim, diğer davranışlara ince ayar yaparak mevcut optimal modeli aşabilir. Aslında, bir dizi simülasyon yürüyüşünden sonra, en iyi üç modelden yeniden başlamak, yürüme modunu başarıyla öğrenmenin anahtarıdır. Model, ön bilgi olmadan insanlar gibi spor davranışlarını öğrenebilir ki bu oldukça zordur.
Nispeten kısa eğitim süresi ve zayıf donanım koşulları (Intel Core 2 Duo CPU) altında, model birkaç adımı başarıyla atabilir. Diğer derin pekiştirmeli öğrenme modelleri açıkça daha iyi sonuçlar elde etti, ancak uzun bir eğitim süresi ve güçlü donanım gerektiriyorlar. Amacım bu modellerle gerçekten rekabet etmek değil, düşük kaliteli dizüstü bilgisayarlarda yürüme modellerini hızlı bir şekilde elde etmek için 100'den az parametreye sahip genetik algoritmaların ve modellerin nasıl kullanılacağını göstermektir. Lei Feng Ağı Lei Feng Ağı Lei Feng Ağı
Bu makalenin ilgili bağlantılarını ve referanslarını görüntülemeye devam etmek ister misiniz?
Bağlantıya uzun basın ve açmak için tıklayın veya [Evrimsel algoritmada gezinmek için biyomekanik modeli öğret] seçeneğini tıklayın:
AI Araştırma Enstitüsü heyecan verici içeriği günlük olarak günceller, daha heyecan verici içerikler izleyin:
Çevirmeni bekliyorum: