これは、純粋な自己プレイトレーニングからシンプルなボードゲームGomoku(Gobangまたは5つの連続とも連続)をプレイするためのAlphazeroアルゴリズムの実装です。 GomokuはGoやChessよりもはるかにシンプルです。そのため、Alphazeroのトレーニングスキームに焦点を当て、数時間で1つのPCでかなり良いAIモデルを取得できます。
参考文献:
訓練されたAIモデルで遊ぶには、次の必要があります。
AIモデルをゼロから訓練するには、さらに必要なものです。
PS :Theanoのバージョン> 0.7の場合は、この問題に従ってLasagneをインストールしてください。
それ以外の場合は、PIPにTheanoを0.7 pip install --upgrade theano==0.7.0
他のDLフレームワークを使用してモデルをトレーニングしたい場合は、policy_value_net.pyを書き換えるだけです。
提供されたモデルで再生するには、ディレクトリから次のスクリプトを実行します。
python human_play.py
Human_play.pyを変更して、異なる提供されたモデルまたは純粋なMCTを試すことができます。
TheanoとLasagneを使用して、AIモデルをゼロから訓練するには、直接実行してください。
python train.py
pytorchまたはtensorflowを使用して、最初にファイルtrain.pyを変更します。つまり、行にコメントします
from policy_value_net import PolicyValueNet # Theano and Lasagne
そして、ラインを外します
# from policy_value_net_pytorch import PolicyValueNet # Pytorch
or
# from policy_value_net_tensorflow import PolicyValueNet # Tensorflow
そして実行: python train.py (pytorchでgpuを使用し、 use_gpu=Trueを設定し、policy_value_net_pytorch.pyのfunction train_step in policy_value_net_pytorch.pyでreturn loss.item(), entropy.item()使用します。
モデル(best_policy.modelおよびcurrent_policy.model)は、いくつかの更新(デフォルト50)ごとに保存されます。
注:提供された4つのモデルは、Pytorchで使用するためにTheano/Lasagneを使用してトレーニングされました。発行5を参照してください。
トレーニングのヒント:
中国語での実装に関するいくつかの詳細について説明する私の記事:https://zhuanlan.zhihu.com/p/32089487