囲碁AI - どういうモデルを作ればよいか調べてみる.#002
囲碁AI - 囲碁AIを作ってみる.#001 - ゲームAI備忘録
の続きです.
論文[2]をざっと読む限り,KGS Go Serverの棋譜データを訓練データとしてモデルを構築しているらしい.
半年ぐらい前に書いた「高段者の囲碁の棋譜データを取得する方法」を利用して棋譜を取得する.
KGS高段者棋譜の取得方法 - ゲームAI備忘録
論文[2]によると,現在の盤面と次の手からどの程度良い手かを出力するモデルを構築すれば良いらしい.
特徴ベクトルとして下記の8項目を利用しているとある.
- 現在の石の色(黒白空の3パターン)
- 呼吸点?(Number of liberties)の数
- 打ったあとの呼吸点の数
- 合法手(Legality)かどうか
- Turns since(5次元) How many turns since a move was played
- Capture size(7次元) How many opponent stones would be captured
- Ladder move(1次元) Whether a move at this point is a successful ladder capture
- KGS rank(9次元) Rank of current player
ややこしいので,とりあえず問題を簡単にするために,現在の盤面と手番の色を入力すると,各候補手ごとに打たれる確率を出力する学習器を作ってみる.
引用文献
- [1]. C.Clark, Teaching Deep Convolutional Neural Networks to Play Go, 2015. URL: http://arxiv.org/pdf/1412.3409.pdf.
- [2]. C.J.Maddison, MOVE EVALUATION IN GO USING DEEP CONVOLUTIONAL NEURAL NETWORKS, 2015. URL: http://www.cs.toronto.edu/~cmaddis/pubs/deepgo.pdf