じじぃの「モンテカルロ法と評価関数・GoogleのAlphaGoとは!人工知能の強み」

【アルファ碁 進化版】見てるだけで強くなれるMasterの碁【棋譜並べ】 動画 YouTube
https://www.youtube.com/watch?v=QMFh-uRi6Nw
 AlphaGo

  探索木

驚異のスピードで人間を超えていく人工知能の「思考」とは? (小野田 博一) 2017.01.27 講談社
本書は、(AIが上達していく歴史を、わが子が成長していく様を愛情をもって見守るように眺めることを時にしながら)AIが対局中に何を「考え」ているかを、AIやプログラミングのことをまったく知らない人にわかりやすく説明する本です(もちろん、プログラミングの入門書ではありません)。中学生でも理解できる基本的な内容だけを平易に紹介する本です(ごくまれに逸脱はありますが)。
http://gendai.ismedia.jp/articles/-/50780?page=2
人工知能「Alpha碁」の勝利が将棋やチェスのときと全く意味が違う理由 2017/02/02
Alpha碁に話を戻すと、まず、モンテカルロ木探索とは2008年に9路盤でプロの棋士に勝利した画期的なアルゴリズムです。
機械らしい計算力に物を言わせるモンテカルロ木探索と、人間の脳構造に近い形で機械学習をさせるディープラーニングの組み合わせがAlpha碁という人工知能。そりゃ強いよ、という話です。
https://www.sharoushi-nagoya-hk.com/archives/2976
人工知能はいかにして強くなるのか? 対戦型AIで学ぶ基本のしくみ』 小野田博一/著 ブルーバックス 2017年発行
囲碁で人類を超える (一部抜粋しています)
AlphaGoのプログラムの大きな特色は2つあります。
まず1つ目は――
AlphaGo(の開発チーム)は、回帰分析を行って評価関数をつくりました。これは、任意の局面におけるコンピューターの勝つ確率(の予測値)を産出するものです。そして、AlphaGoは対局中に、探索木の末端ノードにおいて「モンテカルロ法によって計算した勝率」と「評価関数によって計算した勝率」の平均値を、末端ノードの評価値としています。
たとえば、ある末端ノードの局面が図のようだったとします。(画像未添付)
この局面での、評価関数による値(勝つ確率の予想値)が60%で、一方、この図のあと、モンテカルロ法で何度もプレイアウトした結果(の勝率)が70%であるなら、結局、「この局面に(現局面から何手か後に)たどり着いた場合、コンピューターが勝つ確率は65%」ということです。
ところで、雑誌では、「AlphaGoは自分自身との対局を繰り返すことで試行錯誤しながら自ら学習して……」というようなことが書かれていることが多かったですね。これはまったく誤解(「学習」の意味の誤解)に基づく記述――あるいは読者に誤解を与えてしまう記述――です。
実際は、AlphaGo同市の対局をたくさん行ない、その棋譜データを解析して、結果予測プログラムをより正確なものにしたのです。
     ・
2つ目――
これがAlphaGoの最大の特色なのですが――それは、「この局面で人間はどこに打つか」を予測するプログラムを持っている点です。これは、次の1手として打つ確率がもっとも高い場所(とその確率)、確率が2番目に高い場所(とその確率)、確率が3番目……等々の予測をするプログラムです。
     ・
AlphaGoは、さらに、このプログラムの高速計算版も持っています。こちらは、予測の正確さは当然ながら落ちるのですが、予測計算にかかる時間は上記の通常版(と本書ではよんでおきます)の1 / 1000ほどのようです。
AlphaGoはは、この予測・模倣の通常版を探索木作成に使っています。つまり、各ノードで、人間の手としてありそうな手に限定して枝(自分自身の着手も対戦相手の着手も)あれこれ作るのです。
探索木の作成方法は、反復深化法に似ていて、枝刈りをしながら、層を深くしていきます。
そして末端ノードでモンテカルロ法と評価関数を使うわけですが、モンテカルロ法では、「完全にランダムにプレイアウトする」のではなく、上記の予測・模倣の高速計算版を使います(発生させた乱数に応じて、何番目の予想を使うかが決まるのですね)。どうですか、大ざっぱなアルゴリズムを聞いただけで、「これなら強いのは当然だな」と思うでしょう? たぶん、この方法なら、人間の名人の4子局(人が初手で4手連続で打つ対局)でも軽々と勝てる」プログラムを作れるでしょうね。

                        • -

どうでもいい、じじぃの日記。
人工知能はいかにして強くなるのか? 対戦型AIで学ぶ基本のしくみ』という本を見ていたら、「モンテカルロ法」と「評価関数」という用語が出てきた。
まあ、統計学を使うということでしようか。
統計を使ってあらゆるパターンを調べ上げられたら、かないませんよね。