タグ

ブックマーク / tadaoyamaoka.hatenablog.com (2)

  • AlphaGo Zeroの論文を読む その4(自己対局) - TadaoYamaokaの開発日記

    その3の続き 自己対局パイプライン 自己対局パイプラインは、3つの主要な部分から構成される。 最適化 評価 自己対局 これらは並行で実行される。 最適化 ミニバッチサイズ:2,048 (32バッチずつ別々のGPUで実行) ミニバッチデータは直近50万の自己対局のすべての局面からランダムでサンプリング モーメントありのSGDで最適化(モメンタムパラメータ=0.9) 学習率は以下の通り徐々に下げる 1000ステップ 学習率 0-400 400-600 >600 損失関数には、policyの交差エントロピーとvalueの平均二乗誤差の和を使用 policyの交差エントロピーとvalueの平均二乗誤差は等しく重み付けする L2正則化を行う(c=) 損失関数を式にすると以下の通り zは勝敗(-1,1)、vはvalue、はモンテカルロ木探索で求めた局面の遷移確率、はpolicyの遷移確率、はネットワー

  • 将棋でディープラーニングする その23(バリューネットワークの実装) - TadaoYamaokaの開発日記

    前々回の日記に書いたバリューネットワークの実装を行った。 elmoで生成した教師データのフォーマットで教師データを読み込むようにした。 前々回の日記で書いたAlphaGoの手法を参考にして、ネットワーク構成は、SL policy networkの出力層に全結合層を繋げてtanhで勝率を表すスカラー値を出力するようにした。 AlphaGoの論文では入力に手番の色の加えているが、とりあえずSL policy networkと同じにした。 教師データは勝敗データ(-1, 1)、損失関数は平均2乗誤差とした。 教師データ elmo_for_learnで100万局面を生成した。 (elmoの教師データの生成については以前の日記を参照) 学習結果 ミニバッチサイズを32として、SGDで1エポック学習させた結果は以下の通り。 1エポック後のテストデータ1万局面のtest lossは、0.90588825

    将棋でディープラーニングする その23(バリューネットワークの実装) - TadaoYamaokaの開発日記
  • 1