2020-05-01から1ヶ月間の記事一覧

【コンピュータオセロ7】優先度付き経験再生の検証

要約 優先度付き経験再生はオフにした方が良さそう。 背景 比較実験でAlphaZeroの学習が妙に弱いことがわかった。 原因として優先度付き経験再生が悪さをしている可能性が考えられた。優先度付き経験再生は1年前の検証で結果が良かったので採用したのだが、…

【コンピュータオセロ6】2つネットワークを使った強化学習

要約 2つネットワークを用いて対局させても学習時間が長くなるばかりで学習高速化とか性能向上といった改善は見られなかった。 背景 個人的に、今まで手元で行ったAlphaZero学習ほぼ全てについて、最終的に得られるモデルが 対抗形に弱い 穴熊の評価がおかし…

【コンピュータオセロ5】比較実験

前回、余計な探索の工夫を入れようとしなければカテゴリカルモデルがやや性能向上に寄与していそうだという結果が得られた。今回はより詳細に実験を行い、差がありそうかどうかを検証した。 実験 次の3手法についてAlphaZeroと同様の強化学習を実行して、Eda…

【コンピュータオセロ4】期待値をもちいた探索

要約 オセロに関しては分布の形状を利用した探索ではなく分布から期待値を出して通常のMCTSを行う方が性能が高い。 背景 前回など、カテゴリカルモデルがスカラーモデルよりも性能が悪い問題について、以下のような指摘をもらった。 一つの仮説としては、ラ…

教師あり学習での実験いろいろ

要約 cosine annealing : 学習率一定よりは良さそうだが、適切なタイミングで1/10する場合よりも良いかというと微妙そう。しかし適切なタイミングを調べるのも大変なので、その手間を省くという意味では有用か dropout : Value損失は改善するがPolicy損失は…

【コンピュータオセロ3】Valueの損失を定数倍することの効果

要約 オセロにおける強化学習で、損失関数のValue側のみ2倍,4倍とすることでは性能は上がらなかった。 背景 数日前に読んだ論文で、AlphaZero形式の学習について計算量の増加を抑えつつハイパーパラメータを上手く探索する手法が提案されていた。 この手法に…

置換表に保持する指し手の削減

Miacisでは一つの局面に対応する置換表エントリが持つ変数として、以下のようなものを保持している。(hash_table.hppから一部抜粋し見やすく改変) struct HashEntry { int32_t sum_N; //探索回数の合計 int32_t virtual_sum_N; //バーチャルロスの合計 //以…

【コンピュータオセロ2】カテゴリカル分布の有効性

Miacisで用いている手法の主張点は「評価値出力をスカラーではなく、各値になる確率を示すカテゴリカル分布にすることで性能が上がり、探索にも有効活用できる」というところにある。簡単な説明はWCSC30アピール文書を参照。 そもそも着想の元ネタの一つであ…