第一章 人工知能とは
1.人工知能(AI)とは
-
1.人工知能をレベル別に分類したものは以下の4つである。
-
レベル1:シンプルな制御(
制御工学
またはシステム工学
)-
すべての振る舞いがあらかじめ決められており、その通りに動くだけ。
- 例:エアコンの温度調整、洗濯機の水量調整、などあらかじめ単純な振る舞いがハードウェアやソフトウェアで決まっている製品
-
すべての振る舞いがあらかじめ決められており、その通りに動くだけ。
-
レベル2:古典的な人工知能(
人工知能
)- 探索・推論・知識データを利用することで、状況に応じて極めて複雑な振る舞いをする製品
- 特定の分野で高い有用性を示し、広く実用化されている技術
- 例:掃除ロボットや診断プログラム
- レベル3:機械学習(
人工知能
)- 非常に多くのサンプルデータをもとに入力と出力の関係を学習した製品
- パターン認識という古くからの研究をベースに発展し、2000年代に入りビッグデータの時代を迎え、ますます進化している。
- 例:検索エンジン、交通渋滞予測など
- レベル4:ディープラーニング(深層学習)(
人工知能
)- 機械学習では、学習対象となるデータのどのような特徴が学習結果に大きく影響するか(特徴量と呼ぶ)を知ることはとても重要である。この特徴量と呼ばれる変数を、自動的に学習するサービスや製品はディープラーニングを取り入れた人工知能に属する。
- 例:画像認識、音声認識、自動翻訳など
- 機械学習では、学習対象となるデータのどのような特徴が学習結果に大きく影響するか(特徴量と呼ぶ)を知ることはとても重要である。この特徴量と呼ばれる変数を、自動的に学習するサービスや製品はディープラーニングを取り入れた人工知能に属する。
-
レベル1:シンプルな制御(
-
2.人工知能とロボットの違い
- ロボットの脳に当たる部分が人工知能になる
- 人工知能の研究とは 「考える(知的な処理能力)という「目に見えないもの」」を中心に扱っている学問と考えて良い。
2.人工知能研究の歴史
時期 | 対象 | 発生事情 |
---|---|---|
1946年 | エニアック(ENIAC) | アメリカのペンシルバニア大学にて開発された |
1956年 | 人工知能という言葉 | 該当年にアメリカで開催されたダートマス会議において初めて使われた |
1950年代後半~1960年代 | 第1次AIブーム | 推論・探索の時代:特定の問題に対して解けを提示できるようになった |
1970年代 | 人工知能研究は冬の時代を迎える | 簡単な問題は解けても、複雑な現実の問題は解けないことが明らかになったから |
1980年代 | 第2次AIブーム | 知識の時代:コンピュータに「知識」を入れると賢くなるというアプローチ |
1995年 | 再び冬の時代に突入した | 知識を蓄積・管理することの大変さが明らかになってきたため |
2010年 | 第3次AIブーム | 機械学習・特徴表現学習の時代:ビッグデータと呼ばれる大量のデータを用いることで、人工知能が自ら知識を獲得する機械学習が実用化された |
第2章 人工知能をめぐる動向
1.迷路(探索木)
-
探索木
とは、要するに、場合分けである。- 場合分けを続けていけば、いつか目的の条件に合致するものが出現するという考え方を基礎にしている。
- 探索にかかる時間は検索する方法によって変わる。基本的な検索をする手法としては
-
幅優先探索
、深さ優先探索
という2つの方法がある。-
幅優先探索
:あるノードからつながっている隣のノードをすべて探索し、続いてさらにつながっている隣のノードを探索するという流れを繰り返す。(p21 図2.5)- 幅優先探索であれば、最短距離でゴールにたどり着く解を必ず見つけることができる。
- しかし、探索の途中で立ち寄ったノードをすべて記憶しておかなければならないため、複雑な迷路になるとメモリ不足で処理を続行できなくなる可能性がある。
-
深さ優先探索
:あるノードから行き止まりのノードまでいったん探索を行い、行き止まりにたどり着いたら一つ手前のノードに戻って次の行き止まりまで探索を行うということを繰り返す。- 深さ優先探索の場合、解が見つからなければ一つ手前のノードに戻って探索しなおせばよいので、メモリはあまり要りません。
- しかし、解が見つかったとしても、それが最短距離でゴールにたどり着く解であるとは限りません。
- また、運が良ければいち早く解が見つかるが、運が悪ければ時間がかかる。
-
- このようにどちらの方法も一長一短なので、実際にはこの2つの良いところを組み合わせる方法や、特殊なケースに限って速く探索できる方法なので研究が古くからされており、そういった研究の一部は今も脈々と続いている。
-
2.ハノイの塔(p22-p24)
探索木を使ってハノイの塔
というパズルを解くことができる。
3.ロボットの行動計画(p24-27)
ロボットの行動計画も探索
を利用して作成できる、これはプランニングと呼ばれる技術である。(P25 図2.10)
<前提条件>ロボットは清掃されたRoom1にいる状態
<行動>右に移動
<結果>ロボットは清掃されていないRoom2にいる状態
--
<前提条件>ロボットは清掃されていないRoom2にいる状態
<行動>清掃
<結果>ロボットは清掃されたRoom2にいる状態
- このように、あらゆる状態
<前提条件>
について、<行動>
と<結果>
を記述しておけば、目標とする状態に至る行動計画を立てることができる。- プランニングの研究では、
<前提条件>
、<行動>
と<結果>
という3つの組み合わせで記述するSTRIPS(Stanford Research Institute Problem Solver)
が有名。
- プランニングの研究では、
4. ボードゲーム(オセロ・チェス・将棋・囲碁)(p28-30)
- ボードゲームをコンピュータで解く基本は探索ですが、その組み合わせの数が天文学的な数字になってしまうので、事実上すべてを探索しきれないという問題がある。
- 木探索の基本は深さ優先探索、幅優先探索だが、探索の深さが深くなるにつれて(組み合わせが多くなるにつれて)、計算量が指数的に増大する。
- そこで効率よく探索するためにコストの概念を取り入れる。
- 例えば、東京から大阪に移動する際に、どの経路や交通手段を使うかによって、時間や費用といったコストに違いが生じる
- あらかじめ知っている知識(ヒューリスティックな知識)や経験を利用してコストを計算すれば、
- コストがかかりすぎる探索を省略できるので、探索を短縮できる。
- そこで効率よく探索するためにコストの概念を取り入れる。
- ボードゲームは迷路やパズルとは違い、相手がいる。そのため、
自分が指した後に相手が指し、また自分が指して相手が指すということを繰り返す
探索木を作らければならない。- ボードゲームの探索木の各ノードはその時点でのゲーム盤の状態である。
- ここで、コンピュータが効率よく最良の手を探索できるように、それぞれの状態が自分にとって有利か不利かを示すスコア(コスト)を情報として保持させる。
- ゲーム盤の状態のスコアの計算方法は事前に決めておけばよく、駒の数や位置関係を元に計算するようにする。
- ゲーム戦略は
Mini-Max法
と呼ばれる手法を使って立ってる。- 考え方は:自分が指すときにはスコアが最大(つまり自分が有利)になるように、また、相手が指すときにはスコアが最小(つまり自分が有利)になるように戦略を立てるのである。
- また、Mini-Max法による探索をできるだけ減らす手法をαβ法と呼ぶ。
- 例えば、最大のスコアを選択する過程でスコアが小さいノードが出現したら、その時点でそのノードを探索対象から外してしまう。
- つまり、探索を端折ってしまうわけである。
- これは、探索する枝を切り落としてしまう行為なので、βカットと呼ばれている。
- 同様に、スコアが最小のものを選ぶ過程で、すでに出現したスコアよりも大きいノードが現れた時点でその先につながるノードの探索をやめてしまう。
- これをαカットと呼ぶ。
- このように、不要な探索を省くことで、探索する量を減らす工夫をしているわけ。
- 例えば、最大のスコアを選択する過程でスコアが小さいノードが出現したら、その時点でそのノードを探索対象から外してしまう。
5. モンテカルロ法(P31-33)
-
モンテカルロ法という手法はでは、ゲームがある局面まで進んだら、あらかじめ決められた方法でゲームの局面のスコアを評価するという方法を完全に放棄してしまう。
- その代わり、コンピュータが二人の仮想的なプレーヤーを演じて、完全にランダムに手を指し続ける方法でゲームをシミュレーションし、とにかく終局させてしまうのである。ある局面からプレイアウトを複数回実行すると、どの方法が一番勝率が高いか計算できるので、ゲームのスコアを評価できる。
- モンテカルロ法の登場により、人間がスコアの付け方を考えるよりも、とにかく数多く打って最良のものを選ぶという評価方法のほうが優れていることが分かった。
- AlphaGoはブルートフォースの戦略ではなく、ディープラーニングの技術を使って人間の思考方法をコンピュータで実現し、人間のプロ棋士に勝利したのである。
6.知識表現
-
人工無脳:知識なしでも知性があるように感じる人間心理の不思議。
- 人工無脳は、
チャットボット
、おしゃべりボット
などと呼ばれているコンピュータプログラムである。 - 特定のツール・手順に沿って会話を機械的に処理するだけで、実際は会話の内容を理解しているわけではないので、人工無脳と呼ばれている。
-
イライザ(ELIZA)
- 人工無脳の元祖、1964年から1966年にかけてジョゼフ・ワイゼンバウムによって開発された。
- このプログラムは、相手の発言をあらかじめ用意されたパターンと比較し、パターンに合致した発言があると、そのパターンに応じた発言を返答する仕組みになっていた。
-
イライザ(ELIZA)
- 人工無脳は、
-
知識ベースの構築とエキスパートシステム
- ある専門分野の知識を取り込み、その分野のエキスパートのように振る舞うプログラムをエキスパートシステムと呼ぶ。
-
マイシン(MYCIN)
- 1970年代にスタンフォード大学で開発された。
- マイシンは血液中のバクテリアの診断支援をするルールベースのプログラムである。
-
DENDRAL
- スタンフォード大学で実用指向のAIを推進してきたエドワード・ファイゲンバウムは1960年代に未知の有機化合物を特定する
DENDRAL
というエキスパートシステムをすでに開発しており、1977年に実世界の問題に対する技術を重視した「知識工学」を提唱した。
- スタンフォード大学で実用指向のAIを推進してきたエドワード・ファイゲンバウムは1960年代に未知の有機化合物を特定する
-
- ある専門分野の知識を取り込み、その分野のエキスパートのように振る舞うプログラムをエキスパートシステムと呼ぶ。
-
知識獲得のボトルネック(エキスパートシステムの限界)
- 知識ベースを構築するために、専門家、ドキュメント、事例などから知識を獲得する必要がある。
- 人間の専門家が持つ知識の多くは、暗黙的であるため、知識獲得のための知的なインタビューシステムなどの研究も行われた。
- また獲得した知識、お互いに矛盾したり、一貫していないものが出てたりするので、知識ベースを保守するのが困難である。
- その他:常識的な知識は暗黙的で明文化されていないことが多いこと、知識を共有したり再利用したりする方法も問題。
- 上記の問題を解決するために、
意味ネットワーク
やオントロジー
が活性化してきた。
-
意味ネットワーク(semantic network)
- もともと認知心理学における長期記憶の構造モデルとして考案されたものである。現在では、人口知能においても重要な知識表現の方法の一つになっている。
- 意味ネットワークは、「概念」をラベルの付いたノードで表し、概念間の関係をラベルの付いたリンク(矢印)で結んだネットワークとして表す。(p39 図2.17)
- 重要な関係性1:「is-a」の関係(「である」の関係)は継承関係を表す
- 例えば、動物は生物である、哺乳類は動物である
- 矢印が向いている側が上位概念で、矢印の始点が下位概念である。下位概念は例外を指定しない限り、上位概念の属性をすべて引き継ぐ。
- 重要な関係性2:「part-of」関係(「一部である」の関係)は属性を表す。
- 例えば、目は頭部のいちぶである。肉球は足の一部である。
- 意味ネットワークは人間にとって、直感的でわかりやすく、また、ある概念に関連する知識がリンクをもとにたどれるため、知識の探索も容易である。
- 重要な関係性1:「is-a」の関係(「である」の関係)は継承関係を表す
-
オントロジー(概念体系を記述するための方法論)
- Cycプロジェクト
- すべての一般常識をコンピュータに取り込もうというCyc(サイク)プロジェクトがダグラス・レナートによって1984年からスタートした。
- オントロジー(ontology)
- 知識を記述したり、共有したりすることが難しいことがわかってくると、知識を体系化する方法論が研究されるようになった。
- オントロジーはエキスパートシステムのための知識ベースの開発と保守にはコストがかかるという問題に端を発している。
- 知識の共有と再利用に貢献する学問として知識工学が期待されるようになり、その中心的な研究として注目を集めた。
- オントロジーは本来哲学用語で存在論(存在に関する体系的理論)という意味している。人工知能の用語として、トム・グルーパーによる「概念化の明示的な仕様」という定義が広く受け入れられている。
- オントロジーは特定の領域の言葉の定義やその関連性を形式化し、それを用いて新たな知識の創出、共有のさまざまな局面に役立てようという試みなのである。
知識を記述するときに用いる「言葉(語彙)」や「その意味」、また「それらの関係性」を、ほかの人とも共有できるように、明確な約束事(仕様)として定義しておくわけ。
- Cycプロジェクト
-
概念間の関係(is-aとpart-ofの関係)
- 「is-aの関係」
- 「is-aの関係」には推移律が成立する。推移律とは、AとBに関係が成り立っており、BとCに 関係がなりなっていれば、AとCにも自動的に関係が成り立つというものである。(A>B B>C ⇒ A>C)
- 「part-of」の関係
- 推移律が成立するとは限らない。
- 「is-aの関係」