ディープラーニングを使ったコンピュータ将棋

以前からディープラーニングを使ったコンピュータ将棋に興味を抱いていたが、
書籍が高価なことと新たな環境構築が必要なことから二の足を踏んでいた。
そんな時、技術書典マーケットで以下の手ごろな価格のブックレットを発見した。

booth.pm

環境構築

必要な環境は
Python 3.6.5(Anaconda3 5.2.0 64bit)以上
⚫ TensorFlow r1.13.1
⚫ CUDA 10.0
⚫ cuDNN 7.4.1 以上
とのことであったが、 Windows10のconda仮想環境で2021/2/20に構築できたのは、以下であった。
$ conda list -n tfgpu114

anaconda 2020.07 py36_0
cshogi 0.1.1 pypi_0 pypi
cudatoolkit 10.0.130 0
cudnn 7.6.5 cuda10.0_0
python 3.6.10 h9f7ef89_2
tensorflow-gpu 1.14.0 h0d30ee6_0

ノートPC: MSI GP62 6QE Leopard Pro
f:id:i2mfuji:20210301102806p:plain

学習

2015-2018年のfloodgateの棋譜を、教師あり学習での事前学習を行ったところ、
モデル作成完了まで半日以上かかった。
なお、GPU1080だと4時間程度との記載があった。

推論

将棋所にエンジン登録するバッチファイルmcts_player.batのカスタマイズに手こずった。

@echo off  
cd D:\Develop\Shogi\dlshogi-zero  
call D:\anaconda3\Scripts\activate.bat tfgpu114  
python -O -m dlshogi_zero.usi.usi_mcts_player 2>NUL  

今後

ディープラーニングの画像認識は比較的理解しやすいが、
強化学習は、わたしには難解でその内容自体をおいおい理解できるようになりたいと思う。