Kuru ürünler Derin takviye öğrenimi için yapılandırılmış kontrol ağı (ICML kağıt açıklaması)

Bu makale, AI Araştırma Enstitüsü tarafından derlenen, orijinal başlığı olan teknik bir blogdur:

Derin Pekiştirmeli Öğrenme Eğitimi için Yapılandırılmış Kontrol Ağları (ICML Yayınlanmış Uzun Konuşma Belgesi)

Yazar | Mario Srouji

Tercüme | Yeni günlük olarak ebedi, ejderhaları çağırıyor

Düzeltme | Stephen Ergouzi İnceleme | Sos Armut Terbiye | Liyuwang

Orijinal bağlantı:

https://medium.com/@mariosrouji/structured-control-nets-for-deep-reinforcement-learning-tutorial-icml-published-long-talk-paper-2ff99a73c8b

Makaleye bağlantı: https://arxiv.org/abs/1802.08311

Özet : Son yıllarda, derin pekiştirmeli öğrenme, sıralı karar vermede birkaç önemli kıyaslama problemini çözmede dikkate değer bir ilerleme kaydetmiştir. Birçok kontrol uygulaması, politika ağının görsel olmayan kısmı için genel bir çok katmanlı algılayıcı (MLP) kullanır. Bu çalışmada, politika ağı gösterimi için basit ve etkili olan yeni bir sinir ağı mimarisi öneriyoruz. Önerilen yapılandırılmış kontrol ağı (Yapılandırılmış Kontrol Ağı, SCN), genel çok katmanlı algılayıcı MLP'yi iki bağımsız alt modüle böler: doğrusal olmayan bir kontrol modülü ve bir doğrusal kontrol modülü. Sezgisel olarak, doğrusal olmayan kontrol önden görünüm ve global kontrol için kullanılırken, doğrusal kontrol global kontrol dışındaki yerel dinamik değişkenlerin stabilizasyonu etrafında döner. Bu yöntemin doğrusal ve doğrusal olmayan stratejilerin avantajlarına sahip olduğunu varsayıyoruz: eğitim verimliliğini, nihai ödül puanını artırabilir ve öğrenme stratejisinin genelleme performansını sağlayabilir.Aynı zamanda, sadece daha küçük bir ağa ihtiyaç vardır ve farklı genel eğitim yöntemleri kullanılabilir. Hipotezimizin doğruluğunu OpenAI MuJoCo, Roboschool, Atari ve eğitim için çoklu kara kutu ve strateji gradyan eğitim yöntemleri kullanarak çoklu genelleme testleri de dahil olmak üzere özelleştirilmiş 2D kentsel sürüş ortamı simülasyonları aracılığıyla doğruladık. Belirli bir problemin önceliğini mimariye dahil ederek, önerilen mimari daha geniş bir kontrol görevi yelpazesini geliştirme potansiyeline sahiptir. Hareket görevinin durumunu incelemek için doğrusal olmayan kontrol modülünün yapısı olarak Biyolojik Merkez Simülasyon Üretecini (CPG) kullanıyoruz.Sonuç olarak, hareket görevinin yüzeydeki performansı büyük ölçüde geliştirildi.

Giriş

Bu eğitimde, ICML'de yayınlanan çalışmamızda önerilen yapılandırılmış kontrol ağının basit uygulamasını tanıtmak ve sonunda vaka çalışmasının girişini göstermek istiyorum. Bu eğiticiyi tamamlamadan önce bu makaleyi okumanızı tavsiye ederim.

Bu çalışma, Apple AI Research'teki stajım sırasında tamamlandı ve stajımın bir parçasıydı. MuJoCo, Roboschool, Atari, OpenAI Gym ve hatta otonom sürüş dahil olmak üzere pekiştirmeli öğrenme kontrol ortamlarındaki en gelişmiş teknolojilerin çoğunu yendi. Bu çalışmayı robotik ortamları ve gelişmiş işlemleri kapsayacak şekilde genişletmeyi planlıyoruz.

İşte makalenin bazı sonuçları. Örnekleme verimliliği, nihai ödül ve sağlamlık açısından, birçok ortamda mevcut en gelişmiş MLP ağını yendik. Ek olarak, bir araştırma vakası aracılığıyla, performansı daha da artırmak için yapılandırılmış bir kontrol ağı modelinin belirli bir göreve nasıl uyarlanacağını adım adım göstereceğim!

Yapılandırılmış kontrol ağını (mavi) ve çok katmanlı algılayıcıyı (turuncu) ve 2M zaman adımları altında eğitim eğrisini eğitmek için eğitim algoritması olarak PPO kullanın. Mevcut ileri teknoloji ile karşılaştırıldığında, nihai ödül ve örnekleme verimliliğinde önemli bir gelişme gösterdik.

