TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

【dlshogi】ラージカーネルの効果 その3(位置情報)

前回、Ryfamateと同様の9x1と1x9カーネルを並列にしたブロックが、精度と推論速度の両方でメリットがあることを実験で確認した。

【dlshogi】ラージカーネルの効果 - TadaoYamaokaの開発日記
【dlshogi】ラージカーネルの効果 その2(推論速度) - TadaoYamaokaの開発日記

9x1と1x9カーネルは、出力がそれぞれ、1x9と9x1になり、それらをブロードキャストして9x9に戻している。
そのため、位置の情報がある程度失われていると考える。

そこで、位置の情報を保持するために、1x1のカーネルを加えて、9x1と1x9と1x1のカーネルを並列にしたブロックで精度が向上するか検証してみた。

モデル構成

1x1カーネルを加えたブロックの構成は以下の通り。

比較条件

ResNet 20ブロック、256フィルタを基本モデルとして、
1. 5ブロック間隔で、Ryfamateと同様の9x1と1x9カーネルを並列にしたブロック
2. 5ブロック間隔で、9x1と1x9と1x1カーネルを並列にしたブロック
で比較した。

訓練と評価の条件は、前回までと同じである。

精度

方策と価値の評価損失、評価正解率は以下の通り。



1x1のカーネルを加えたモデルがいずれも精度が向上している。

推論速度

floodgateからサンプリングした100局面で4回測定した平均NPSをすべての局面で平均したNPSは以下の通り。

ResNetを基準として、Ryfamateと同様のモデルは104.2%、1x1カーネルを加えたモデルは99.4%となった。

1x1カーネルを加えたモデルは、標準のResNetより0.6%NPSが低下しており、精度は向上しているがNPSがわずかに低下している。

考察

1x1カーネルを加えることで、精度が向上することが確認できた。
これが、位置情報が保持されたためか、単にパラメータ数が増えたためかは、さらに実験してみないとわからない。

Ryfamateと同様のブロックは、数を増やすと精度が下がる傾向を確認しており、1x1カーネルを加えることで精度が上がるのであれば、位置情報が失われているという証拠になりそうである。
追加で実験を行ってみたい。

また、1x1カーネルを加えることで推論速度は低下することが確認できた。
元のResNetからの速度低下はわずかなため、このブロックを使用することのデメリットはなさそうである。

Ryfamateと同様のブロックと比較した場合は、精度と速度のバランスがどちらがよいかは強さを計測してみる必要がある。

まとめ

Ryfamateと同様のブロックは位置情報をある程度失っている可能性があるため、1x1カーネルを加えることで位置情報を保持するようにした。
結果、精度が向上することが確認できたが、NPSは元のResNet標準と同じくらいまでに低下した。
精度と速度のバランスを考慮した場合にどちらがよいかは強さを計測してみる必要がある。