Mengapa NN + MCTS & AB + eval tulisan tangan mendominasi catur mesin?

14

Seperti yang saya pahami, mesin dapat dibagi menjadi empat kelompok saat ini: yang menggunakan Alpha-beta (AB) + yang menggunakan Monte Carlo Tree Search (MCTS) untuk pencarian, dan yang menggunakan fungsi tulisan tangan + yang menggunakan jaringan saraf untuk eval. Dua mesin terkuat adalah Leela dan Stockfish. Leela menggunakan MCTS + NN, sementara Stockfish menggunakan AB + tulisan tangan.

Mengapa dua kombinasi ini? Mengapa tidak NN + AB, atau MCTS + tulisan tangan? Jika MCTS lebih baik dari AB, mengapa Komodo MCTS tidak lebih kuat dari Komodo AB? Jika AB lebih baik dari MCTS, mengapa Leela tidak menggunakan AB?

Daya tarik
sumber
Hanya berspekulasi: NN adalah pengenal pola. Karena MCTS menggunakan jaring yang lebih luas, lebih mungkin untuk menemukan pola yang telah dilatih NN untuk dikenali sebagai baik atau buruk.
John Coleman

Jawaban:

12

Kecepatan

Jaringan saraf beroperasi jauh lebih lambat daripada fungsi evaluasi buatan tangan. Dalam TCEC Superfinal , Leela Chess Zero, yang berjalan pada dua GPU masing-masing dengan core tensor khusus, mampu mencari sekitar 60 ribu posisi per detik. Sebaliknya, Stockfish, pada satu inti pada PC saya, mencari lebih dari 2 juta posisi per detik.

Sementara mesin modern memiliki banyak pilihan teknik untuk memotong cabang yang tidak perlu , pencarian pohon alfa-beta masih sangat teknik brute force, membutuhkan banyak posisi yang harus dicari untuk menentukan langkah yang baik.

Sebaliknya, MCTS jauh lebih selektif, dan hanya memperluas pohon pencariannya ke arah langkah-langkah yang paling menjanjikan, yang memungkinkannya memanfaatkan jumlah node yang lebih terbatas yang dapat dicari.

Perilaku terburuk

Salah satu persyaratan utama dari fungsi evaluasi untuk mesin berbasis pencarian alpha-beta adalah bahwa ia harus memiliki perilaku kasus terburuk yang baik . Ini karena setiap kesalahan besar dalam evaluasi, meskipun jarang, dapat dengan mudah disebarkan ke root dan menyebabkan langkah yang salah dimainkan.

Karena kerumitannya, jaringan saraf rentan terhadap overfitting dan hanya bisa sebagus data yang digunakan untuk melatihnya. Misalnya, dalam pertandingan 80 Superfinal TCEC Musim 14 , pada langkah 47 Lc0 tampaknya tidak terpengaruh oleh ratu ekstra Stockfish, mengevaluasi posisi sebagai keren +0.77, sementara Stockfish (dan sebagian besar mesin lainnya) melakukan evaluasi +8.31. Penjelasan populer untuk ini adalah bahwa Lc0 mungkin tidak memiliki sejumlah besar game dengan banyak ratu di papan pada set pelatihannya.

Jaringan saraf, oleh karena itu, memiliki perilaku kasus terburuk yang buruk, dan karenanya cenderung berkinerja buruk dengan pencarian alpha beta. MCTS, sebaliknya, memungkinkan skor yang salah yang diberikan pada satu posisi untuk diimbangi dengan rata-rata dengan skor yang masuk akal ditugaskan ke posisi terdekat dalam pencarian.

Ketenangan

Semua mesin alpha-beta yang kuat menggunakan teknik yang disebut quiescence search , bentuk terbatas dari pencarian alpha-beta yang diterapkan pada leaf leaf, dengan mengakui bahwa fungsi evaluasi buatan tangan mereka hanya bekerja dengan baik di posisi "tenang", di mana tidak ada tangkapan atau pemeriksaan yang tertunda. .

Sebagai contoh, segera setelah paruh pertama pertukaran ratu, fungsi evaluasi buatan tangan dapat memberi tahu Anda bahwa sisi yang baru saja diambil ratu mereka benar-benar hilang, sedangkan jaringan saraf mungkin dapat memahami bahwa ratu akan segera ditangkap kembali.

Hal ini membuat fungsi evaluasi buatan tangan sama tidak cocok untuk MCTS karena tidak adanya pencarian ketenangan, sehingga fungsi buatan tangan melakukan sebagian besar waktu (walaupun Komodo 12 MCTS mengatasi pembatasan ini dengan menggunakan pencarian alfa-beta pendek pula , untuk mendapatkan posisi diam dan karena itu biarkan evaluasi buatan tangannya untuk mengembalikan skor yang masuk akal)

konsolas
sumber
2

AB dan MCTS belum tentu lebih baik dari satu sama lain berdasarkan kemampuan mereka sendiri. Hanya saja mereka adalah algoritma pencarian yang berbeda yang bekerja lebih baik dengan yayasan yang berbeda. Untuk NN, MCTS bekerja dengan baik karena memungkinkan mesin untuk mengeksplorasi cabang yang lebih baik. Ini memberi mesin lebih banyak kebebasan untuk melihat apa yang ia "inginkan".

Sementara itu dengan AB, semua cabang pada prinsipnya harus dilihat. Ini karena bahkan dengan pendalaman berulang, mesin hanya terlihat sejauh ini pada setiap cabang di setiap iterasi. Jadi tidak tahu apakah satu cabang benar-benar menang untuk satu sisi, bahkan jika tampaknya kalah pada kedalaman yang terbatas.

Ketidaktahuan inersia
sumber