Yukarıdaki şekil, ablasyon testlerinin eğitim eğrisidir. Doğrusal olmayan bir model olarak 16 gizli çok katmanlı algılayıcı birimi içeren yapılandırılmış bir kontrol ağı (mavi SCN) ve aynı boyutta ayrı ayrı eğitilmiş çok katmanlı algılayıcıları (yeşil) karşılaştıran doğrusal bir geri bildirim denetim modülü gösteriyoruz. Doğrusal geribildirim kontrol modülü (turuncu). Yukarıdaki şeklin sonucu, yapılandırılmış kontrol ağının daha iyi stratejileri verimli bir şekilde öğrenmesinin tam da bu çerçeve yapısı sayesinde olduğunu göstermektedir.

Umarım bu giriş, bu çalışmayı yeniden üretirken karşılaştığınız kafa karışıklığını çözebilir ve bu alanda derinlemesine araştırmalar için iyi bir başlangıç sağlayabilir. Makalede anlatıldığı gibi alt düzey ayrıntıları atlayacağım. Hadi başlayalım!

Sorun Açıklaması

Sorunu standart bir pekiştirmeli öğrenme ortamında tanımlıyoruz. T zamanında, aracı, mevcut gözlem dizisi o göz önüne alındığında, stratejiye göre (bizim ayarımızda strateji yapılandırılmış bir kontrol ağıdır) a eylemini seçer. r ortamda sağlanan ödüldür ve bir sonraki duruma geri döner.

Yapılandırılmış kontrol ağı mimarisi

Mimariye genel bakış çok basittir; durum kodunu ortamdan alır ve iki bağımsız akışa sağlar: doğrusal kontrol akışı ve doğrusal olmayan kontrol akışı. Bu iki akış, çıktıları bir takviye öğrenme stratejisi ağıyla birleştirilen bağımsız alt stratejiler olarak kabul edilebilir.

Bu mimariye genel bakışın amacı, bu iki modülün, örnekleme verimliliğini ve nihai performansı daha iyi iyileştirmek için politika ağında göreve özgü önceki koşulları uygulayan politikalar kullanılarak uygulanabileceğini kanıtlamaktır.

Doğrusal kontrol

Uygulamada, doğrusal kontrolör K * s + b ile temsil edilir; burada K, öğrenilen doğrusal kontrol kazanç matrisidir ve b, öğrenilen önyargıdır (s, mevcut durumdur).

Doğrusal bir denetleyici uygulamak için, model ayarlarının bir kod parçacığı burada verilmiştir. input_size, soyut durum vektörünün boyutudur ve output_size, belirli bir ortam için eylem vektörünün boyutudur. OpenAI Gym'in walker2d ortamını örnek olarak alacağım. Buradaki ofset b ihmal edilir (sadece kazanç matrisi K kullanılır).

K kazanç matrisini ayarladığınızda, ağırlıkları öğrenmek için herhangi bir pekiştirme öğrenme eğitim algoritmasını kullanabilirsiniz (basitlik için ağırlıklar 0 olarak başlatılır). Kazanç matrisi K, ortamın her tam yinelemesinden sonra güncellenir ve hatta gecikmeli bir güncelleme kullanılabilir (örneğin, her 10 yinelemede bir güncelleme). Bu eğitimde eğitim algoritması olarak Evrimsel Stratejileri kullanacağım.

Aşağıdaki örnek kod parçacığı, doğrusal modülün işlem çıktısının nasıl alınacağını gösterir. Burada, ortamın tanımlı aralığı dahilinde tutmak için çıkış işlem vektörünü kesmek için kullanılan yardımcı bir fonksiyon (walker2d için budur).

Eylem çıktısı üreten doğrusal modül (U_l):

K kazanç matris vektörünü (input_size x output_size) boyutunda bir matrise ayarladım. (Output_size x input_size.) Boyutunda bir eylem matrisi oluşturmak için bu sonuç matrisini değiştirin. Bu eylem matrisi boyuttaki bir durum vektörüyle (girdi_boyutu x 1) çarpıldıktan sonra, boyutta bir eylem çıktı vektörü (çıktı_boyutu x 1) elde edilebilir.

Ardından, ortamdan alınan ödül sinyaline göre K vektörünü güncelleyebilirsiniz. Bu tamamen doğrusal kontrolle ilgili!

Doğrusal olmayan kontrol

