マイロ将棋(10)CNN(持ち駒分離)

CNN(コンボリューショナルニューラルネットワーク、畳み込みニューラルネットワーク)を用いたモデルで学習をします。CNNは特に画像認識の分野で力を発揮し、近年のディープラーニングのブームを作るきっかけになったものと言ってもいいと思います。アルファ碁、アルファゼロも盤面の情報を画像としてとらえCNNのモデルで学習を行うようです。マイロが参考にしている『将棋AIで学ぶディープラーニング』『強い将棋ソフトの創りかた』という本でもCNNを使用しています。

 

CNNを使うといっても層数や層のサイズ、フィルタ数等により様々なバリエーションが考えられます。マイロは以下のようなコンボリューション4層+全結合2層のモデルで学習をしました。盤面の情報と持ち駒の情報を別々の入力データとしています。持ち駒の情報は盤面には無くCNNのフィルタを通してもあまり効果がないのではないかと考え、コンボリューション層の結果を全結合層1に渡す際に持ち駒の情報を加えました。本当にこの方法が効果的なのかはまだよくわかっていません。このモデルを持ち駒分離モデルと呼びます。

 

持ち駒分離モデル