Dota2 oynayan botlar, dünyanın en iyi GO oyuncularını yenen yapay zekalar, Doom'da başarılı olan bilgisayarlar. Neler oluyor? Yapay zeka topluluğunun oyun oynamakla bu kadar meşgul olmasının bir nedeni var mı?

Şu şekilde açıklayayım. Nasıl yürüyeceğini öğrenen bir robot yapmak istiyorsanız ne yapardınız? Bir tane inşa edip, programlayıp, New York sokaklarına mı bırakacaksınız? Tabiki hayır. Bir simülasyon, oyun inşa edersiniz ve bu sanal alanı etrafta nasıl hareket edeceğini öğretmek için kullanırsınız. Sıfır maliyet, sıfır risk. Bu yüzden oyunlar araştırma alanlarında çok faydalı.Ama yürümeyi nasıl öğreteceksiniz? Cevap, bu makalenin konusudur ve muhtemelen şu anda Makine öğrenmesinin en heyecan verici alanıdır:

Muhtemelen iki çeşit makina öğrenimi biliyorsunuz, gözetimli ve gözetimsiz makina öğrenimi. Pekiştirmeli Öğrenme olarak adlandırılan bir üçüncüsü daha var. Aynı anda pek çok şeyin olması sebebiyle Pekiştirmeli Öğrenme, tartışmasız Makina Öğrenmesinin en zor olanı. Yapabileceğim kadar basitleştirmeye çalışacağım çünkü gerçekten oldukça şaşırtıcı bir alan ve siz de bunu çok iyi biliyorsunuz. Ama sizi uyarayım; karmaşık düşünceler, bunun için %100 odaklanma ve biraz da matematik gerektiriyor. Öyleyse derin bir nefes alın ve hadi dalış yapalım.

Markov Karar Süreçleri

Pekiştirmeli Öğrenme, yapay zekanın bir çevrede bir dizi eylem gerçekleştirdiği deneme ve yanılma sürecidir. Yapay zeka, her benzersiz anda bir Duruma sahiptir ve bu verili Durumdan yeni bir Duruma hareket eder. Bu özel eylemin bir Ödülü olabilir veya olmayabilir. Bu nedenle, her öğrenme döneminin (veya bölümünün) bir dizi Durum, Eylem ve Ödül olarak temsil edilebileceğini söyleyebiliriz. Her Durum önceki Durumlara bağlıdır ve Eylemler ile Çevre doğal olarak stokastiktir (gelecek durumu bilmiyoruz), Bu süreç Markov özelliğini ortaya koyar. Markov özelliğinde, sürecin gelecekteki durumlarının koşullu olasılık dağılımı, yalnızca mevcut duruma bağlıdır (önceki olaylar dizisine değil). Tüm bu süreç Markov Karar Süreci olarak adlandırılır. Markov karar Süreci, hemen hemen bütün Pekiştirmeli Öğrenme problemlerinde kolay bir şekilde farklı çözümlerin incelenmesini ve denenmesini sağlayan temel matematiksel bir araçtır.

reinforcementlearning

Süper Mario kullanarak gerçek bir örnek görelim. Bu durumda:

  • Yapay Zeka, elbette, sevgili Mario.
  • Durum şu anki durumdur. (Ekrandaki görüntü diyelim.)
  • Çevre, her seviyenin sanal dünyasıdır;
  • Eylemler, sağa ve sola hareket ile sıçramadır;
  • Ve Ödül Marionun hayatta olup olmadığıdır.

Tamam, sorunu doğru bir şekilde tanımladık. Sırada ne var? Bu probleme bir çözüme geliştirmemiz gerekiyor. Ama önce çözümün ne kadar iyi olduğunu değerlendirmenin bir yolunu bulmalıyız.
Anlatmaya çalıştığım, her bölümdeki Ödülün yeterli olmadığı. Marionun Yapay Zeka tarafından kontrol edildiği bir oyun hayal edin. Son bayraktan önce tüm seviyelerden pozitif Ödül alıyor ve bir Hammer Bro tarafından öldürülüyor. Her bir Ödülün oyunu kazanmak için yeterli olmadığını görüyorsunuz. Bütün seviyeye karşılık gelecek bir Ödüle ihtiyacımız var. Beklenen indirmeli kümülatif karşılığın oyuna dahil olduğu yer de burası.

1

Bu, tüm ödüllerin toplamından [0,1] olan bir Gama faktörünün çıkarılmasından daha fazlası değildir. Çıkarma esastır çünkü Ödüller başlangıçta sonda olduğundan daha önemli olma eğilimindedir. Bu da oldukça anlamlıdır.

Sıradaki adım problemi çözmek. Bunu yapmak için, öğrenme görevinin amacını tanımlamamız gerekiyor: Yapay zeka, zaman içinde, bir Durum verildiğinde kümülatif ödülü maksimize eden hangi eylemi gerçekleştireceğini öğrenmelidir, ya da Poliçe π: S->A . Poliçe Durumlar ve Eylemler arasındaki haritadır.

Yukarıdakileri özetlemek gerekirse şu denklemi kullanıyoruz:

2

Burada V (Değer), bir Durumdan (s), bir poliçe (π) tarafından elde edilen, beklenen uzun vadeli Ödüldür.

Hala benimle misin? Eğer öyleyse, 5 saniye bekleyelim, çünkü bu biraz bunaltıcıydı:

