Leela Chess Zero - Leela Chess Zero - Wikipedia
Původní autoři | Gian-Carlo Pascutto Gary Linscott |
---|---|
Vývojáři | Gary Linscott, Alexander Lyashuk, Folkert Huizinga a další |
První vydání | 9. ledna 2018 |
Stabilní uvolnění | v0.25.3 / 10. října 2020 |
Úložiště | |
Napsáno | C ++ |
Operační systém | Windows, Mac, Linux, Ubuntu, Android |
Typ | Šachový motor |
Licence | GPL-3.0 |
webová stránka | lzero |
Tento článek je součástí seriálu o |
Šachové programování |
---|
Zastoupení představenstva |
Šachové počítače |
Šachové motory |
Leela Chess Zero (ve zkratce LCZero, lc0) je zdarma, open-source, a nervová síť -na základě šachový motor a distribuované výpočty projekt. Vývoj byl v čele programátora Gary Linscott, který je také vývojářem pro Stockfish šachový motor. Leela Chess Zero byla převzata z Leela Zero Jít motor,[1] z čehož vycházelo Google je AlphaGo Zero projekt,[2] také k ověření metod v AlphaZero papír aplikovaný na šachovou hru.
Stejně jako Leela Zero a AlphaGo Zero, ani Leela Chess Zero nezačíná kromě základních pravidel hry žádné vlastní specifické znalosti šachu.[1] Leela Chess Zero se pak naučí hrát šachy podle posilování učení z opakovaného vlastního hraní pomocí distribuované výpočetní sítě koordinované na webových stránkách Leela Chess Zero.
Od roku 2020[Aktualizace], Leela Chess Zero odehrála proti sobě více než 300 milionů her,[3] a je schopen hrát na úrovni srovnatelné s Treska, přední konvenční šachový program.[4][5]
Dějiny
Projekt Leela Chess Zero byl poprvé oznámen na TalkChess.com 9. ledna 2018.[1][6] To odhalilo Leela Chess Zero jako otevřený, samoučící se šachový stroj, o kterém by se dalo říci, s cílem vytvořit silný šachový stroj.[7] Během prvních několika měsíců tréninku už Leela Chess Zero dosáhla velmistr úrovni, překonávající sílu počátečních vydání systému Rybka, Stockfish a Komodo, a to navzdory hodnocení řádů méně pozic při používání MCTS.
V prosinci 2018 AlphaZero tým publikoval nový příspěvek v Věda časopis odhalující dříve nezveřejněné podrobnosti architektury a tréninkových parametrů použitých pro AlphaZero.[8] Tyto změny byly brzy začleněny do hry Leela Chess Zero a zvýšily její sílu i efektivitu tréninku.[9]
Práce na Leela Chess Zero informovala o podobném projektu AobaZero pro shogi.[10]
Motor byl přepsán a pečlivě iterován od svého vzniku a nyní běží na více backendy, což mu umožňuje efektivně využívat různé typy hardwaru, CPU i GPU.[11]
Motor podporuje Fischerův náhodný šach varianta a od května 2020 se trénuje síť pro testování životaschopnosti takové sítě.[11]
Program a použití
Metoda použitá jejími designéry k tomu, aby se Leela Chess Zero samy naučila a hrála šachy na vyšší lidské úrovni, je posilování učení. Toto je algoritmus strojového učení, zrcadlený z AlphaZero používá tréninkový binární soubor Leela Chess Zero k maximalizaci odměny prostřednictvím vlastní hry.[1][8] Jako open-source projekt distribuované výpočetní techniky provozují dobrovolní uživatelé Leela Chess Zero a hrají stovky milionů her, které jsou napájeny algoritmem zesílení.[3] Abychom přispěli k pokroku v Leela Chess Zero enginu, musí být stažena nejnovější kandidátská verze (non-rc) verze Engine a také Klient. Klient je nutný pro připojení k aktuálnímu serveru Leela Chess Zero, kde jsou uloženy všechny informace ze šachových her pro sebe, získat nejnovější síť, generovat hry pro sebe a nahrát tréninková data zpět do serveru.[12]
Aby bylo možné hrát na stroji Leela Chess Zero na stroji, jsou potřeba 2 komponenty: binární engine a síť (binární engine se liší od klienta v tom, že se klient používá jako tréninková platforma pro engine) . Síť obsahuje vyhodnocovací funkci Leela Chess Zero, která je potřebná k vyhodnocení pozic.[12] Starší sítě lze také stáhnout a použít umístěním těchto sítí do složky s binárním souborem lc0.
Self-Play Elo
Self-play Elo se používá k měření relativní síly sítě k hledání anomálií a obecných změn v síle sítě a lze ji použít jako diagnostický nástroj v případě významných změn. Prostřednictvím testovacích zápasových her, které se hrají s minimálními odchylkami na základě teploty, testují klienti lc0 engine nejnovější verzi proti jiným nedávným verzím běhu stejné sítě, která je poté odeslána tréninkovému serveru k vytvoření celkového hodnocení Elo.
Standardní vzorce Elo se používají k výpočtu relativní síly Elo mezi dvěma hráči. Novější výpočty Self-Play Elo používají k porovnání přesnějších výsledků Elo proti více síťovým verzím přesnější hodnotu Elo.
Existuje několik nezamýšlených důsledků přístupu Self-Play k měření síly a jsou následující:
- Rozdílné stupnice počáteční inflace Elo v tréninkových bězích kvůli obdobím nižšího / vyššího sebezdokonalování a nepřátelské hry.
- Síla měřená tímto způsobem není objektivní a je relativní k předchozím sítím, což umožňuje falešnou iluzi získané síly, protože sítě jsou trénovány tak, aby porazily a předjímaly akce svých minulých já.
- Overfitting oproti předchozím síťovým verzím Lc0 neustále přidává malé množství Self-Play Elo do kumulativního měřeného Elo. Overfitting tímto způsobem je obecně vidět jasněji při tréninku menších sítí.
- Neexistuje žádná přímá korelace 1: 1 mezi herním elo a silou proti motorům Alpha-Beta a žádná známá korelace se silou proti lidem.
- Změny chování v sítích mezi běhy ovlivňují inflaci.
Příkladem inflace Self-Play elo je běh Test 71.4 (pojmenovaný jako 714xxx nets), běh Fischer Random Chess, který má téměř 4000 kumulativních self-play elo 76 sítí po zahájení jeho běhu. Odhady Self-Play Elo tohoto běhu lze zhruba porovnat s jinými běhy, aby se změřila nepraktičnost čistého kumulativního vlastního přehrávání elo. Čisté srovnání elo s vlastním přehráváním s jednou ze sítí Test 60 3000 sítí do běhu ukazuje, že 63000 dokáže důsledně porazit 714070 v soubojích nejvíce, ne-li všechny „férové“ časové kontroly. Přesto má 63 000 sítí z běhu Test 60 elo self-play kolem 2900, zatímco Elo Self-Play z raného Testu 71.4 je již blízko 4000. Tento rozpor síly Elo self-play je dost na uznání tvrzení, že self- hra Elo není objektivní mírou síly, ani jí neumožňuje snadno srovnávat sílu sítě s lidskou silou.
Hodnocení self-play pro motor by mohlo být použito jako hrubá aproximace konvenčních hodnocení Human Elo, avšak z mnoha důvodů neexistuje žádný univerzální převodní vzorec. Mezi ně patří mimo jiné rozsah počáteční nafouknutí hry Elo pro sebe-hraní a pozdní období nafouknutí hry Elo mezi trénovanými běhy, různé časové kontroly, různé systémy měření Elo mezi platformami šachových turnajů, přidělené zdroje motoru , velikost a struktura sítě, tréninkový datový soubor sítě a několik faktorů, jejichž síla je dána binárním souborem motoru.
Nastavení enginu pro přehrávání jednoho uzlu s `` --minibatch-size = 1`` a `` go uzly 1`` pro každý odehraný tah vytvoří deterministickou hru a funkce Self-Play elo na takovém nastavení vždy přinese to samé výsledek mezi 2 stejnými sítěmi na stejné počáteční pozici - vždy vyhrát, vždy prohrát nebo vždy remízovat. Self-play elo není spolehlivé pro stanovení síly za těchto deterministických okolností.
Varianty
V sezóně 15 Špičkové mistrovství v šachových motorech, motor AllieStein soutěžil po boku Leely. AllieStein je kombinací dvou různých spinoffů od Leely: Allie, která používá stejnou vyhodnocovací síť jako Leela, ale má jedinečný vyhledávací algoritmus pro zkoumání různých směrů hry, a Stein, vyhodnocovací síť, která byla trénována pomocí učení pod dohledem na základě stávajících herních dat s jinými motory (na rozdíl od neřízené učení které Leela používá). I když žádný z těchto projektů by nebyl přijat do TCEC samostatně kvůli jejich podobnosti s Leelou, kombinace vyhledávacího algoritmu Allie se sítí Stein, zvaná AllieStein, je natolik jedinečná, že ji zaručuje konkurovat vedle hlavního proudu Lc0 (pravidla TCEC vyžadují, aby neurální síťový engine má alespoň 2 jedinečné komponenty ze 3 základních funkcí: Kód, který vyhodnocuje síť, samotnou síť a vyhledávací algoritmus. Zatímco AllieStein používá stejný kód k vyhodnocení své sítě jako Lc0, protože ostatní dvě komponenty jsou čerstvé, AllieStein je považován za samostatný motor). [13]
Výsledky soutěže
V dubnu 2018 se Leela Chess Zero stala prvním motorem neuronové sítě, který vstoupil do Špičkové mistrovství v šachových motorech (TCEC), během sezóny 12 v nejnižší divizi, divizi 4.[14] Leela nepodávala dobrý výkon: ve 28 hrách vyhrála jednu, remizovala dvě a zbytek ztratila; jeho jediné vítězství přišlo z pozice, ve které se jeho protivník, Štír 2.82, zřítil třemi tahy.[15] Rychle se to však zlepšilo. V červenci 2018 se Leela v roce 2018 umístila na sedmém místě z osmi soutěžících Mistrovství světa v počítačových šachech.[16] V srpnu 2018 vyhrál divizi 4 sezóny TCEC 13 se záznamem 14 vítězství, 12 remíz a 2 prohry.[17][18] V divizi 3 si Leela připsala 16/28 bodů a skončila třetí za Etherealem, který získal 22,5 / 28 bodů, a Arasanem na tieBreak.[19][17]
V září 2018 se Leela stala konkurenceschopnou s nejsilnějšími motory na světě. V roce 2018 Chess.com Computer Chess Championship (CCCC),[20] Leela se umístila na pátém místě z 24 účastníků. Osm nejlepších motorů postoupilo do 2. kola, kde se Leela umístila na čtvrtém místě.[21][22] Leela poté zvítězila v zápase o 30 her Komodo zajistit třetí místo v turnaji.[23][24] Současně se Leela zúčastnila poháru TCEC, nového turnaje, ve kterém mohou motory z různých divizí TCEC hrát proti sobě. Leela porazila motory vyšší divize Laser, Ethereal a Fire, než ji nakonec v semifinále vyřadila Stockfish.[25]
V říjnu a listopadu 2018 se Leela zúčastnila bitevní bitvy Chess.com Computer Chess Championship.[26] Leela skončila třetí za Stockfishem a Komodem.[27]
V prosinci 2018 se Leela zúčastnila sezóna 14 mistrovství nejlepších šachových motorů. Leela ovládla divize 3, 2 a 1 a ve všech snadno skončila první. V první divizi dominoval Stockfish Houdini, Komodo a Leela soutěžili o druhé místo. Došlo k závěrečné hře, kde Leela potřebovala držet Stockfish remízou černou, aby skončila druhá před Komodem. To úspěšně zvládlo, a proto zpochybnilo superfinále proti Stockfish. To těsně prohrálo superfinále proti Stockfish s 49,5-50,5 konečné skóre.[28]
V únoru 2019 si Leela připsala své první velké turnajové vítězství, když ve finále druhého poháru TCEC porazila Houdiniho. Leela neprohrála celý turnaj.[29][30] V dubnu 2019 Leela zvítězila na Chess.com Computer Chess Championship 7: Blitz Bonanza a stala se prvním projektem neuronové sítě, který získal titul.[31]
V květnu 2019 obhájila Leela svůj pohárový titul TCEC, tentokrát porazila Stockfish v závěrečných 5,5-4,5 (+2 = 7-1) poté, co Stockfish zmařil 7člennou tabulka kreslit.[32] Leela také vyhrála Superfinále sezóna 15 mistrovství nejlepších šachových motorů 53,5-46,5 (+14-7 = 79) oproti Stockfish.[33][34]
16. sezóna TCEC Leela skončila v 3. divizi na 3. místě, chyběla kvalifikace do superfinále na Stockfish a nový motor neurální sítě AllieStein. Leela neutrpěla žádné ztráty v Premier Division, jediný motor, který to udělal, a porazila Stockfish v jedné ze šesti her, které hráli. Leela však dokázala zaznamenat pouze 9 vítězství, zatímco AllieStein a Stockfish si připsaly 14 vítězství. Tato neschopnost porazit slabší motory vedla k tomu, že Leela skončila třetí, půl bodu za AllieSteinem a bodem za Stockfishem.[35] Ve čtvrtém poháru TCEC byla Leela nasazena nejprve jako obhájkyně titulu, což ji umístilo na opačnou polovinu závorek jako AllieStein a Stockfish. Leela se mohla kvalifikovat do finále, kde čelila Stockfish. Po sedmi remízách Stockfish vyhrál osmý zápas a vyhrál zápas.[36]
v Sezóna 17 TCEC, která se konala v lednu až dubnu 2020, Leela znovu získala šampionát tím, že porazila Stockfish 52,5-47,5.[37] Opět se kvalifikovalo do superfinále Sezóna 18, ale tentokrát byl poražen Stockfishem 53,5-46,5.[38] Ve finále TCEC Cup 6 Leela podlehla AllieSteinovi a skončila na 2. místě.[39]
Sezóna 19 TCEC viděl Leelu znovu se kvalifikovat do superfinále. Tentokrát to hrálo proti nové verzi Stockfish s podporou pro NNUE, funkce vyhodnocení založená na neuronové síti používaná primárně pro listové uzly vyhledávacího stromu. Porazila Leelu s konečným skóre 54,5-45,5 (+18-9 = 73).[40][41]
Souhrn výsledků
Sezóna | Divize 4 | Divize 3 | Divize 2 | Divize 1 | Divize P | Superfinále |
---|---|---|---|---|---|---|
12 (2018) | 8. | – | – | – | – | – |
13 (2018) | 1. místo | 3. místo | – | – | – | – |
14 (2018) | – | 1. místo | 1. místo | 1. místo | 2. místo | 2. místo |
15 (2019) | – | – | – | – | 2. místo | 1. místo |
16 (2019) | – | – | – | – | 3. místo | – |
17 (2020) | – | – | – | – | 1. místo | 1. místo |
18 (2020) | – | – | – | – | 2. místo | 2. místo |
19 (2020) | – | – | – | – | 2. místo | 2. místo |
událost | Výsledek | Oponent | Skóre |
---|---|---|---|
Cup 1 (2018) | 3. místo | Komodo | 0-0 |
Cup 2 (2019) | 1. místo | Houdini | 4.5-3.5 |
Cup 3 (2019) | 1. místo | Treska | 5.5-4.5 |
Cup 4 (2019) | 2. místo | Treska | 3.5-4.5 |
Cup 5 (2020) | 2. místo | Treska | 1.5-2.5 |
Pohár 6 (2020) | 2. místo | AllieStein | 1.5-2.5 |
Cup 7 (2020) | 2. místo | Treska | 1.5-2.5 |
událost | Rok | Časové kontroly | Výsledek | Čj |
---|---|---|---|---|
CCC 1: Rapid Rumble | 2018 | 15+5 | 3. místo | [43] |
CCC 2: Blitz Battle | 2018 | 5+2 | 3. místo | [44] |
CCC 3: Rapid Redux | 2019 | 30+5 | 2. místo | [45] |
CCC 4: Bullet Brawl | 2019 | 1+2 | 2. místo | [46] |
CCC 5: Eskalace | 2019 | 10+5 | 2. místo | [47] |
CCC 6: Winter Classic | 2019 | 10+10 | 2. místo | [48] |
CCC 7: Blitz Bonanza | 2019 | 5+2 | 1. místo | [31] |
CCC 8: Deep Dive | 2019 | 15+5 | 2. místo | [5] |
CCC 9: The Gauntlet | 2019 | 5+2, 10+5 | 3. místo | [49] |
CCC 10: Dvouciferné | 2019 | 10+3 | 3. místo | [50] |
CCC 11 | 2019 | 30+5 | 1. místo | [51] |
CCC 12: Bullet Madness! | 2020 | 1+1 | 1. místo | [52] |
CCC 13: Tvary | 2020 | 3+2, 5+5, 10+5, 15+5 | 1. místo | [53][54] |
CCC 14 | 2020 | 15+5 | 1. místo | [55] |
Pozoruhodné hry
- Leela vs Stockfish, CCCC bonusové hry, 1-0 Leela porazila mistra světa Stockfish, a to navzdory handicapu 1 pěšce.
- Stockfish vs Leela Chess Zero || TCEC S15 Superfinal - hra 61 Leela v útoku Trompovského úplně překonala Stockfish s černými figurkami, Leela's eval se změnil z 0,1 na -1,2 v jednom tahu a Stockfish's eval nezůstal negativní, dokud nešlo o 15 tahů.
Reference
- ^ A b C d „Leela Chess Zero: Full Elo Graph“. Lczero.org. 7. března 2019. Citováno 7. března 2019.
- ^ "leela-zero". GitHub. Citováno 27. dubna 2018.
- ^ A b "LCZero". lczero.org. Citováno 2019-05-28.
- ^ „Lc0 vyhrává mistrovství v počítačových šachech, dělá historii“. Chess.com. Citováno 2019-05-29.
- ^ A b Pete (pete). „Stockfish Strikes Back, Tops Lc0 in Computer Chess Championship“. Chess.com. Citováno 2019-05-29.
- ^ „Announcing lczero“. TalkChess.com. Citováno 11. června 2018.
- ^ „Oznámení lczero - TalkChess.com“. www.talkchess.com. Citováno 2019-03-21.
- ^ A b Silver, David; Hubert, Thomas; Schrittwieser, Julian; et al. (6. prosince 2018). „Algoritmus učení obecné výztuže, který ovládá šachy, šógi a hraní hry samo sebe“ (PDF). Věda. 362 (6419): 1140–1144. Bibcode:2018Sci ... 362.1140S. doi:10.1126 / science.aar6404. PMID 30523106. S2CID 54457125.
- ^ „Papír AlphaZero a Lc0 v0.19.1“. 7. prosince 2018. Citováno 14. února 2019.
- ^ Kobayashi, Yuki (2019-09-15), GitHub - kobanium / aobazero: Aoba Zero., vyvoláno 2019-09-25
- ^ A b "leela-šachy-nula". GitHub. Citováno 11. května 2020.
- ^ A b Přepsaný engine, původně pro tensorflow. Nyní zde byly přeneseny všechny ostatní back-endy: LeelaChessZero / lc0, LCZero, 2019-03-20, vyvoláno 2019-03-21
- ^ „Allie + Stein, nový motor založený na neuronových sítích vstupující do TCEC S15“.
- ^ „Breaking: Leela Chess Zero vstoupí do TCEC sezóny 12“. Šachy. 18. dubna 2018.
- ^ Podívejte se na archivy sezóny 12 na http://tcec.chessdom.com/archive.php Archivováno 03.05.2015 na Wayback Machine
- ^ „World Computer Chess Championship 2018“. ICGA. Citováno 19. července 2018.
- ^ A b Podívejte se na archivy sezóny 13 na http://tcec.chessdom.com/archive.php Archivováno 03.05.2015 na Wayback Machine
- ^ „Leela Chess Zero získala zlatou medaili v TCEC Div 4 | Chessdom“. Citováno 2019-03-21.
- ^ „Ethereal chess engine vyhrává zlato na TCEC Div 3 | Chessdom“. Citováno 2019-03-21.
- ^ „Chess.com Computer Chess Championship“.
- ^ „CCCC etapa 2 skončila. Leela 4. s dobrým výkonem! Stockfish neporažený!“. LCZero Blog. 26. září 2018. Citováno 26. září 2018.
- ^ Cilento, Pete (26. září 2018). „Stockfish, Houdini Battle for Computer Chess Championship; Komodo vs Lc0 for 3rd“. Chess.com. Citováno 9. října 2018.
- ^ „Leela vyhraje zápasovou sérii proti Komodovi a vyhraje pěščí kurz proti Stockfish!“. LCZero Blog. 3. října 2018. Citováno 9. října 2018.
- ^ Cilento, Pete (4. října 2018). „Stockfish rychle vyhrává mistrovství v počítačových šachech; LC0 končí na 3. místě“. Chess.com. Citováno 9. října 2018.
- ^ Prohlédněte si archivy TCEC Cup 1 na http://tcec.chessdom.com/archive.php Archivováno 03.05.2015 na Wayback Machine
- ^ Cilento, Pete (11. října 2018). „Mistrovství v počítačových šachech se vrací do Blitz Battle“. Chess.com. Citováno 22. listopadu 2018.
- ^ Cilento, Pete (19. listopadu 2018). „Stockfish vyhrává Blitz v počítačových šachových šampionátech“. Chess.com. Citováno 22. listopadu 2018.
- ^ Prohlédněte si archivy sezóny 14 na http://tcec.chessdom.com/archive.php Archivováno 03.05.2015 na Wayback Machine
- ^ Prohlédněte si archivy TCEC Cup 2 na http://legacy-tcec.chessdom.com/archive.php
- ^ „Leela vyhrála TCEC CUP!“. LCZero Blog. 4. února 2019. Citováno 12. února 2019.
- ^ A b Cilento, Pete (17. dubna 2019). „Lc0 vyhrává mistrovství v počítačových šachech, dělá historii“. Chess.com. Citováno 18. dubna 2019.
- ^ Podívejte se na skóre hry na https://www.tcec-chess.com/archive.html?season=cup3&round=fl&game=9
- ^ „LC0 vyhrál TCEC 15“. LCZero Blog. 28. května 2019. Citováno 28. května 2019.
- ^ Högy, Kevin (2. června 2019). „Nová éra počítačových šachů? Lc0 porazí Stockfish!“. šachy24. Citováno 25. června 2019.
- ^ „Sezóna 16, archiv Div P“. Citováno 30. září 2019.
- ^ „Archiv TCEC Cup 4“. Citováno 18. listopadu 2019.
- ^ „Závěrečná zpráva TCEC“.
- ^ „Archiv TCEC sezóny 18“. Citováno 3. července 2020.
- ^ „TCEC Cup 6 Final“. TCEC šachy. Citováno 23. července 2020.
- ^ „Sezóna 19, archiv Div SF“. Citováno 19. října 2020.
- ^ "Stockfish 12". Stockfish Blog. Citováno 19. října 2020.
- ^ A b https://www.tcec-chess.com/archive.html
- ^ Cilento, Pete. „Stockfish rychle vyhrává mistrovství v počítačových šachech; LC0 končí na 3. místě“. Chess.com. Citováno 2019-06-20.
- ^ Cilento, Pete. „Stockfish vyhrává Blitz v počítačových šachových šampionátech“. Chess.com. Citováno 2019-06-20.
- ^ Cilento, Pete. „Stockfish zvítězil v rychlém počítačovém mistrovství nad Lc0; Bullet Chess Next“. Chess.com. Citováno 2019-06-20.
- ^ Cilento, Pete. „Stockfish vyhrává v bulletinu mistrovství počítačových šachů; 'Eskalace' Další“. Chess.com. Citováno 2019-06-20.
- ^ [1]
- ^ Cilento, Pete. „Mistrovství v počítačových šachech hraje Blitz poté, co Stockfish hájí titul“. Chess.com. Citováno 2019-06-20.
- ^ Cilento, Pete (7. srpna 2019). „Stockfish vyhrává mistrovství v počítačových šachech, protože neuronové sítě hrají dohazování“. Chess.com. Citováno 19. září 2019.
- ^ „Mistrovství v počítačových šachech“. Chess.com. Citováno 19. září 2019.
- ^ „Mistrovství v počítačových šachech“. Chess.com. Citováno 23. prosince 2019.
- ^ „Mistrovství v počítačových šachech“. Chess.com. Citováno 23. ledna 2020.
- ^ „Mistrovství v počítačových šachech“. Chess.com. Citováno 14. dubna 2020.
- ^ Doggers, Peter (18. dubna 2020). „Leela Chess Zero Beats Stockfish 106-94 na 13. Chess.com Computer Chess Championship“. Chess.com. Citováno 24. dubna 2020.
- ^ „Výsledky CCC14“. Formáty CCC. Citováno 19. srpna 2020.