Esta es una implementación del algoritmo de Alphazero para jugar el simple juego de mesa Gomoku (también llamado Gobang o cinco seguidos) del entrenamiento puro de autoplaz. El juego Gomoku es mucho más simple que Go o Chess, para que podamos centrarnos en el esquema de entrenamiento de Alphazero y obtener un modelo de IA bastante bueno en una sola PC en unas pocas horas.
Referencias:
Para jugar con los modelos de IA entrenados, solo necesita:
Para entrenar el modelo de IA desde cero, la necesidad adicional, tampoco:
PD : Si su versión de theo> 0.7, siga este problema para instalar lasaña,
De lo contrario, obliga a Pip a degradar a theano a 0.7 pip install --upgrade theano==0.7.0
Si desea capacitar al modelo con otros marcos DL, solo necesita reescribir Policy_Value_net.py.
Para jugar con los modelos proporcionados, ejecute el siguiente script desde el directorio:
python human_play.py
Puede modificar humano_play.py para probar diferentes modelos proporcionados o los MCT puros.
Para entrenar el modelo de IA desde cero, con Theano y Lasaña, corren directamente:
python train.py
Con pytorch o tensorflow, primero modifique el archivo trin.py, es decir, comente la línea
from policy_value_net import PolicyValueNet # Theano and Lasagne
e incommentar la línea
# from policy_value_net_pytorch import PolicyValueNet # Pytorch
or
# from policy_value_net_tensorflow import PolicyValueNet # Tensorflow
y luego ejecute: python train.py (para usar GPU en Pytorch, establezca use_gpu=True y use return loss.item(), entropy.item() en function Train_step en Policy_value_net_pytorch.py si su versión de PyTorch es mayor que 0.5)
Los modelos (best_policy.model y current_policy.model) se guardarán cada algunas actualizaciones (predeterminadas 50).
Nota: Los 4 modelos proporcionados fueron entrenados con theano/lasaña, para usarlos con Pytorch, consulte el número 5.
Consejos para el entrenamiento:
Mi artículo que describe algunos detalles sobre la implementación en chino: https://zhuanlan.zhihu.com/p/32089487