最近のiPhoneやiPadには、Neural Engineという機械学習専用のコアが搭載されています。 これを使ったら、モバイル端末でどの程度強いディープラーニングベースの将棋AIが作れるのか検証してみたくなりました。
というわけで、まだアイデア段階なのですが連載していきたいと思います。私はいつも実験結果をためて長大な記事を書きがちなのですが、短くして速報性を上げたいと思っています。メモ書きみたいな記事も出るかもしれませんがご了承ください。
目標
2022年5月3日の、世界コンピュータ将棋選手権に、iPadで動作する将棋AIで出場すること。特に、ディープラーニングベースの評価関数をできるだけ高速に動作させる手段を検討し、現代のモバイル端末上で実現可能な棋力を検証すること。
実装手段など
- ハードウェア
- 開発言語
- 思考部
- MCTSベースのシンプルなものを書きます。
- 通信部
- UI
- iPad単体で参戦するには、ルール上局面表示や相手の指し手の手入力ができるUIが必要です。思考部が確立したら頑張って作ります。
新規性
評価関数
書籍「強い将棋ソフトの創りかた」のサンプルコードとして提供されているモデルを用います。正確には、提供された棋譜と学習プログラムを、私が契約したGoogle Colab Pro上で実行してモデルを得ました。著者の山岡さんに確認しましたが、このようにして得たモデルは自由に使用していいそうです。
書籍の棋譜・モデルを直接改変した場合は、使用は私的範囲内になります。学習に使う場合は学習モデルには著作権は及ばないため、棋譜やモデルから生成した棋譜を使用して一からモデルを学習した場合は、公開は問題ありません。
— 山岡忠夫 (@TadaoYamaoka) January 13, 2022
モデルファイルmodel_resnet10_swish-072
のSHA1SUM
- サンプルとして配布されているファイル:
74cba7cb7f29937498cebeee06a87da21d51346c
- 自前の追実験で得たモデル:
5cf25d7687006974967d62800e838cc8c99b6e65
次は、評価関数をiPad上で動作させるところから進めようと思います。