生成している学習データの質が悪い可能性がある。2(深さ8)と1手0.25秒で500局対局を行った結果1Mステップ時点でR2600前後という結果は前回得られた結果とほぼ同等である。今まで実験していた結果からしても、試行による最終的な棋力のバラつきはあまりないように感じられる。これはScience版AlphaZero論文でも似たようなことが主張されている。ここから本題として、上記の学習を行う際に、生成した対局を500局に1局の間隔で保存した。学習データの質を確認するため、保存された棋譜4611局について簡単な分析を行った。14全対局詰みまで指しているにも関わらず平均手数は短い。512手に到達した場合は引き分けとしているのだがそこまで到達する対局が存在していない点も気にかかる。千日手による引き分けは実装していない(ノイズによって同一局面でも指し手がバラつくと考えている)のだが、ここまで長手数にならないものか。気になる14手で終わった対局は次のようなものであった。他にも30手以内で終わっているものを何局か見たところ、どうも上と同じように▲6八玉▲7七角▲7八銀の形で△7七角成と取られた場合に▲7九玉と逃げて頓死するパターンがあるようだった。-0.977となった。▲5八玉と▲7九玉を合わせた1.2%の確率でまともな将棋にならないと考えるとなかなかなものである。ディリクレノイズがない状態でこれなので実際はもう少し高い確率でダメになっていてもおかしくはない。他の状況での角交換に対しては角を取り返す手で100%占められる場合が多かったが、場合によっては角を取り返さない手にも探索が割り当てられる場合もあった。検討欄左から2列目がニューラルネットの出力方策、3列目が探索結果の方策。▲6九玉に0.1%の確率が生じているこれは右辺の形が多少異なっていても同様であった。興味深い点としては▲6八銀と上がっている場合には▲同銀が100%となるようだった。王手であるかどうかによって合法手の数が大きく変わることが影響しているのかもしれない。感覚的には合法手が少ないほうが学習しやすいのではないかと思われるのだが、合法手が少ないと悪手も探索され教師分布にずっと確率が残ってしまうのだろうか。原因はともかく、あまりにも行動価値が低い手は選択しない方が良いと考えられる。そのような方法としては最良の行動価値より一定以上価値が低い行動の選択確率を0にする行動選択に利用する分布を行動価値にソフトマックス関数を適用したものにするなどが考えられる。「方策=行動価値にソフトマックス関数をかけたもの」とすることは、たとえば芝浦将棋Softmaxが行っている。行動価値ではなくアドバンテージ(状態価値と行動価値の差分)についてはよくわかってはいないが理論的などうのこうのがあるらしい。Curve上の結果から悪手が混じっている割合が多く、評価値と最終的な勝率が乖離してしまっているのではないかと考えた。curve(各評価値における先手から見た最終的な勝率)を描画してみることにした。1000]で出力しており、それを50ごとに40区間へ分割して各区間での最終的な勝率を集計した結果が次のようになる。状態価値(つまり収益の期待値であり、適切に線形変換すれば勝率になる)として学習をしているため線形のようになることは正常であり、特に変ではないと思われる。統計的には評価値通りの勝率になっているが、評価値がなだらかに推移していない可能性があると考えた。1手先の評価値との差分の絶対値について50間隔で分類して出現割合をプロットした。グラフの推移からすると750から1000あたりの割合がやや多めに思える。先に挙げた頓死のように0付近から-1000付近へ遷移する悪手が多いのかもしれない。比較対象がないのでこれがまずい数なのかがよくわからないが、雑に読み取ると0.1%ほどの確率で1000点以上の変動が起きると考えられる。1000手に1手、つまり13局に1回ほどの割合で大悪手が発生しているとなると多いようにも感じられる。趣向を変えて指し手の傾向についての推移を調べた。4611局を学習の進行に応じて40段階(各115局)に分けてそれぞれで初手の割合をプロットしたものが次となる。早い段階で▲2六歩や▲7八金などが多くなっており、居飛車っぽい将棋をすぐ学習しているのではないかと思われる。一方で全体的にどれか一つに指し手が偏っているように見える。小さすぎるということなのだろうか。根拠のない勘としては、もう少しなだらかに指し手の割合が変化していった方が良いのではないかと感じられる。リプレイバッファが小さすぎて同じようなデータばかり学習している可能性もあるかもしれない。他にも行った方が面白そうな解析案があれば教えていただけると気分次第でやったりやらなかったりします。Policyの教師信号を探索回数の正規化した分布とした方が性...2019-04-28方策とディリクレノイズの比率を変更した学習Miacisではメモリの関係上、指し手の教師信号として実際に指さ...2019-04-10小さいバッチサイズに対する学習率設定Miacisではバッチサイズ64で学習を行っている。月別アーカイブはてなブログをはじめよう!tokuminiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。