Edited at

【将棋AI】「将棋AIで学ぶディープラーニング」を読む♪~やはり過学習なのか??

将棋AIで学ぶディープラーニング

第十九夜は、昨夜のつづきであのTryモデルの意外な展開。


やったこと

(1)昨夜のTryのミスの修正をして追加学習

(2)現在の強そうなモデル間の総当たり戦

(3)そして、VGGLikeとS40と対戦してみた

(4)棋譜解析をしてみると。。


(1)昨夜のTryのミスの修正をして追加学習

一応、ミスはh2 = F.relu(self.conv2(h1))の部分のreluだけだから追加学習してみました。やはりうまく継続して修正できて学習できました。

収束性は以下のような感じでうまくいっていそうです。

figure_1-34log3000_try10_2016_2017.png

そして一致率等は、比較のために今までのものを並べてみると、以下のとおり

方策の一致率はきわめて高くなった。

名称
loss
一致率(方策)
一致率(価値)
備考

policy
1.682677
0.4226734
-
方策ネットワークのみ

Policy_Value;Layer13
2.016
0.4204578
0.67033803
13層の方策・価値ネットワークでMCTS

ResnetSimple40※
2.29075
0.4325099
0.6906338
Resnet20block43層

ResnetSimple20 
2.308355
0.4326057
0.6941468
Resnet10block23層

ResnetSimple10
2.360802
0.42507267
0.6948055
Resnet5block13層

ResnetVGGLike5
2.279315
0.43526843
0.69514084
ResnetVGGLike5block19層

ResnetTry30
2.27104
0.43431032
0.6986858
ResnetTri10block33層

ResnetTry
1.965186
0.4312045
0.67467344
ResnetTri10block33層epoch19

ResnetTry
2.3784263
0.43634507
0.6942187
ResnetTri10block33層epoch28

ResnetTry
1.8439145
0.44418514
0.6781456
ResnetTri10block33層epoch31

ResnetTry
1.5742202
0.43192667
0.6731665
ResnetTri10block33層epoch37


(2)現在の強そうなモデル間の総当たり戦

そして総当たり戦をやってみた結果が以下のとおりです。

S40はshogi686に1-0-1と善戦しましたが、

Try30は全敗してしまいました。そして、負け方がなんとも接待将棋で負けるようにわざと打っているようです。

yowaiTry.jpg

使ったパラメータはepoch28です。それ以外のあらたに学習したものを使ってみましたが、やはり接待将棋レベル。


(3)そして、VGGLikeとS40と対戦してみた

前回の結果はこれほど悪くなかった(Networkモデルはミスのままだった)ということで、それではということで昨夜のデータのepoch11を使って、一応強そうな両者と対戦した結果、VGGlikeとの対戦で引き分け。

TuyoiTry.jpg

そして、一番強いはずのResnetS40とは、7-0-3で勝利しました。

TuyoiTryvsS40.jpg

つまり、今一番強いのはTryなのかVGGLikeなのか。

以前以下の結果があるので、この三者はほぼ互角なんでしょう。

VGGvsS40.jpg


(4)棋譜解析をしてみると。。

このResnetS40 vs.Tryの最後の対戦の棋譜解析をしてみました。

KaisekiTryvsS40.jpg

これを見ると黒番33手の疑問手まで、前半戦はAperyの予測とかなり一致しています。

KaisekiTryvsS402.jpg

そして、33-黒番51手の一連の悪手がどうも勝敗に決定的だったようです。

KaisekTryvsS403.jpg

終盤にも双方悪手があって、黒が投了しています。

ということで、上記のとおり、学習すればするほど賢くなるというのは神話で、この場合もたぶん過学習に陥っているのだと思います。

※Testデータのスコアが上がっていることから、単純な過学習とは言えず、ここはきちんと確認すべき大きな課題です


まとめ

・Tryのコードを修正して追加学習した

・追加学習したパラメータは一致率等は改善したように見えるが、強くならなかった

・最初に学習したパラメータで強い将棋AIになった

・Gikou探索深さ1には勝てるようになった。そしてResnetS40が初めてshogi686に勝利した

・なんとかしてこの過学習と思われる現象を理解したい