進捗報告 その2

前回の、コンピュータ大貧民挑戦の続き。
進捗報告 その1 - koganie’s blog

前回、特徴要素を増やし、kou2相手に学習したところ、
対デフォルトでようやく勝ち越すことができました。
学習の仕方を変えてみたらもっと強くなるでしょうか?

学習率0.00005で10000試合分学習して、10000試合対デフォルトで対戦した結果
31151 29734 29515 29740 29860(得点。一番左が学習クライアント、それ以外はデフォルト)
で、デフォルトよりは若干強くなっているようです。
では、このまま40000試合分学習させてみましょう…の結果がこちら。
31013 29665 29806 29703 29813
見事に弱くなっています。
学習の際に、学習率に対し0.999を毎回かけて減衰させていった結果がこちら。
31169 29843 29432 29975 29581
f:id:koganie:20170430235703p:plain

続いて学習率を1/10して同じようにした結果。
32772 29519 29182 28990 29537
さっきより強くなっている!
では学習データを増やせば…!
31671 29645 29672 29268 29744
弱くなっている!なんでだ!
上では減衰させたが、こちらでは論文にもあるL2正則化を試してみる。

L2正則化というのは、誤差関数に
R(w)=\lambda ||w||^2_2
を足したもの(\lambda正則化項の学習係数)。
||w||_p=\sqrt[p]{|w_1|^p+...+|w_n|^p}
をp-ノルムというようで、
ノルム - Wikipedia
すなわち
\frac{\partial \lambda R(w)}{\partial w}=2\lambda w
正則化 - Wikipedia
を、勾配に足していくというもの。(たぶん)

で、学習した結果がこちら。
31722 29152 29818 29986 29322
あってもなくても、大して効果はないようだ…。

f:id:koganie:20170501000623p:plain

どちらにせよ、テストデータに大して誤差、一致率とも向上はしているので
過学習」をしているとは言いづらい。
実際、一致率は若干ではあるが、データ数多いほうが大きな数値をとっている。
が、現実問題としてデータ数を増やすと弱くなってしまうというのは、
過度に学習をしてしまっている、ということなのだろうか?

理想とすれば、もう少し緩やかな傾斜を描いて、
一致率を向上させていく、というのがよさそうな感じはある。
もう少し学習率の微調整を試すべきであろうか。

なんだかやる気がおきない。
もっとこう、劇的な変化してほしいが。果たして。