一度視点を変えてみようと思って
- 作者: 石井健一郎,前田英作,上田修功,村瀬洋
- 出版社/メーカー: オーム社
- 発売日: 1998/08/01
- メディア: 単行本
- 購入: 19人 クリック: 110回
- この商品を含むブログ (42件) を見る
↑買ってみました。前から気になってなんですが、どうも最近行き詰まり気味なので、他分野に触れてみようと思いまして。
でも、何か数式ばっかりでイメージと違う。特徴量の抽出方法とかが詳しく載ってるのを期待してたんですけどねぇ。
序盤だけ学習すると囲う現象
「囲う」と言うか、単に王将周辺に駒を集めるだけなんですが、ようやく再現しました。
今まで再現出来なかったのは単純な理由で、前は方策勾配の計算にバグがあるバージョンでこの現象が起きてて、バグを潰すと起きなくなってたみたいです。
ちなみに設定はこんな感じ。
21:12:31 @ core::evl::ProgressCriteriaCalculator::ProgressCriteriaCalculator() > 進行度オンライン学習 : 無効 21:12:31 @ core::evl::ProgressCriteriaCalculator::ProgressCriteriaCalculator() > 自玉周辺の駒 : 有効(上位10個) 21:12:31 @ core::evl::ProgressCriteriaCalculator::ProgressCriteriaCalculator() > 敵の成り駒 : 有効 21:12:31 @ core::evl::ProgressCriteriaCalculator::ProgressCriteriaCalculator() > 敵の持ち駒 : 有効 21:12:31 @ core::evl::ProgressCriteriaCalculator::ProgressCriteriaCalculator() > 自玉周辺の利き : 有効(範囲:3) 21:12:31 @ core::evl::ProgressCriteriaCalculator::ProgressCriteriaCalculator() > 学習率 : 0.0001 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 学習率==1e-005 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 駒割 : 有効(差分計算) 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 筋・段個別の絶対位置 : 有効(差分計算) 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 駒の絶対位置 : 有効(差分計算) 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 二駒の相対位置関係 : 有効(差分計算) 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 飛び利きを遮る駒 : 無効 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 駒の自由度 : 有効 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 王将の移動可能範囲 : 有効(距離5まで) 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 歩のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 香のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 桂のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 銀のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 金のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 角のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 飛のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 王のベースはありません。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > とのベースは金です。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 杏のベースは金です。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 圭のベースは金です。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 全のベースは金です。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 馬のベースは角です。 21:12:31 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 龍のベースは飛です。 21:12:31 @ core::evl::LinearEvaluator3::initParameters() > maxIndex==64517 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > Reading file... 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > コメント>date==2011/09/21 20:16:05 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > コメント>自玉周辺の駒 上位10個 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > コメント>敵の成り駒 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > コメント>敵の持ち駒 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > コメント>自玉周辺の利き 範囲3 21:12:31 @ core::evl::ProgressCriteriaCalculator::InputProcessor::InputProcessor() > Done. 21:12:31 @ core::evl::LinearEvaluator3::inputFromFile() > Can't open file "null" 21:12:31 @ wmain() > 評価関数のパラメータ数==32259 21:12:31 @ core::search::TranspositionTable::TranspositionTable() > sizeof(ENTRY)==24 21:12:31 @ core::search::TranspositionTable ::TranspositionTable() > Called, sizeof(*this)==12MB 21:12:31 @ core::search::QuiescenceSearcher2::QuiescenceSearcher2() > 探索深さ==4 21:12:31 @ core::search::TranspositionTable ::TranspositionTable() > sizeof(ENTRY)==32 21:12:31 @ core::search::TranspositionTable ::TranspositionTable() > Called, sizeof(*this)==16MB 21:12:31 @ lib::util::MyMtRandom::MyMtRandom() > seed==1 21:12:31 @ core::search::AlphaBetaSearcher2::AlphaBetaSearcher2() > グローバル詰みテーブル:無効 21:12:31 @ core::search::AlphaBetaSearcher2::setRepetitionOfMovesScore() > called score==-900.000000 21:12:31 @ core::rl::SoftMaxPolicy::SoftMaxPolicy() > 目標探査率==0.200000 21:12:31 @ core::rl::SoftMaxPolicy::SoftMaxPolicy() > 初期温度==0.020000 21:12:31 @ core::rl::SoftMaxPolicy::SoftMaxPolicy() > ランダムオープニング長==2 21:12:31 @ core::rl::SoftMaxPolicy::SoftMaxPolicy() > 探索深さ==0 21:12:31 @ core::rl::PolicyGradientAgent::PolicyGradientAgent() > 割引率γ==1 21:12:31 @ core::rl::PolicyGradientAgent::PolicyGradientAgent() > サンプリング間隔==1 21:12:31 @ core::rl::PolicyGradientAgent::PolicyGradientAgent() > 最小分散ベースライン==無効 21:12:31 @ core::rl::PolicyGradientAgent::PolicyGradientAgent() > 温度学習==無効
自己対戦での学習後はこんな感じの終局図になります。
21:15:19 @ core::rl::GameAggregator::aggregate() > 90局終了 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | | | | |v銀| | | |v王| 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | | | | |v金|v銀|v飛| |v香| 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > |^杏| | | | | |v歩|v歩|v歩| 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | | | | | |^歩| | | | 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | | | | | | | | | | 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | | | | | |^と| | | | 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | |^歩|^歩|^歩|^歩|^金|^歩|^歩|^歩| 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > | |^角|^金|^銀|^香|^金|^銀|^飛|^香| 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > |^歩|^桂|^角| |^桂|^桂|^王|^桂| | 21:15:19 @ core::rl::GameAggregator::aggregate() > +---+---+---+---+---+---+---+---+---+ 21:15:19 @ core::rl::GameAggregator::aggregate() > 歩,香,桂,銀,金,角,飛 21:15:19 @ core::rl::GameAggregator::aggregate() > 5, 0, 0, 0, 0, 0, 0, 21:15:19 @ core::rl::GameAggregator::aggregate() > 0, 0, 0, 0, 0, 0, 0, 21:15:19 @ core::rl::GameAggregator::aggregate() > 手番:先手 21:15:19 @ core::rl::GameAggregator::aggregate() > 手数:1024 21:15:19 @ core::rl::GameAggregator::aggregate() > 経過時間 : 2m48sec