EDIT (kağıdı okuduktan sonra):
Ben kağıdı dikkatlice okudum. Google’ın makalede iddia ettiği şeyle başlayalım:
- Monte-Carlo-Tree-Search + Derin sinir ağları ile Stockish'i mağlup ettiler
- Maç kesinlikle tek taraflı, AlphaZero için pek çok galibiyet aldı, ancak hiçbiri Stockish için değildi.
- Sadece dört saat içinde yapabildiler
- AlphaZero bir insan gibi oynadı
Ne yazık ki, yok iyi bir dergi kağıt olduğunu düşünüyorum. Bağlantıları ile açıklayacağım (yani, hayal etmediğimi biliyorsun):
https://www.chess.com/news/view/alphazero-reactions-from-top-gms-stockfish-author
Maç sonuçları kendileri tarafından oldukça garip bir zaman kontrolü seçimi ve Stockish parametre ayarları nedeniyle özellikle anlamlı değildir: Oyunlar 1 dakikalık sabit bir sürede oynandı, bu da Stockish'in zaman yönetimi sezgisini kullanmadığı anlamına gelir ( Stockish'in oyundaki kritik noktaları tanımlaması ve ne zaman bir hamle için fazladan zaman harcayacağına karar vermesi için çok çaba sarf edilmiştir, hamle başına sabit bir zamanda, güç önemli derecede acı çekecektir).
Stockish, hamle başına sadece bir dakika ile en iyi satranç oynayamazdı. Program bunun için tasarlanmamıştır.
- Stockish normal bir ticari makinede çalışırken, AlphaZero AlphaZero için ayarlanmış 4 milyon + TPU makinesindeydi. Bu, yüksek kaliteli masaüstünüzü ucuz bir Android telefonla eşleştirmeye benzer. Tord şunu yazdı:
Bunlardan biri sıradan bilgisayarlarda çalışan geleneksel bir satranç programı, diğeri ise temelde farklı teknikler kullanıyor ve satın alınamayan özel tasarımlı bir donanım üzerinde çalışıyor (ve olsaydı sıradan kullanıcıların bütçesinden çıkacaktı).
- Google istemeden Stockfish için 32 çekirdekli bir makineye 64 adet konu verdi. GM Larry Kaufman'dan (dünya standartlarında bilgisayar satranç uzmanı) alıntı yapıyorum:
http://talkchess.com/forum/viewtopic.php?p=741987&highlight=#741987
Testin adil olmaktan çok uzak olduğunu kabul ediyorum; SF'ye zarar veren bir diğer konu ise, 32 çekirdekli bir makinede 64 iş parçacığı üzerinde çalışmasıydı, ancak kabaca 5 ila 3 yavaşlamayı dengelemek için neredeyse hiçbir SMP avantajı olmadığı için, bu makinede sadece 32 iş parçacığı çalıştırmak çok daha iyi çalışacaktı. Ayrıca maliyet oranı dediğimden daha fazlaydı; 64 çekirdekli bir makine olduğunu düşünüyordum, ama 32 çekirdekli bir makine tahmin ettiğimin yarısına mal oldu. Bu yüzden belki de 30'dan 1'e kadar hepsi tahminen fena değil. Öte yandan, daha ne kadar geliştirilebileceğini hafife aldığınızı düşünüyorum.
- Stockish sadece 1GB hash tablo verdi. Bu bir şaka ... iPhone'umda Stockish iOS uygulamam için daha geniş bir hash masası var (Feragatname: Yazarım )! Tord şunu yazdı:
... konu sayısı için çok küçük karma tabloları ...
1GB hash tablo kesinlikle böyle bir maç için kabul edilemez. Stockish sık sık karmaşaya maruz kalırdı. Eski karma girdileri değiştirmek için CPU döngüleri gerekir.
- Stockish, bu kadar çok iş parçacığı ile çalışmak üzere tasarlanmamıştır. Benim iOS satranç uygulamasında, sadece birkaç iplik kullanılır. Tord şunu yazdı:
... önemli miktarda test almış olduğundan çok daha fazla arama parçacığıyla oynuyordu ...
- Stockish, bir açılış kitabı ya da 6 parçalı Syzygy oyunsonu masası olmadan çalışıyordu. Örneklem büyüklüğü yetersizdi. Stockfish versiyonu son değildi. Tartışma burada .
SONUÇ
Google kanıtlanmış henüz şüphe olmadan kendi yöntemleri stockfish üstündür. Sayıları yüzeyseldir ve AlphaZero'ya şiddetle önyargılıdır. Yöntemleri bağımsız bir üçüncü tarafça tekrarlanamaz. Deep Learning'in geleneksel satranç programlaması için üstün bir yöntem olduğunu söylemek için hala çok erken.
EDIT (Aralık 2017):
Satrançta derin güçlendirme öğrenmek için Google Deepmind'den ( https://arxiv.org/pdf/1712.01815.pdf ) yeni bir makale var . Soyut, dünyanın bir numaralı Stockish satranç motoru "ikna edici" yenildi. Bunun 1997 Deep Blue maçından bu yana bilgisayar satrançındaki en önemli başarı olduğunu düşünüyorum. Makaleyi ayrıntılı olarak okuduktan sonra cevabımı güncelleyeceğim.
Orijinal (Aralık 2017'den önce)
Sorunuzu netleştirelim:
- Hayır, satranç motorları yok kaba kuvvet kullanır.
- AlphaGo yapar kullanımı ağaç arama, kullandığı Monte Carlo Ağacı Arama . İkna olmak istiyorsanız Google " Monte Carlo Ağacı Arama alphaGo ".
YSA satranç motorları için kullanılabilir:
Bu program günümüzün en iyi satranç motorlarından (ve satranç oyuncularından) daha iyi performans gösterir mi?
Zürafa, FIDE 2400 derece hakkında olan Internation Master seviyesinde oynar. Ancak Stockish, Houdini ve Komodo'nun hepsi FIDE 3000'de oynuyor. Bu büyük bir boşluk. Niye ya? Neden Monte-Carlo Ağacı Aramıyorsunuz?
- Satrançta materyal bulgusu basittir. Çoğu zaman, bir satranç pozisyonu sadece tahtadaki malzemeleri sayarak kazanıyor / kaybediyor. Lütfen sayım malzemelerinin Go için işe yaramadığını hatırlayın. Malzeme sayımı, sinir ağlarını çalıştırmaktan daha hızlı büyüklükteki siparişlerdir - bu, 64-bit bir tamsayı ile gösterilen bitboard'lar tarafından yapılabilir. 64 bit sistemde, sadece birkaç makine talimatıyla yapılabilir. Geleneksel algoritma ile arama yapmak makine öğrenmekten çok daha hızlı . Saniyedeki daha yüksek düğümler daha derin aramalara çevrilir.
- Benzer şekilde, sıfır hareket budama, geç hareket azaltma ve katil hareketler gibi çok kullanışlı ve ucuz teknikler vardır. Bunlar ucuzdur ve AlphaGo'da kullanılan yaklaşıma daha verimlidirler.
- Satrançta statik değerlendirme hızlı ve faydalıdır
- Makine öğrenmesi parametreleri optimize etmek için faydalıdır, fakat aynı zamanda satranç için SPSA ve CLOP'a sahibiz.
- Satrançta ağaç azaltma için birçok yararlı ölçüm vardır. Go için çok daha az.
Monte Carlo Tree Search'ün satranç için iyi ölçeklenmediği konusunda araştırma yapıldı. Go satranç için farklı bir oyundur. Satranç algoritmaları Go için çalışmıyor çünkü satranç acımasız taktiklere dayanıyor. Satrançta taktikler tartışmalı olarak daha önemli.
Şimdi, MCTS'nin AlphaGo için iyi çalıştığını ancak satrançta daha az çalıştığını tespit ettik. Derin öğrenme şu durumlarda daha yararlı olacaktır:
- Ayarlanmış NN değerlendirmesi geleneksel algoritmalardan daha iyidir. Ancak ... derin öğrenme sihir değildir, siz programcının hala programlamayı yapması gerektiği gibi. Daha önce de belirtildiği gibi, satrançta ayar parametreleri için kendi kendine oynamak için SPSA gibi bir şeyimiz var.
- Yatırım, para! Satrançta makine öğrenmesi için fazla para yok. Stockish ücretsiz ve açık kaynaktır, ancak tüm insan oyuncuları yenebilecek kadar güçlüdür. Birisi ücretsiz olarak yalnızca Indirirse Google neden milyonlar harcadı? CPU kümeleri için neden para ödeyecek? Yeteneklerini kim ödeyecek? Kimse yapmak istemiyor, çünkü satranç "çözülmüş" bir oyun olarak kabul edilir.
Derin öğrenme aşağıdakileri başarabilirse, geleneksel algoritmayı yenecektir:
- Satranç pozisyonu göz önüne alındığında, bir insan büyük ustası gibi "hissedin". Örneğin, bir insan büyük usta, deneyim açısından kötü olan çizgilere girmez. Ne geleneksel algoritma ne de derin öğrenme bunu başaramaz. NN modeliniz, konumunuz için size bir olasılık [0..1] verebilir, ancak bu yeterince iyi değil.
İşaret etmeme izin ver:
Hayır. Zürafa (@Tim tarafından gönderilen bağlantı) Monte Carlo Ağacı Aramasını kullanmaz. Normal nega-max algoritmasını kullanır. Tek yaptığı düzenli değerlendirme fonksiyonunu NN ile değiştirmek ve çok yavaş.
bir tane daha:
Her ne kadar 1997'de Kasparov Deep Blue tarafından dövüldü. "İnsanlık" 2003-2005 yıllarında gerçekten kaybedildi, Kramnik, Deep Fritz'e galibiyetsiz bir maç kaybetti ve Michael Adams, tek taraflı bir maçta küme makinesinde kaybetti. Bu süre zarfında, Rybka dünyadaki en iyi oyuncular için bile çok güçlü oldu.
Referans:
http://www.talkchess.com/forum/viewtopic.php?t=64096&postdays=0&postorder=asc&highlight=alphago+chess&topic_view=flat&start=0
Alıntı yaparım:
Satrançta, bir motorun ne kadar iyi çalıştığı ve hızlı bir şekilde hesaplanabileceği hakkında resonable bir tahmin veren önceliklendirme kavramına sahibiz. Ayrıca, Go'da yapılamayan statik bir değerlendirme fonksiyonunda kodlanabilecek oyunun bir çok yönü daha vardır. Pek çok sezgisel inceleme ve iyi değerlendirme nedeniyle, EBF (Etkili Dallanma Faktörü) oldukça küçüktür. Statik değerlendirme işlevinin yerine bir Sinir Ağı kullanılması, motoru oldukça fazla yavaşlatır.