Bu makaledeki deneylerin çoğunda, doğrusal olmayan kontrol modülü olarak basit bir çok katmanlı algılayıcı (MLP) kullanıyoruz. Doğrusal kontrole benzer şekilde, MLP'nin ağırlığı her tam bölümde güncellenir.

Bu makale esas olarak, her biri 16 gizli birim içeren iki gizli katmana sahip MLP modelini kullanır ve etkinleştirme işlevi olarak doğrusal olmayan tanh kullanır. ES'yi bir eğitim algoritması olarak kullanırken, eğitim algoritmasının doğasında bulunan rastgelelik nedeniyle, MLP doğrudan eylem vektörünü verir. PPO eğitimini kullanırken çıktı, değişken standart sapmalı bir Gauss dağılımının ortalamasıdır.

Kolaylık olması açısından MLP ayarlarını göstermeyeceğim. MLP modelinin kendisini oluşturmak için herhangi bir ML çerçevesini (TensorFlow, PyTorch, vb.) Kullanabilirsiniz. OpenAI'yi eğitim algoritmamız ve modelimiz olarak kullanıyoruz: https://github.com/openai/baselines ..

Aşağıda, TensorFlow (tf) kullanılarak görsel girişin olmadığı bir ortamda kullanılan SCN'nin model ayar kodu pasajı verilmiştir:

Aşağıda, görsel girdi için Atari'nin evrişimli sinir ağını kullanan SCN model ayarlarının bir kod parçası bulunmaktadır:

Çıktıyı birleştir

Doğrusal terim ve doğrusal olmayan terimin çıktısını elde ettikten sonra, bu ikisinin basit bir şekilde eklenmesi yapı kontrol ağının çıktısı olur.

