まったりAI勉強記

AI(人工知能)について、特にゆかりがあるわけでもない社会人が、まったりとAIについて勉強していく勉強日記です。

【G検定】人工知能をめぐる動向 - 探索・推論

どうも、カタミチです。

さて「ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版」(以降、『当書』)を使ったG検定の勉強に戻ってきました。今日は、第2章に進んでいきたいと思います。

第2章は、「人工知能をめぐる動向」

となっています。ワクワクするタイトルではありますが、「動向」って具体的にどんなものを指しているんでしょうかね…?政治や企業の動き?それとも技術の変遷?

とりあえず節のタイトルを見てみましょう。

2-1. 探索・推論
2-2. 知識表現
2-3. 機械学習・深層学習

…なるほど。各節のタイトルが、人工知能の歴史の勉強のときに出てきたAIブームの「第1次」「第2次」「第3次」にそれぞれ対応している感じですね。つまり、技術の変遷に近い章っぽいですかね。

ということで、見ていきましょう。

 

探索・推論

まず、探索・推論です。 探索・推論を使ってでできることは…
・迷路を解く
ハノイの塔を解く
・オセロや将棋で勝つ
みたいなことのようです。

パズルやゲームを解くことができるよ!という感じですかね。ベースとして「場合分けを続けていればいつか目的に合致するものが出現する」という考え方を基礎にしている「探索木」を使います。「探索木」でググると画像はたくさん出てきますが、こんな感じのやつですね。

f:id:feh_asama:20220106084645j:image

なんか、あんまり木っぽくないですね(汗)
むしろ、木の根っこっぽい。
それはさておき「探索を行う」というのは開始地点から線を辿って上から下に流れていくイメージです。
例えば迷路の場合、スタート=開始地点、ゴール=目的としたうえで、 分岐と行き止まりを 「●」で表現し、道を線で表現することで探索木で表現することができます。
で、これができたら上から、しらみつぶしにそのパターンを辿っていくことで、いつかゴールに着く..という感じです。
余談ですが、昔、巨大迷路というアトラクションが流行った時代がありました。自身が迷路に入ってゴールを目指すというシンプルなものだったんですが、なかなかワクワクしましたね。

その巨大迷路の攻略法として「右手を常に壁に置いて、 壁伝いに歩き続ける」というものがありました。今思えば、しらみつぶしの「探索」をやっていたんですね。ちなみにこの攻略法は「深さ優先探索」って言うみたいです。 勉強になりました。他に「幅優先探索」っていう方法もあるみたいですが、 説明は割愛します。巨大迷路の攻略法としてはちょっと使いにくいかな…とだけ言っておきます。


2つ目に上げたハノイの塔についても探索木で表現できるようです。 ただこちらは迷路と違って状態を行き来できるので木の形が少し違います。ちなみにハノイの塔がどんなものかはググってみてください(説明力不足)
余談ですが(余談だらけ)、先日、娘を連れて遊びに行った施設に、5段のハノイの塔が置いてあったのでやってみたのですが、結構難しかったです。なんとかクリアしたものの、探索木選手と速さ競争をしていたら、大差で負けていたことでしょう(汗)

 

次にオセロや将棋のようなボードゲームに探索木を利用することを考えた場合です。まずこれ、パターン数が天文学的な数になってしまうため、すべてを探索しきれないという問題があります。(量子コンピューターが実現した暁にはサクッとできてしまうのかもしれませんが)
この対策として「コスト」という概念を取り入れる、というものがあります(本書には、スコアと言い換えて語られていました。)

有利な盤面はスコアが高く、不利な盤面はスコアが低い、という感じです。次の一手を決める際は、数手先(例えば三手先)までの盤面のスコアを網羅的に見て、最もスコアが高くなる見込みがある一手を打つ、ということになります。
ここでポイントになるのはもちろん「どの盤面がどんなスコアなのか?」ということになりますが、このスコア付けをするのは人間の知識。これをヒューリスティックな知識と呼ぶらしいです。


さて、コストの概念を取り入れた探索木によって、オセロや将棋はかなりイケるようになったらしいんですが、まだまだ囲碁では勝てなかったそうです、シロウト目には囲碁より将棋の方が難しそうな気がするんですが、囲碁の方がスコア付けが難しいらしいのです。

ヒューリスティックな知識を使って付けたスコアではなかなか囲碁に勝てない…と悔しく思った人類(大げさ)は、モンテカルロ法というものを編み出しました。これは「スコアの付け方の方法」なのですが、コンピュータが2人の仮想的なプレイヤーを演じて、完全にランダムに手を差し続ける方法で終局させることを複数回実行して、終局の結果を元に盤面のスコアを決めるというやり方です。人間の知識によらず、ひたすらデタラメに打ちまくる繰り返しの経験からスコアを付けるというやり方ですが、これにより、9×9の囲碁では人間のプロ棋士とほぼ同じレベルになったようです。

なるほどなー。これは非常に示唆に富んでますね。質の高い教えを厳選して得るより、質の低い教えであってもそれを大量に得て経験から学ぶ方が良い…。人間にも同じ事が言えそうだなぁ、なんて感じました。

 

ということで

探索・推論についてはこんな感じですね。「推論」って言葉が全く出てきませんでしたが、ひとまず同義と捉えておけばいいですかね。

しかし、ランダム要素のないボードゲームだと、かなりの部分、探索の技術で征服できてしまうんですねー。

しかし、ラスボスは19×19の囲碁。これに対しては、ディープラーニングの技術が発達するまでは人間の棋士に歯が立たなかったそうなのですが…。それはまた別の回での話ですかね(^_^)

ではまた。

勉強に使ってる書籍はこちら↓
深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版