Esta é uma implementação do algoritmo Alphazero para jogar o jogo de tabuleiro simples Gomoku (também chamado Gobang ou cinco seguidas) do treinamento puro de auto-jogo. O jogo Gomoku é muito mais simples que ir ou xadrez, para que possamos nos concentrar no esquema de treinamento de Alphazero e obter um modelo de IA muito bom em um único PC em poucas horas.
Referências:
Para brincar com os modelos de IA treinados, só preciso:
Para treinar o modelo de IA do zero, também precisa::
PS : Se a versão do seu Theano> 0.7, siga esta edição para instalar o Lasagne,
Caso contrário, force Pip a rebaixar o Theano para 0.7 pip install --upgrade theano==0.7.0
Se você deseja treinar o modelo usando outras estruturas DL, você só precisa reescrever policy_value_net.py.
Para brincar com os modelos fornecidos, execute o seguinte script do diretório:
python human_play.py
Você pode modificar o Human_Play.py para experimentar diferentes modelos fornecidos ou os MCTs puros.
Para treinar o modelo de IA do zero, com Theano e lasanha, execute diretamente:
python train.py
Com Pytorch ou TensorFlow, primeiro modifique o trem de arquivo.py, ou seja, comente a linha
from policy_value_net import PolicyValueNet # Theano and Lasagne
e descomamento da linha
# from policy_value_net_pytorch import PolicyValueNet # Pytorch
or
# from policy_value_net_tensorflow import PolicyValueNet # Tensorflow
e depois execute: python train.py (para usar a GPU em pytorch, defina use_gpu=True e use return loss.item(), entropy.item() na function Train_Step em Policy_Value_Net_Pytorch.py Se sua versão pytorch for maior que 0,5)
Os modelos (best_policy.model e current_policy.model) serão salvos a cada algumas atualizações (padrão 50).
NOTA: Os 4 modelos fornecidos foram treinados usando o Theano/Lasagne, para usá -los com Pytorch, consulte a edição 5.
Dicas para treinamento:
Meu artigo descrevendo alguns detalhes sobre a implementação em chinês: https://zhuanlan.zhihu.com/p/32089487