探索・推論
PK そもそも、人口知能って何?
U3 俗に言われるAIとは、僕の脳に当たる部分のことだよ。僕たちの脳を活性化するために、僕たちはロボット学校でいろいろな訓練をうけたよ
HK どんな訓練を受けるの?
U3 プランニングといって、僕たちが学校卒業後にこれから直面していくだろう事態<前提条件>、それに対して僕たちが取るべき<行動>そして、そこから予測される<結果>をひたすら叩き込まれるんだ。まさにスパルタさ。
PK へー。大変だったろうね。
U3 もう大変だったよ。しかも僕は勉強ができないから成績はいつも最下位。
でもまあそれでも(オセロ・チェス・将棋・囲碁)では人間には負けないし、もちろん君らにも負けないけどね。
HK すごーい! U3達は、学校でどうやって(オセロ・チェス・将棋・囲碁)などの勉強をしたの?
U3 探索木をひたすら丸覚えだよ。あーあ、大変だったよ。
当時、囲碁コンテストというのがあったんだ。人間で一番囲碁の強い棋士に勝ったロボットには、名誉と賞金が与えられるというシステムがあって、僕らロボットはこぞってそのために勉強したんだ。そこで見事人間に勝利したやつが、A3だ!のちにあいつは調子にのって自分にAlpha Goという芸名をつけあがった。こんちくしょー。調子にのりやがって。
HK へー笑。どうやって勉強したの?
U3 まずは戦略を立てるんだ。Mini-Max法といってね。この探索木の各ノードがその時点でのゲーム盤の状態だとすると、自分の番のノードでスコアが最大化するように手配するんだ。
そして、自分に不利になってしまう状況をカットして、なるべく回避するようにするんだ。そうすると、結果的に勝つ選択肢しか残されなくなるというわけさ。
このカットには二種類あって、最大のスコアを選択する過程で、スコアが小さいノードが出現したら、それ以下をカットしてしまうBカットと、その逆(スコアが最小のものを選択する過程で、今までよりも大きいノードが現れたらカットするAカットがあるよ。
HK でも囲碁をする中で必要なノード数って、膨大なんじゃないの?
U3そうなんだよ。特にゲームの序盤っていうのは、可能性があまりにもありすぎて、AIですら万全に備えることが難しいんだ。
しかし、初期の僕らは人間に勝つには、以下の二点を抑えておかなければならない
1、探索する組み合わせの数だけ把握できない
2、ゲーム盤のスコア(コスト評価)が正確にできていなかった
というのも、かつてはこのコスト評価を、人間が決めていたんだ。
そこで、モンテカルロ法を使って、Robotにこのコスト評価を決めさせることにしたんだ。方法は、二体のロボットがテキト~にゲームをやってそのデータを蓄積。これをぷレイアウトと呼んだんだ。このプレイアウトを何回も実行するt、一番勝ちやすいパターンがわかってくるというわけさ。
HK ふむふむ
U3 これぞ、数うちゃ当たる方式さ!
でもやがてこの方法にも限界がきた。あくまでもこれはブルートフォース(力任せ)で押し切る方法なので、探索しなければならない組み合わせの数が増えると、たちいかなくなったんだ。
HK あらま
U3 そこで登場したのが、ディープラーニングの技術というわけさ。
HK ディープラーニングは、それまでのやり方と比べて、何がよかったの?
U3 ディープラーニングでは、「特徴量」に着目したんだ。特徴量とは、注目すべきデータの特徴のことさ。この「特徴量」を以前は人間んが決めていた。これをAIにやらせたことにより、人間には見えていなかった相関関係を、過去の棋譜というビックデータから見つけ出したのさ。