Ini adalah implementasi algoritma Alphazero untuk memainkan permainan papan sederhana Gomoku (juga disebut Gobang atau lima berturut-turut) dari pelatihan bermain mandiri murni. Gim Gomoku jauh lebih sederhana daripada Go atau Catur, sehingga kami dapat fokus pada skema pelatihan Alphazero dan mendapatkan model AI yang cukup baik pada satu PC dalam beberapa jam.
Referensi:
Untuk bermain dengan model AI terlatih, hanya perlu:
Untuk melatih model AI dari awal, kebutuhan lebih lanjut, baik:
PS : Jika versi Theano Anda> 0.7, silakan ikuti masalah ini untuk menginstal lasagna,
Kalau tidak, paksa PIP untuk menurunkan tHEANO ke 0,7 pip install --upgrade theano==0.7.0
Jika Anda ingin melatih model menggunakan kerangka kerja DL lainnya, Anda hanya perlu menulis ulang policy_value_net.py.
Untuk bermain dengan model yang disediakan, jalankan skrip berikut dari direktori:
python human_play.py
Anda dapat memodifikasi human_play.py untuk mencoba berbagai model yang disediakan atau MCT murni.
Untuk melatih model AI dari awal, dengan Theano dan Lasagne, langsung berjalan:
python train.py
Dengan pytorch atau tensorflow, pertama -tama ubah file train.py, yaitu, komentari baris
from policy_value_net import PolicyValueNet # Theano and Lasagne
dan membuka batasnya
# from policy_value_net_pytorch import PolicyValueNet # Pytorch
or
# from policy_value_net_tensorflow import PolicyValueNet # Tensorflow
dan kemudian jalankan: python train.py (untuk menggunakan GPU di pytorch, atur use_gpu=True dan gunakan return loss.item(), entropy.item()
Model (Best_Policy.model dan current_policy.model) akan disimpan setiap beberapa pembaruan (default 50).
Catatan: 4 model yang disediakan dilatih menggunakan theano/lasagna, untuk menggunakannya dengan pytorch, silakan merujuk ke edisi 5.
Tips untuk Pelatihan:
Artikel saya yang menjelaskan beberapa detail tentang implementasi dalam bahasa Cina: https://zhuanlan.zhihu.com/p/32089487