CURL: Contrastive Unsupervised Representations for Reinforcement Learning, Yorumlarım-1.

Original article can be found here (source): Artificial Intelligence on Medium

CURL: Contrastive Unsupervised Representations for Reinforcement Learning, Yorumlarım-1.

Bu yazımda yeni okuyacağım bir makaleyi kısaca özetleyeceğim ancak çok formal bir dil kullanmayacağım evde canım sıkıldığı ve bilgisayar network eğitmekle meşgul olduğu için yazıyorum. Evet kısaca başlıyacağım, kendi yorumlarımı da katarak en başyan inceleyeceğiz. Makalenin linkinden takip edebilirsiniz. İlk okuyuşum makaleyi bu yüzden tam anlamayacağım büyük ihtimalle düzeltmeler eklerseniz sevinirim. Bu serinin ikinci yazısında tam bir özet paylaşacağım.

Contrastive Unsupervised Representations for Reinforcement Learning başlığı şuan için bana pek bir şey ifade etmese bile ajanın ortamı algılamasında yapılacak bir değişiklik olduğu kanısındayım. Hemen ikinci cümlede ise “CURL extracts high-level features from raw pixels using contrastive learning and performs off-policy control on top of the extracted features” demiş. Yani kısaca pikseller ile gelen ortam durumundan CL kullanarak yüksek seviyeli özellikler çıkarıp politikadan bağımsız kontrol çözümleri ile öğrenme sağlanıyor. Bu algoritmanın sonuçlarının başarılı olduğudan bahsetmiş ancak bunu makalenin devamında detaylandıracaktır.

Makalenin giriş kısmında piksel girdili kontrol görevlerinde başarılı olan bir kaç çalışma sıralanmış ancak bu algoritmaların veri-verimsiz(fazla veriye ihtiyaç duyuyor) olduğundan bahsetmiş. Ve genel olarak fiziksel durumların(açılar,hız,ivme vs) olduğu görevlerin piksel durumlulardan daha verimli çözülebildiğini söylemiş. Gayet makul bir söylem, çünkü piksellerden durumu yorumlamak her zaman daha zordur. Ancak eğer durum bilgisi doğru şekilde piksellere gömülü ise bunu yorumlayabiliriz.

Bir kaç çalışmayı örnek göstererek rl ajanlarının eğitiminde veri-veriminin ne kadar önemli olduğundan bahsetmiş. Özellikle rl deneylerini kendi bilgisayarlarında yapmaya çalışanlar bunu anlayacaktır. Hem ortamın hızlı cevap vermesi, hem de ajanın hızlı eğitilmesi önemli. Oluşturduğunuz ortam ve ajan yavaş tepkiler veriyor ise yandınız!

Yazının devamında rl algoritmalarında veri(örnek)-verimliliğini adresleyen ve çözmeye çalışan yöntemleri iki gruba ayırarak devam etmiş. Ajanın algısına dair yardımcı görevler ve gelecek tahmini yapan ortam modelleri olarak iki grup gösterilmiş. Bir kısım algoritmalar self-supervision üzerinden öğrenmeyi daha verimli kılmaya çalışırken diğer grup çıkarılan ortam modeline dayalı veriler veya planlar üreterek hızlandırma sağlamakta. Buçalışma kendini ilk kısımda tanımlamakta.

Kısaca bu çalışmanın ne anlama geldiğini şu şekilde özetlemişler: “If an agent learns a useful semantic representation from high dimensional observations, control algorithms built on top of those representations should be significantly more data-efficient.” . Yani biz bu yüksek boyutlu girdileri daha anlaşılabilir kılıp durumları gösterirsek bunun üzerine kurulacak kontrol algoritmaları daha verimli olacaktır. Computer vision alanında kullanılan contrastive pre-training yönteminden esinlenen çalışma bu alandan şu özellikler ile ayrılmış:

  1. Önceden etiketlenmemiş milyonlarca veri yerine elimizde ajanın ortamda gösterdiği etkileşim ile oluşan veriler var ve bu verilerin özellikleri ajanın eğitilmesi ile dinamik olarak değişiyor.
  2. Ve ajan unsupervised ve rl kısmını aynı anda online olarak yapmak zorunda.

Bu iki fark yazarı “Çevrimiçi etkileşimlerden etkili ve verimli bir şekilde kontrol etmeyi öğrenebilen ajanları geliştirmek için contrastive(zıt) öğrenmeyi nasıl kullanabiliriz?” sorusuna yönlendirmiş. Ve buna cevap olarak her bir gözlemin geçici olarak ardışık çerçeveler yığını olduğu, aynı gözlemin üretilmiş versiyonları arasındaki uyumu en üst düzeye çıkaran bir zıt öğrenme biçimi kullanmış. -Şuan ben de anlamadım ilerledikçe anlaşılacak gibi duruyor.- Bu yöntemi politikadan bağımsız rl ile kullanmış. KIsaca bunu da tanımlayalım.

