AI人工知能の「探索・推論」時代

Table of Contents

Table of Contents

発展の初期

今まで人工知能の発展の歴史から見ると、その技術の実用性、精度を追求する過程だと言えると思う。

汎用性があるコンピューターを開発された後、コンピューターが現実世界の問題をどれほど、どのように解決してくれる研究を進んで、その理論と方法を模索している最初の時期はAI発展の初期頃だ(探索・推論の時代)。

コンピューターを開発されて、まだ高機能ではないので、現実の問題をそのままで質問しても答えが出ないので、まずコンピューターが処理できる形にする必要がある。その後、問題の正解を探索してくれるため、計算機科学でも使っている探索木の構造、**自動計画(プランニング、Automated planning and scheduling)**を採用した。


探索木

問題解決するため、あらゆるパータンを洗い出して(この状況なら次はここにも行けるし、そこにも行けるって繰り返す)、最後にツリーのような路線図に整理する。 例えば、迷路問題では、分岐があるところや行き止まりのところを点にして、点と点の間にはルートがあれば繋ぐ。最後は木のとうな構成になる。
複雑な迷路図から単純な点と線になり、コンピューターでプログラミングが処理できようになるので、あとは各ルートを探索して出口を探し出す。なので、次のポイントはその探す方法だ。

探す方法

  • 幅優先探索: 繋がっているの点を探索する。例えば、繋がっている点はAとBがあるとしたら、先にAを探索し、Cと繋ぐルートが発見しても記録だけして戻って、次はBを探索する。

この方法は最短距離のルートを必ず見つける。ただ、点を記録するのでメモリ不足になってしまうリスクがある。

  • 深さ優先探索: 次のルートが発見したら探索し、行き止まりがあったら一つ前に戻す。

この方法だと最短距離のルートの保証はできないが、メモリ不足という心配はあまりない。

探索はIF-ELSEな感じで判断しているような感じだが、コンピュータが問題を解決する形になるのはポイントだと思うね。また、次に紹介するプランニングも似ている感じ。


自動計画(プランニング)

戦略や行動順番を具体化すること。自律型ロボット、無人航空機での利用がある。

**STRIPS(Stanford Research Institute Problem Solver)**というのはこの研究に有名な記述であり、以下の三つを構成している。
- 前提条件
- 行動
- 結果
前提条件に満たしたら行動、行動した結果を確認し、また別の前提条件になっていたらまた行動するという繰り返す感じだね。

SHRDLUというシステムもこの技術を使って、「積み木の世界」という研究を行った。これは仮想世界に様々の物体があって、英語の指示を受け取って、ものを移動することができるシステム。


遭遇した問題

この時期に遭遇した問題を少しまとめる。

コスト

複雑の問題だと探索時間(コスト)は非常に長い(コストは大きい)という問題があり、例えば将棋、囲碁対戦で勝つ方法を探すのは、このままで探索するのはほぼ不可能。
探索方法を改善する必要が出てきたため、ヒューリスティックミニマックス法(Mini-Max)モンテカルロ法などを提出された。

ヒューリスティック

知識と経験を利用することでコストを削減する。

ただ、必ず正しい答えを導くのを保証できない。ある程度の正解に近い答えを出す。要は、精度の保証はないということ。

ミニマックス法(Mini-Max)

想定される最大の損害が最小になるように決断を行うこと。

スコア(評価)の算出は重要で、また、探索の時間を減らすα-β法もある。
αカット:スコアが最小を選ぶ過程に、すでに出てきた大きスコアがあれば、カットする。
βカット:スコアが最大を選ぶ過程に、小さいスコアがあれば、カットする。

モンテカルロ法

コンピューターの処理能力向上で探索の能力も上がったが、囲碁の対戦だと良い効果はあまり出て来なかった。問題はスコアの算出(過去のデータで現局面のスコアを人が決める)だと言われてた。
モンテカルロ法はこの評価する方法を放棄し、ランダムでゲームをシミュレーションして、一番勝率が高いやり方を計算し、スコアを評価する。そうなると人間が評価するよりいい評価方法ができる。

これらの方法で探索の技術を進化させたが、人間のプロ棋士に勝つのはまだ難しい。
AlphaGoは、ディープラーニングの力を借りて、人間のプロ棋士に勝つことができた。