「浅い評価値を深い評価値に近づける学習法」の件

ボンクラーズの伊藤さんの記事が非常に興味深いです。


「浅い評価値を深い評価値に近づける学習法」誕生の背景
http://aleag.cocolog-nifty.com/blog/2016/10/post-00f4.html

NDFのこの学習手法は、伊藤さんの発言がきっかけで誕生したということのようです。

まあ、この学習手法自体はTD-leafとかRootStrapとか呼ばれている手法で(亜種多数)、Seleneやひまわり、GA将なども、比較的昔から取り組んでいたと思います。私もTD-leaf自体は早い段階で知っていましたが、これが将棋でうまくいくアイデアだとは思わなかったというのもあります。

あと、当時のPC環境や、学習手法では、学習に非常に時間がかかるので、おいそれと試せなかったという背景もあります。

いずれにしましても、最初に試した人して成功させた人は偉いと思いますし、「成功するかどうかわからないアイデアを試す人」と、「他の人が成功したと聞いてからそれを実装する人」とでは天と地ほどの差があるのも事実です。

なので、伊藤さんの本当の功績は、この手法を思いついたことではなく(思いっきり既存の手法なので…)、この海の物とも山の物ともつかないアイデアを「成功する」「絶対、成功する」と催眠術をかけるようにして、NDFの金澤さんに信じこませたところにあるのではないでしょうか。(私の勝手な想像です。あしからず。)

ともかく、NDFが大きな成果を挙げ、ponanzaがそれを改良し、その手法をAperyが取り入れ、やねうら王が広めた(やねうら王はその実装を公開した)という一連の流れによって将棋ソフト全体が大きく前進したことには違いなく、BonanzaMethodに匹敵するブレイクスルーだとは思います。


「浅い評価値を深い評価値に近づける学習法」の件” への13件のコメント

  1. 雑巾絞りメソッドのことかな?

    uuunuuunさんとこを参照すると、
    Apery WCSC25 = R3156
    Apery WCSC26 = R3286
    1年でR+130

    (SM+新評価0930)-(SM+WCSC26)
    5ヶ月でR+234

    評価関数だけでこんなに進歩したのは驚愕ですよね。

    やねうらチルドレンのQhapaqさんが、
    「エクスカリバーが最初の町で売られているけどめっちゃ高いし装備できる人は限られてる」「札束ビンタ、エクスカリバー素振り合戦」とか表現していたのがツボでした。

  2. 昔NDFのアピール文書を読んだ時、間違った値に収束するのではないか、この方法うまくいくの?と思っていました。
    やねさんの、駒得だけの評価関数でもそこそこの強さになる実験結果が公開されました。
    その後は駒得の効果は”将棋では” 大きいという性質があるので、評価関数が理想的な値でなくても深く読めれば正しい結果が得られる、と思う様になりました。
    チェスでは、このようなチューニングは行われていないのでしょうか。(チェスでも王得を目指すという意味で適用できそうです。)

  3. 現在DeepMind社にいるJoel Venessさんらが2009年に出したチェスの論文があり、
    http://www0.cs.ucl.ac.uk/staff/d.silver/web/Applications_files/bootstrapping.pdf
    TD-leafやRootStrapよりもTreeStrapが最も効果があった事が書かれています。
    TreeStrapは探索木で捨てている他の読み筋も評価値の更新に使うみたいなので、金澤さんのNDFの手法はTreeStrapに近いんじゃないかと思います。

    • NDFの手法に関しては詳しくは知らないのですが、言われてみればそうかも。また、TreeStrapとRootStrapとの比較ですが、TreeStrapのほうが(同じイテレーション回数を回すならば)効果は高いと思うのですが、学習時の時間が非常にかかるので教師局面だけ生成して色んな条件で学習を試す、みたいなことが出来なくて、結局は損かなぁと思っています。(TreeStrapにしないと収束の精度がよろしくないというような問題はあるのかも知れませんけど、いまの私にはよくわかりません。)

      • 評価関数は本質的には絶対値には意味がなく、相対値に意味があるため、TreeStrap の方が優位性が高いのではないかと。

        • それは一理あるのですが、depth6を教師にしてる現状、それより浅いdepthのものを部分的にでも教師とするのは教師の質に問題が出てくるので、TreeStrapより80億局面でRootStrapにしたほうが良いという理屈もあったり。

  4. 昔のコンピューター将棋は入玉になると滅茶苦茶な手を指していたのに、なぜ深く探索した結果に近づけるだけで正しい値に収束するのか未だに理解できていない

    • 将棋が深くまで読むほど神の指し手に近づくゲームだとして[要出典]、その深くまで読んだときと同じ評価値が、浅い探索(短い思考時間)で得られるならずいぶん得ですよね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です