Politikadan bağımsız rl : Ajanın eylemlerinden bağımsız olarak optimal politikanın değerini öğrenen algoritmalar. Q-learning örnek olarak verilebilir. Kısaca açıklamak gerekirse ajanın keşif için alacağı rastgele adımları sorgulamadan politika öğrenimi yapılır.

Sarsa olası rastgele adımları da hesaba katarak öğrenme sergiler daha güvenli yollar bulur ve politikaya bağımlıdır.

Çalışmanın , DMControl ve Atari’de çok sayıda piksel tabanlı sürekli ve ayrık kontrol görevinde modelden bağımsız RL ajanları için kendi kendini denetleyen bir öğrenme hedefi kullanarak önemli veri verimliliği kazanımları gösteren ilk model olduğu söylenmiş.

Şu ana kadar kısaca durum girdilerinde ajana yapılacak bir yardımdan haberdarız ama pek te anlamlı bir açıklama yok. Zamanla anlayacağız diye düşünüyorum. Biraz uzun bir yazı oldu ama olsun. Reletad work kısmına geçelim, biraz bilgi alalım:)

Self-Supervised Learning: Kendi Kendini Denetleyen Öğrenme, çok çeşitli görevler için yararlı olması için yüksek boyutlu etiketlenmemiş verilerin zengin temsillerini öğrenmeyi amaçlamaktadır. Doğal dil işleme ve computer vision alanları, BERT (Devlin ve diğerleri, 2018) ve CPC, MoCo, Sim-CLR gibi kendi kendini denetleyen yöntemlerde çarpıcı ilerlemeler kaydetmiştir. Bu konu üzerine biraz çalışacağım, detaylandırmak gerekiyor.

Contrastive Learning: Benzer ve farklı çiftler tarafından organize edilen bir veri kümesindeki benzerlik kısıtlamalarına uyan gösterimleri öğrenmek için bir framework. Pozitif ve negatiflerde bir sorgu ile ilgili bir anahtar kümesini temsil ettiği bir sözlük arama görevi gerçekleştirmek olarak anlaşılır. Aynı sorgunun (örnek, görüntü) veri artırımı ise bir sorgu ve anahtarın pozitif çiftler olduğu ve aksi takdirde negatif olduğu durumlarda ayrımcılıktır.

Self-Supervised Learning for RL: Geçmiş gözlemler ve eylemler üzerinde koşullandırılmış geleceği öngören ve derinlik görüntüsünü tahmin eden yardımcı görevler, modelden bağımsız RL algoritmalarının veri(örnek) verimliliğini artırmak için yardımcı görevleri kullanmanın birkaç örneğidir. Gelecek tahmini bir piksel alanında veya gizli alanda(latent space) yapılır.

World Models for sample-efficiency: Çevrenin dünya modellerini öğrenmek ve bunları modelleri sunumları ve planlamayı örneklemek için kullanmak. Öğrenilen bir dünya modelinden üretilen hayali örneklerin, ajanın örnek etkin öğrenme deneyimine ek olarak kullanıldığı Dyna’da ortaya konmuştur. Bu makaleye daha sonra detaylı bakmak istiyorum buraya da yazarım.

Öğrenilmiş bir dünya modeli ile planlama, örnek verimliliğini artırmanın başka bir yoludur.

Sample-efficient RL for image-based control: CURL kendi kendini denetleme ve kontrastlı öğrenme ile veri(örnek) verimli RL için yardımcı görevleri kullanmayı sağlar.

Bu kısım bizi biraz zorlamış olsa da şimdi Bacground bölümünde anlayışımızın artacağını düşünüyorum ancak unutmayalım planımız makaleyi bir kere okuyarak öğrenmek değil, kulak aşinalığı dahi yeterli.

Şimdi kısaca Soft Actor Critic (SOC) RL Algoritmasına bakalım :

SAC, stokastik bir politikayı politika dışı bir şekilde optimize eden ve stokastik politika optimizasyonu ile DDPG tarzı yaklaşımlar arasında bir köprü oluşturan bir algoritmadır. Şu blog işinize yarayacak.

Rainbow DQN :

Rainbow DQN, orijinal DQN’nin üstünde birlikte uygulanan çoklu iyileştirmeler olarak özetlenebilir. Özellikle, DQN, politika dışı Q-Learning algoritmasını, ham pikselleri eylem değeri işlevleriyle eşleştirmek için işlev tahmincisi olarak evrişimli sinir ağı ile birleştirir. O zamandan beri, Çift Q Öğrenme(DDQN), Düello Ağı Mimarileri( Dueling Network Architectures), Öncelikli Deneyim Tekrarlama(Prioritized Experience Replay) ve Gürültülü Ağlar gibi birçok iyileştirme önerildi. Ek olarak, dağılımsal(distributional) rl, C51 Algoritması ile olası değer fonksiyonları üzerinde bir dağılım öngörme tekniğini önerdi. Rainbow DQN, yukarıdaki tekniklerin tümünü Atari kriterlerinde son teknoloji örnek verim için tek bir politika dışı algoritmada birleştirir.

Bu bölümü burada bitirelim biraz da detaylı inceleyip ikinci bölümde gerçekten özet olarak çalışmanın önemini ve ne olduğunu yazacağım.