評価関数 - 強化学習とは?

強化学習はAIの学習方法の一つで簡単に書くなら「学習中に起きたイベント(良い事・悪いこと)を未来の行動に反映させる」...ということです。

これは子供が将棋を覚えるプロセスとほぼ同じですね。すなわち...

①まず何でも目に付く手を指してみる

②そして...

結果が良ければ ⇒ (以前より高い確率で)後の対局にも試してみる
結果が悪ければ ⇒ その手は指さない...少なくとも後の対局に使用する確率は低くなる

③最初に戻る

...と、こんな感じでしょうか。そして以上の手順を繰り返すことにより「将棋を学習」することができます。

我の読んだ論文の学習方法は...

評価関数を初期状態でスタートし、

①評価関数により手を選択して対局

②そして...

勝ったら ⇒ 以前より対局中に選択した手の評価を少し上げる
負けたら ⇒ 以前より対局中に選択した手の評価を少し下げる

③最初に戻って繰り返し

...と、これを何千・何万回繰り返すと良さげな手には徐々に評価が上がり、そうでない手の評価は落ちてゆきます。「選択した手の評価を少し上げる・下げる」はパラメターの値を変動して行います。

この学習方法の利点は

「マシンが自分で学習してくれるので(一度構築してしまえば)人間の手間はいりません」

に尽きますね。但し、

「学習には時間がべラボーに掛かり、いくら時間を掛けても評価関数の質が向上しない」可能性があります。

投稿者: 紫外線 投稿日時: 火, 12/29/2009 - 22:11 categories [ ]

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。

+20点

評価関数の基本中の基本は無論、駒割りです。残念ながらそれから一歩先は(現在の所)底なしの暗黒となっております。

そして「xxxがあれば◎◎点」という考えは異論の余地が無いほど正しいのですが、「◎◎点」が適正な数値であるかは(現在の所)誰も解らない...といった状態ですね。

ふむむ~

なるほど・・・しかし、面倒なりねえ。
駒の存在場所での評価というのもありですか?
例えば、29に自分の金がいれば+20点とか。

はっきり

「はっきり」...これは我の裁量次第ですが、現在の計画としては...

最初は正真正銘の「無知」状態から開始するので当初のゴールは「あからさまな駒損をしない、駒の価値を学習する」ですね。例えば「50手以下で金一枚枚以上の駒損なら打ち止め」といった感じですね。然る後に制限を徐々に緩めていきます...そして、最終的には外します。

これは将棋を覚えたての子供が駒損をすると(特に大駒を落とすと)即投了...の真似になります。

あとは...詰め太郎君が稼動させて詰め手順が発見された時点でも打ち止めです。

我としては評価関数の受け持ちは「定跡以降、詰め太郎以前」と限定して出来る限り学習の領域を絞ることにあります。

”はっきり”とは

どの程度のことを言うんでしょうか?
点数だと何点くらいのプラス?

将棋世界2月号に丁度ボナンザの評価関数の話が出てますが「あんなんで、何で正しい手が選択出来るの?」ですなあ。

評価関数 - 強化学習とは?②

>「学習には時間がべラボーに掛かり、いくら時間を掛けても評価関数の質が向上しない」可能性があります。

...この効率の悪さを補うため我は上記のステップを少々変えることにします。

評価関数を初期状態でスタートし、

①序盤は定跡ライブラリーにお任せ。定跡から離れた時点で、「評価関数により手を選択して対局」を開始。

現代の将棋は定跡をなぞり終えた時点からが実質の開始点です。よって定跡ライブラリーの守備範囲はスキップします。「初手に端歩を突くのは筋悪し」なんぞ学習しても意味薄しです。

②そして...

形勢がはっきり優勢になったら中断 ⇒ 以前より対局中に選択した手の評価を少し上げる
形勢がはっきり悪くなったら中断 ⇒ 以前より対局中に選択した手の評価を少し下げる

論文での対局は「実験」ですから全局を最後まで指させますが、「学習」としては効率が主となります。そのためには形勢が十分傾いた時点でこれ以上学ぶことは少ないと判断して対局を中断、そして学習。これで対局数を稼ぎます。

③最初に戻って繰り返し

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。