Evrimsel stratejiyi bir eğitim algoritması olarak kullanırken, çıktının birleştirilmesi, doğrusal ve doğrusal olmayan bileşenlerin eklenmesi kadar basittir ve doğrudan çıktı eylemleri oluşturabilir (ES'nin doğasında olan rastgelelik ve gradyansız algoritmaların özellikleri nedeniyle).

PPO veya başka bir strateji gradyan eğitim algoritması kullanırken, çıktıların nasıl birbirine bağlandığını / eklendiğini anlamak için lütfen doğrusal olmayan bölümdeki yukarıdaki kod parçacığına bakın.

Örnek olay: Doğrusal olmayan modüldeki MLP'yi belirli bir hareketin önceki bir modeliyle değiştirme

Son deneylerimizde, SCN'yi belirli bir göreve uyacak şekilde özelleştirmek için göreve özgü önceliklerin nasıl kullanılacağını göstermek için bir vaka çalışması olarak dinamik bacak hareketini kullandık.

Doğrusal olmayan bir modül olarak hareket etmek için MLP yerine bir merkezi model oluşturucu (CPG) simülasyonu kullandık. Bu CPG simülasyonu, tekrarlayan / dairesel egzersiz türleri (yürüme, yüzme, atlama, vb.) İçeren görevler için çok etkilidir.

Doğada, egzersiz için kullanılan sinir denetleyicilerinin, koordineli ritim kalıpları üretebilen sinir devreleri olan merkezi örüntü üreteçleri (CPG'ler) adı verilen özel bir yapısı vardır. İleri beslemeli MLP ağlarının genel olarak ritmik hareketi öğrenmesi zor olsa da, biyolojik CPG'leri simüle etmek ve Fourier katsayılarını eğitmek için Fourier serilerini kullanarak, bu görevlerin nihai performansını ve örnekleme verimliliğini artırabiliriz.

Bu nedenle, doğrusal olmayan terim:

Hemen not edilmesi gerekiyor: CPG simülatörüne girdi olarak durum sağlamıyoruz. ES'yi bir eğitim algoritması olarak kullanarak, sinüzoidal sinyali bir durum sinyali olmadan çok etkili bir şekilde ayarlayabiliriz. Durum, yukarıda gösterilen doğrusal kontrol öğesi aracılığıyla girilir ve ardından SCN kriterine göre CPG çıktısı ile birleştirilir.

Uygulamamızda, 16 sinüs dalgasının genliğini, frekansını ve fazını öğrendik (eylem çıkış vektöründeki her bir değere karşılık gelir). Eylem çıktısı, doğrusal olmayan bir terim oluşturmak için 16 sinüzoidal çıktının tümünü birleştirmektir.

Bu modelin kurulumunu tamamlamak için python kullanalım.

Cpg_weights'ın boyutu burada ayarlanır ve her sinüs eğrisinin genliği, frekansı ve fazı 3 katına ayarlanır ve buradaki output_size, bir sonraki eylemin vektör boyutudur (çünkü artık bu durumda girdi yapmıyoruz).

Sınırlar içindeki işlemleri kesmek için yardımcı işlevleri yeniden kullanacağım. Sinüs çıkışını hesaplamak için birkaç fonksiyon daha ekleyelim (kullanımlarını aşağıda açıklayacağım):

Şimdi, işlem çıktısını oluşturmak için aşağıdaki kodu kullanıyorum:

Kodu sindirmek için bir dakikanızı ayırın. Esasen burada olan şey, output_size vektöründeki her bir eylem değeri için, giriş sinüs dalgasının genliğini, frekansını ve fazını çıkararak sinüzoidal bir çıktı oluşturmamızdır. Bunu işlem vektöründeki tüm output_size öğeleri için yaparız ve her yineleme için tüm cpg_constant yinelemelerini birlikte gruplandırırız (bu nedenle örneğimizde, her işlem öğesi değeri için 16 sinüs çıkışı eklenir). Son olarak, çıktı vektörünü doğrusal kontrol terimiyle aynı şekilde kırpıyoruz ve sonra bu iki terimi SCN'ye göre ekliyoruz.

Oldukça basit olan bu yöntem, doğrusal olmayan terimler açısından MLP'den üstündür ve lokomotif görevlerde (walker2d, yüzücü, Karınca, vb.) Önemli avantajlara sahiptir, çünkü bu ritmik göreve özel önceden empoze edebilir. Yapılandırılmış kontrol ağı. Performans burada tekrar geliştirildi!

Yukarıdaki şekil, 2M'lik bir zaman adımında ES eğitim motor sinir ağının (mavi vaka çalışması ağıdır), yapı kontrol ağının (turuncu SCN'dir) ve temel çok katmanlı algılayıcının (yeşil MLP'dir) eğitim eğrisidir.

sonuç olarak

Umarım bu eğitim, sonuçları yeniden üretmenize ve bu alanda araştırma yapmaya devam etmenize yardımcı olur. Bu tartışmanın içeriği hakkında daha fazla bilgi edinmek istiyorsanız veya herhangi bir şüpheniz varsa, lütfen bu makalenin sonuna bir yorum bırakın.

Özellikle robot kontrolü alanında, farklı SCN uygulamalarını (örnek olay incelemesinde gösterildiği gibi) keşfetmek için daha fazla araştırmayı teşvik ediyoruz. İlginç bir şey bulursanız lütfen bize bildirin!

Derin takviyeli öğrenmenin strateji ağ yapısını incelemeye devam ediyoruz ve gelecekte daha ilginç keşifler yapmayı umuyoruz. sonra görüşürüz!

Tıklamak Orijinal metni okuyun, geriye bakın ICML belgelerinin diğer yorumları

Avantajlardan tasarruf etmek için geri sayım, kaçırılmaması gereken büyük bir dijital ekipman yükseltmesi
önceki
Ekspres Şimdi tekrar bir araba inşa etme zamanı, "Crossover King" Di Xintong'un güveni nerede?
Sonraki
Yarı fiyat açık kapma! Roborock süpürme robotu çift onbir en kapsamlı stratejiyi satın alıyor
Balenciaga'nın yüksek "alışveriş çantası" 1000 doları aştı mı? ! Belki sırtüstü sebze almak gerçekten büyük bir üstünlük duygusuna sahip olur?
"Wolf Warriors 2" Tao Piao'dan 2 milyar gişe biletleri! Beijing Culture ve Alibaba Pictures arasındaki balayı yeni başladı
Derinlik Bir zamanlar popüler olan ortak girişim markaları neden hayatta kalmak için mücadele ediyor?
Wall Pond Sonsuz çağrılardan çıkan Hokage serisi
Özet | Shanshu Teknolojisi Gao Jiyao: Karmaşık iş sorunları için özelleştirilmiş optimizasyon algoritması - "özel yapım"
Ağır | 1 milyar ABD doları pil satışı yapmak için Nissan neden dünyanın en büyük dördüncü lityum pil şirketini terk etti?
Supreme, Rolex'i ortak markalamak üzere mi? Eşsiz BAPE X PUMA eklemli ayakkabılar |
Stanford NLP ACL 2018 NLP Modellerinde Hata Ayıklamak İçin Kağıt-Anlamsal Eşitlik Kurallarının Yorumlanması
Kısa videolar için "mavi okyanus" ve "kırmızı okyanus" pazarları hakkında ne kadar bilginiz yok?
Lexus RC200t, RC300 olarak yeniden adlandırılacak, hala 2.0T ile donatılmış
İPhone X'iniz etkileniyor mu? Apple bir duyuru yayınladı: iPhone X'te dokunma sorunları var
To Top