1...2...3...4...5

Artık zihinsel berraklığımızı yeniden kazanmış olmalıyız, tekrar hatırlayalım. Problemi bir Markov Karar Süreci olarak tanımladık ve en iyi Poliçe veya Değeri öğrenmeyi hedefliyoruz. Nasıl ilerleyeceğiz?

Bir algoritmaya ihtiyacımız var (Teşekkürler Sherlock... :))

Eh, yıllar içinde geliştirilen bolca Pekiştirmeli Öğrenme algoritması bulunuyor. Her bir algoritma da farklı bir şeye odaklanıyor: Poliçeyi veya Değeri ya da her ikisini mi maksimize edecek? Çevreyi simüle etmek için bir model (ör. Sinir ağı) kullanacak mı, kullanmayacak mı? Ödülü her adımda mı, yoksa sonunda mı alacak? Tahmin ettiğiniz gibi, tüm bu algoritmaları sınıflara ayırmak çok kolay değil, ama benim yapmak istediğim bu.

Gördüğünüz gibi Pekiştirmeli Öğrenme algoritmalarını iki büyük kategoride sınıflandırabiliriz: Model tabanlı ve Modelden bağımsız:

Model Tabanlı

Bu algoritmalar, çevreyi gözlemleyerek nasıl çalıştığını (dinamiklerini) öğrenmeyi ve bu modeli kullanarak bir çözüm planlamayı amaçlar. Bir modele sahip olduklarında en iyi poliçeyi bulmak için bazı planlama yöntemleri kullanırlar. Veri verimlilikleriyle bilinirler ancak Durum uzayı çok büyük olduğunda başarısız olurlar. Go oynamak için model tabanlı bir algoritma oluşturmaya çalışın, olmayacaktır.

Dinamik programlama yöntemleri, geçiş olasılıkları ve Ödüller gibi çevreyle ilgili tam bilgi gerektirdiğinden, model tabanlı yöntemlerin bir örneğidir.

Modelden bağımsız

Modelden bağımsız algoritmalar, Çevreyi öğrenmek ve tüm Durum ve Eylem kombinasyonlarını saklamak zorunda değildir. Eğitimin nihai amacına göre iki katagoriye ayrılabilir.

Poliçe tabanlı yöntemler, ister stokastik ister deterministik olsun, en iyi poliçeyi bulmaya çalışır. Poliçe gradyanları ve REINFORCE bu katogoriye girer. Bu algoritmaların avantajları, çok boyutlu veya devamlı Eylem uzaylarında daha iyi yakınsama ve etkililik sunmalarıdır.

Poliçe tabanlı yöntemler, poliçe fonksiyonunun maksimumunu bulduğumuz bir optimizasyon problemidir. İşte bu yüzden, evrim stratejileri ve tepe tırmanma gibi algoritmaları da kullanırız.

Diğer taraftan, Değer tabanlı yöntemler, optimum Değeri bulmaya çalışır. Bu katagorinin büyük bir kısmı Q-Değerini optimize etmeyi öğrenen Q-Öğrenme adı verilen bir algoritma ailesidir. Diğer algoritmalar arasında, SARSA ve değer yinelemesi sayılabilir.

Poliçe ve Değer tabanlı yöntemin kesişiminde, hem poliçe hem de Değer fonksiyonunu optimize etmeyi amaçlayan Actor-Critic yöntemlerini buluruz.

Ve şimdi bu işin en havalı tarafı. Geçtiğimiz bir kaç yıl içinde, kasabaya yeni bir çocuk geldi. Ve Pekiştirmeli Öğrenmeyi çözmek için mevcut yöntemleri etkilemesi ve değiştirmesi de kaçınilmazdı. Eminim tahmin ettiniz; Derin Öğrenme. Ve böylece, tüm bu yeni araştırma fikirlerini temsil etmek için yeni bir terimimiz var.

3

Derin sinir ağları, çevrenin dinamiklerini modellemek için (model tabanlı), poliçe aramalarını geliştirmek (poliçe tabanlı) ve Değer fonksiyonunu yakınsamak (Değer tabanlı) için kullanılıyor. Son yapılan araştırma ( ki bu benim favorimdir), Derin Q Ağı olarak adlandırılan ve getirdiği birçok yeniliğin yanında sağladığı gelişmelerle alanındaki en şaşırtıcı buluşlardan bazıları için bir model ortaya koydu. Ve sizi daha da heyecanlandırmak için, yalnızca basit sinir ağlarını değil, aynı zamanda Evrişimli, Yinelemeli ve diğer pek çok şeyi de kullanıyoruz.

Pekiştirmeli öğrenmenin hem endüstride hem de araştırma-geliştirmede birçok uygulaması bulunuyor. Bunlardan birkaçı: Robotik kontrol, Kimyasal reaksiyonların optimizasyonu, Tavsiye sistemleri, Reklamcılık, ürün tasarımı, Tedarik zinciri optimizasyonu, borsa alım satımları... Sonsuza kadar devam edebilirim.

Benim fikrim, Pekiştirmeli Öğrenme muhtemelen şu anda yapay zekanın en heyecan verici alanı ve bunun için tüm haklara sahip.

Sergios Karagiannakos'un makalesinden Betül Çağlar tarafından çevrildi.