Q-Learning test sırasında neden epsilon-greedy kullanıyor?


18

DeepMind'in Atari video oyunları için Deep Q-Learning ( burada ) makalesinde, eğitim sırasında keşif için epsilon açgözlü bir yöntem kullanıyorlar. Bu, eğitimde bir eylem seçildiğinde, en yüksek q değerine sahip eylem veya rastgele bir eylem olarak seçildiği anlamına gelir. Bu ikisi arasında seçim yapmak rastgele ve epsilon'un değerine dayalıdır ve eğitim sırasında başlangıçta çok sayıda rastgele eylem (keşif) yapılacak şekilde epsilon tavlanır, ancak eğitim ilerledikçe maksimum q değerlerine sahip birçok eylem alınır (işleme).

Daha sonra, test sırasında, bu epsilon-açgözlü yöntemi de kullanırlar, ancak çok düşük bir değerde epsilon ile, keşif üzerinde sömürüye karşı güçlü bir önyargı vardır ve rastgele bir eylem üzerinde en yüksek q değerine sahip eylemi seçmeyi tercih ederler. Bununla birlikte, bazen rastgele eylemler seçilmektedir (zamanın% 5'i).

Sorularım: Eğitimin daha önce yapıldığı göz önüne alındığında, bu noktada neden herhangi bir keşif gerekli? Sistem en uygun politikayı öğrendiyse, neden eylem her zaman en yüksek q değerine sahip olan olarak seçilemiyor? Keşif sadece eğitimde yapılmamalı ve sonra en uygun politika öğrenildikten sonra, temsilci tekrar tekrar en uygun eylemi seçebilir mi?

Teşekkürler!


Bir şekilde ALE ortamının deterministik doğasına bağlı olabilir. Değerlendirmeler sırasında rastgele eylemler yapmazsanız, her zaman aynı eylem sırasını gerçekleştirirsiniz (durum sırası aynı olduğundan). Ayrıca rastgele başlangıçlar yaparlar - bu nedenle hiçbir şey yapmadan 30 kareye kadar bekleyin.
yobibyte

Yanıtlar:


10

Doğa raporunda şunları belirtiyorlar:

Eğitimli ajanlar, farklı başlangıç ​​rastgele koşulları ('noop'; bkz. Genişletilmiş Veri Tablosu 1) ve epsilon 0.05 ile e-açgözlü bir politika ile her seferinde her seferinde 5 dakikaya kadar 30 kez oynayarak değerlendirildi. Bu prosedür, değerlendirme sırasında aşırı uyum olasılığını en aza indirmek için benimsenmiştir.

Bence ne demek 'aşırı / eksik uydurmanın olumsuz etkilerini geçersiz kılmak'. 0 epsilon kullanmak tamamen sömürücü bir seçimdir (işaret ettiğiniz gibi) ve güçlü bir ifade verir.

Örneğin, ajanın mevcut Q tahminlerinin bir ızgara haricinde en uygun politikaya dönüştürüldüğü bir labirent oyununu düşünün ve burada aynı ızgarada kalmasıyla sonuçlanan bir sınıra doğru hareket etmeyi seçer. Temsilci böyle bir duruma ulaşırsa ve Maks Q eylemini seçerse, sonsuzluk için orada kalır. Bununla birlikte, politikasında belirsiz bir şekilde açıklayıcı / stokastik bir unsurun (az miktarda epsilon gibi) tutulması, bu tür devletlerden çıkmasına izin verir.

Bunu söyledikten sonra, pratikte baktığım (ve kendimi kodladığım) kod uygulamalarından, genellikle sorunuzda listelediğiniz kesin nedenlerle açgözlü politika ile ölçülür.



2

Testin amacı sistemin gerçek dünyadaki durumlara nasıl tepki verdiğini anlamaktır.


ε

Seçenek 2:
Kırılgan olma konusunda endişeleniyorlarsa, daha az "elverişsiz rasyonel" bir oyuncuya karşı oynuyorlarsa, o zaman aşırı tahmin etmemek için antrenman puanlarını "tavlıyor" olabilirler.

Seçenek 3:
Bu onların sihirli dumanı. Onların paylaşamayacakları ve paylaşmak istemeyecekleri parçaları olacak. Paylaşmak istemedikleri işleri için tescilli veya istisnai olarak alakalı bir şeyi gizlemek için bunu yayınlıyor olabilirler.

Seçenek 4:
Tekrarlanan testler ve sistemde ne kadar "yağ" kaldığını test etmek için çeşitli epsilon değerleri kullanabilirler. Zayıf randomizasyona sahip olsalardı ya da adil bir randomizasyonun bile kendini tekrarlamaya başladığı birçok örnek varsa, yöntem sahte rasgele önyargıya doğru olmayan bir davranışı "öğrenebilir". Bu, test aşamasında bunun kontrol edilmesine izin verebilir.

Eminim yarım düzine başka anlamlı neden vardır, ama bunlar aklıma gelen şeylerdi.

EDIT: kendine not, gerçekten "kırılgan" düşünce seviyorum. Bence bu birinci nesil ara AI'nın varoluşsal bir zayıflığı olabilir.


1

ε

εε=0.05

Özellikle önişlemli girdi, daha önce karşılaşılan durumların bir geçmişini içerdiğinden endişe, altta yatan oyuna genelleme yapmak yerine, ajanın sadece belirli bir oyun için en uygun yörüngeleri ezberlemesi ve test aşamasında tekrar oynatması; "değerlendirme sırasında aşırı uyum olasılığı" ile kastedilen budur . Deterministik ortamlar için bu açıktır ancak stokastik durum geçişleri için ezberleme (yani aşırı sığdırma) meydana gelebilir. Test aşaması sırasında, oyunda rastgele eylemlerin bir kısmı kadar rastgele uzunluğun başlamaması şeklinde, rasgeleleştirmenin kullanılması, algoritmayı öngörülemeyen durumlarla başa çıkmaya zorlar ve bu nedenle bir dereceye kadar genelleme gerektirir.

εε=0test sırasında performansı potansiyel olarak artıracaktır, ancak buradaki nokta genelleme yeteneğini göstermektir. Dahası, Atari oyunlarının çoğunda devlet de bir hareketsizliğe dönüşüyor ve böylece eğer bu gerçekleşirse ajan doğal olarak "takılıp kalıyor". Çevrenin çalışmazken gelişmediği başka bir yerde bahsedilen labirent örneği düşünüldüğünde, temsilci ödülün düzgün bir şekilde şekillendirilmesi durumunda bir duvara koşmanın iyi bir fikir olmadığını çabucak öğrenecektir (örneğin her adım için -1); özellikle iyimser başlangıç ​​değerleri kullanıldığında, gerekli keşif doğal olarak gerçekleşir. Hala bazı durumlarda algoritmanızın takılıp kaldığını bulmanız durumunda, bu, eylemlerle ilgili bazı yardımcı rasgeleleştirme yerine, eğitim süresini artırmanız (yani daha fazla bölüm çalıştırmanız) gerektiği anlamına gelir.

Bununla birlikte, gelişen sistem dinamiklerine sahip bir ortamda (zamanın altında yatan durum geçişleri veya ödüller zaman içinde değişir) bir ortamda çalışıyorsanız, değişikliklere ayak uydurmak için bir dereceye kadar keşif yapmalı ve politikanızı buna göre güncellemelisiniz.

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.