Alpha Zero 趣味学习:TicTacToe

Alpha Zero 趣味学习:TicTacToe

深度学习风行天下,起始于围棋软件 AlphaGo 的成功。

从游戏软件开发中学习 deep learning,可以适当避开深度学习理论的繁难晦涩、枯燥乏味,值得一试。

AlphaGo 有着名垂青史的赫赫功绩,但也有其难免的弱点。它的学习方法属于有监督学习,需要海量标注数据,不仅使得开发成本居高,并且学习者难有充足数据可用。

AlphaGo Zero 的学习方法属于无监督学习,人们只需给出解题的基本规则,无须提供具体数据。AlphaGo Zero 是自学成材。

不过,AlphaGo Zero 的自学训练,对硬件性能要求极高,学习者若要尝试实验,需先投入大量资金购置高档计算机设备。

比较好的办法,是选用与 AlphaGo Zero 功能原理相近的软件作为替代。我推荐 Blanyal 的作品 alpha-zero。它有3个游戏,但我只会玩其中的 tictactoe,知道它的规则逻辑,所以选择它当作学习对象。

尝试训练程序,我是这样做的:

  • 下载源程序
  • 建立目录 tictactoe,拷入源程序包中第一级目录下的全部 8 个.py 文件,和第二级目录 tic_tac_toe
  • 建立目录 tictactoe\data

  • 打开 config.py,修改其中的 2 句

    • 第 1 句: model_directory = “./connect_four/models/”

    • 改为 :model_directory = “./data/”

    • 第 2 句: game = 2

    • 改为 :game = 0

  • 打开 main.py,删除其中 2 句

    • from othello.othello_game import OthelloGame

    • from connect_four.connect_four_game import ConnectFourGame

  • 命令行运行:python main.py

程序运行 9 分多钟,完成网络训练。源程序通过基本体检。
后又训练 1 次,用时约 30 分钟,对弈结果平局,训练成功。

你可能感兴趣的:(Alpha,Zero)