AlphaZero’yu anlamak


29

Çok yakın bir zamanda, Alphabet'in DeepMind araştırma ekibinin makine öğrenme motorunu hem Shogi hem de satranç oynamak için genişlettiğini duydukları ortaya çıktı. Görünüşe göre, sadece birkaç saat süren öğrenmenin ardından, yalnızca oyunun kurallarına göre kendi kendine oynayarak, satrançtaki performansı zaten en son çıkan motorların performansını aştı.. Şahsen henüz tam olarak nasıl bir ayar yapıldığını tam olarak bilmiyorum, hangi koşulda olduğu gibi, Stockish'in hangi şartlarda yapıldığı, çünkü hesaplama sürelerinin sınırlı olması durumunda motorlar çok düşük performansta çalışabiliyor. Her halükarda, bu çok etkileyici bir başarıdır, çünkü bir kişinin ayarlayabileceği ortaya çıksa bile Sezgisel değerlendirme işlevlerine dayalı standart satranç motoru.

Şimdi bu haberin ışığında, birisinin bir makinenin öğrendiği satranç motorunun çalışmalarındaki ana farkları, hepimizin kullanmaya alıştığı standart motorlara kıyasla daha fazla detaylandırması mükemmel olurdu. Daha somut:

  1. AlphaZero'nun makine öğrenme yöntemleri ile eğitilmiş, kullandığı değerlendirme işlevi sonuçta bir başka sezgisel değerlendirme işlevi değil mi? Eğer evet ise, iki motorun değerlendirme işlevleri arasındaki temel farkın, Stockish'in insanlar tarafından elle ayarlanmış optimize edilmiş bir değerlendirme fonksiyonuna sahip olduğunu söylemek doğru olur mu, bunun için optimize etmek için fonksiyon tanımının sabit olduğu anlamına gelir. AlphaZero, hedef değerlendirme fonksiyonu ek bir eğitim ile (örneğin kendi kendine oynama yoluyla) sürekli olarak yeniden tanımlanıyor mu? İkincisini bir yaklaşımdan çok daha dinamik hale getirmek.
  2. Nihayetinde, belirsiz bir şekilde konuşursak, Stockish gibi bir motor, değerlendirme işlevini olası hareketler ağacına uygulayarak hangi dalların tutulacağına ve hangilerinin düşeceğine karar vererek daha sonra daha derin bir betondan geçirilir.Her bir dalın analizi, tekrar değerlendirme fonksiyonu aracılığıyla hangi dalın en yüksek değeri verdiğini ve bunun esas değişkenlik haline geldiğini (elbette bu büyük ağacın verimli bir şekilde budamak için bu işlemin etrafında pek çok gelişmiş teknik vardır) olduğunu ortaya koymaktadır. Yani, her pozisyon için, bu son derece somut rutinin bir karar vermesi için Stockish için tekrarlanması gerekiyor. Bunun aksine, AlphaZero'nun çok farklı bir şey yaptığını, yani belirli bir konumda olası hareketler ağacının somut bir analizine dayanmadığını, bunun yerine değerlendirme işlevinin esasen o konuma bir değer atamadığını düşünmekteyim (sezgisel olarak koymamaya benzer) Şu anki pozisyonu, hiç bir zaman beton yapmak zorunda kalmadan, eğitim aldığı tüm diğer pozisyonlara benzer şekilde)Stockish, hatta bir insan oyuncunun yaptığı gibi bir analiz. Bu, AlphaZero'nun veya benzer şekilde eğitilmiş makine öğrenim motorlarının çalışmalarının sağlam bir resmi mi?

  3. Satranç pozisyonlarının boşluğunun, içindeki tüm pozisyonları örneklemeye yönelik herhangi bir girişimin prensipte bile tamamen boşuna (EXPTIME karmaşıklığı) olacağını, kendi kendine oyun yoluyla hiçbir eğitimin yetmeyeceğini gösterecek kadar büyük olacağını biliyoruz. tüm pozisyonları araştırdı, o zaman potansiyelin kendi kendine oynama yoluyla uzayın pozisyonlarının küçük bir kısmını keşfetmesine rağmen sonuç ne kadar iyi olabilir? Buradaki oyunda kilit fikir nedir?

  4. Tahminime göre, AlphaZero herhangi bir pozisyonu karşılaştırmak için çok uygun bir yola sahip, yeni olsa bile, eğitim setinde daha önce ziyaret edilen birine yeni olsa da, karşılaştırma ne kadar yakınsa, değerlendirme o karşılaştırmadan ne kadar geçerli olabilir. Örneğin, 5. oyundaki Bg5 hamlesini oynadığında, antrenmanı sırasında benzer bir yapı araştırması gerekirdi, yani bu pozisyonun esasen antrenmanında çalışılan (muhtemelen tamamen) farklı olana eşdeğer olduğunu kabul edebilmelidir. Makine öğrenmesiyle yüz tanımanın nasıl sağlandığına benzetme ve bunun sonucunda Bg5'in diğer benzer pozisyonlarda olduğu gibi en iyi hareket olması gerektiği sonucuna varmıştır. Bu kesinlikle doğru bir tahmin mi? Bu karşılaştırmanın nasıl yapıldığını bilmiyorum Tamamen eğitilmiş tüm pozisyonları saklamak ve her seferinde bunların içinden ayrıştırmak mümkün değildir.

Bu, yalnızca AlphaZero'nun çalışmalarına ve bir pozisyon verilen bir karara nasıl geldiğine dair içgörü kazanma çabasıdır.

Yanıtlar:


18
  • AlphaZero aramada bir hareketi nasıl seçer?

Bu kağıttan çok açık.

Her simülasyon bir hamle a ziyareti düşük ziyaret sayısı, yüksek hareket olasılığı ve yüksek vale seçimi ile seçerek ilerler ...

Bu ne anlama geliyor? AlphaZero, her bir hareket için (kağıttaki sayfa 2'nin sonu) derin bir sinir ağından gelen olasılıkları eğitti. Arama sırasında, bu olasılıkla orantılı bir hareket seçer ve aynı zamanda düşük sayıdaki düğümleri (örnekleme alanının keşfedilmesini sağlamak için) alır. Bu yeni bir kavram değil , Monte Carlo Ağacı Arama Google'ın varlığından önce literatürdeydi.

------ (Çok) Kaba örnek ------

Bir konumumuz var ve iki yasal hamlemiz var.

  • 1. hamle iyi ve makul
  • 2 taşı, kendi kralını tazminat ödememesi için tehlikeye attı

Yazılıma göre, eğitimli bir derin model olasılıkları (0.90, 0.10) olarak tahmin edebilir. Diyelim ki AlphaZero, Monte Carlo'da 4 yineleme kullanıyor. Yinelemeler şöyle olabilir:

Yineleme 1 : Seçme hareketi 1, en yüksek olasılığa sahip olduğundan. Hareket 1'den bir simülasyon yapın. Yineleme 2 : Hareket 1'i seçin, çünkü en yüksek olasılık var. Hareket 1'den bir simülasyon yapın. İterasyon 3 : Hareket 1'i seçin, çünkü en yüksek olasılık var. Hareket 1'den bir simülasyon yapın.

Şimdi, 4 yinelemeliyiz. 1. hamle tahmin edilen olasılık daha yüksek olmasına rağmen 2. hamle aranmadı (kağıtta "düşük ziyaret sayısı"), şimdi AlphaZero 2. hamleyi seçer ve simülasyon yapardı.

Her iki hamle de dikkate alınacaktı, ancak AlphaZero, 1 (iyi şey) hamlesine daha fazla bilgi işlem kaynağı koyacaktı.

AlphaZero daha sonra beklenen en iyi sonucu almayı seçti.

------------------ Sorularınız: ------------------

AlphaZero'nun makine öğrenme yöntemleri ile eğitilmiş, kullandığı değerlendirme işlevi sonuçta bir başka sezgisel değerlendirme işlevi değil mi?

Eğitimli değerlendirme fonksiyonu derin bir sinir ağıdır, Stockish'te gördüğünüz gibi bir sezgisel kural kümesi değildir . Eğitimli ağ hakkında hiç kimse tam olarak anlamıyor (Google ekibi bile değil), sadece işe yarıyor. NN genel olarak böyle çalışır.

AlphaZero için hedef değerlendirme işlevi sürekli olarak hedef değerlendirme işlevi ile yeniden tanımlanırken, ek eğitim yoluyla sürekli olarak yeniden tanımlanır.

AlphaZero'daki değerlendirme işlevi, bir dizi eğitimli nörondur (yanlılık + ağırlık). Google ekibi parametreleri eğitmek için çok güçlü makineler kullandı. Genel olarak, derin bir öğrenme modeli yetiştirmek için ne kadar kaynak harcayabiliyorsanız o kadar iyi parametre alırsınız.

(2).

Stockish alpha-beta, AlphaZero Monte-Carlo kullanıyor. İki çok farklı algoritmalar. Alfa-beta algoritması bir alt / üst sınır alır, Monte-Carlo ise kökten yaprağa simülasyonlar yaratır.

tüm pozisyonları araştırdıysa, o zaman öz-oyun yoluyla uzayın konumlarının küçük bir kısmını potansiyel olarak araştırmamıza rağmen sonuç ne kadar iyi olabilir? Buradaki oyunda kilit fikir nedir?

Google, satranç çözdüklerini iddia etmedi, güçlü makineleri bile tüm satranç pozisyonlarını numaralayamıyordu. Ama buna mecbur değillerdi ... makine öğrenmesi için nokta bu, model eğitim setinden "öğreniyor". Bu durumda, eğitim seti kendi kendine oynamaktan gelir. Kilit fikir, kendisine karşı mümkün olduğunca çabuk ve kaliteli oyun oynamaktır.

Örneğin, 5. oyundaki Bg5 hamlesini oynadığında, antrenmanı sırasında benzer bir yapı araştırması gerekirdi.

AlphaZero'nun antrenman oyunlarında aynı pozisyonda olduğunu sanmıyorum. Sanırım Monte-Carlo’yu hızlıca okumak iyi bir fikir:

https://chessprogramming.wikispaces.com/Monte-Carlo+Tree+Search

AlphaZero, hareketi yeterli derinliğe ulaşarak oynatabildi. Algoritma, her hamle için kazanma ihtimalini tahmin eder, görünüşe göre, Bg5 hamlesi beklenen en yüksek olasılığı verdi.

Şöyle düşünebilirsiniz, AlphaGo o kadar iyi araştı ki Bg5'ten sonra kazanma olasılığının en yüksek olduğunu gördü, ancak Stockish bu hareketi ciddi olarak düşünmedi (ve böylece kaybedildi).


2
"Monte Carlo Ağacı Arama, Google'ın varlığından önce literatürdeydi" Sadece
MCTS'yi

2
@CodesInChaos MCTS yeni bir teknik değildir. Google kesinlikle Monte Carlo’yu icat etmedi.
SmallChess

4
Brügmann 1993 açıkça sadece MC. MC Dev Dev. (2003) MC ve ağaçları birleştiriyor, ancak ilkel bir şekilde. Chang (2005) oldukça yakın, ancak farklı bir bağlamda ve tahminlerin genişletilmesi ve yaygınlaştırılması için hala uygun düğüm seçeneğinin bulunmadığını düşünüyorum. MCTS'de Verimli Seçicilik ve Yedekleme Operatörleri Remi Coulom (2006) , ilk olarak söyleyebileceğim kadarıyla uygun bir MCTS'dir.
CodesInChaos

1
@SmallChess Cevabınızın bölümleri çelişkili görünüyor: "Artık AlphaZero 2 hamlesini seçer ve simülasyonu yapar. Her iki hamle de dikkate alınırdı, ama AlphaZero 1 hamlesine daha fazla bilgi işlem kaynağı koyardı (iyi şey)." ifadesiyle çelişir Her bir simülasyon, her örnekte, düşük ziyaret sayımı olan bir hareketi seçerek ilerler . Örnekte, bu, örneğin 1 yerine 2 olacaktır. Dürüst olmak gerekirse, makale için yararlı bilgi içermeyen herhangi bir Anlayış, deneyi yeniden üretmenin bir yolunu göstermediği veya ağları eğitme şekliyle ilgili herhangi bir fikir vermediği için.
17'de

1
Yaptıkları şey aslında "X algoritmasını kullandık ve işe yarıyor" - ki bu yöntemlerin ne anlama geldiğini çok az anlamayı sağlar, bu yüzden gerçekten ne yaptığını anlamaya çalışmak için kağıdın kendisine çok fazla odaklanmam.
17'de

0

Sanırım sorum sinir ağının karşılaşamadığı bir konumda ne yapması gerektiğini "nasıl öğrendiği" olacaktı. Gerçek AZ'nin, eğitilmiş sinir ağından gelen önyargı + ağırlıkları kullanarak bir MCTS yürütdüğünü söylemek, sinir ağının bu değerleri nasıl hesapladığına bir adım geri iter. Eğer insan bilgisine sahip olmayan rastgele bir oyun oynuyorduysa, o zaman hiç görmediği bir pozisyonun nasıl ağırlıklandırılacağına nasıl karar verir?


1
Sanırım size cevap verebilirim ama burada değil. Lütfen yeni bir soru başlatın.
SmallChess

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.