G検定の学習として、今回は方法論のベースになる部分を勉強していきます。
歴史を知ると、2020年に至るまでの研究者たちの苦悩と光がわかりますね。
G検定の概要はこちらに書いていますので、G検定に興味があれば、こちらも御覧ください。(2020年6月26日(金)まで、7月のG検定受験料半額キャンペーン中です。)
探索と推論
第1次AIブームは、1950年代後半〜1960年代のAI最初のブームで、推論・探索の時代です。
探索木
探索木は、場合分けで、コンピュータが判断できるようにしたツリー構造のものです。
探索の方法は2つ。
幅優先探索
あるノードからつながっている隣のノードをすべて検索し、順繰り隣のノードをすべて検索していくという探索方法です。
メリットは、最短距離でゴールにたどり着く解を必ず見つけることができることです。
が、
探索の途中で立ち寄ったノードをすべて記憶しておく必要があるため、複雑な探索になるとメモリ不足で処理が止まることがあります。
深さ優先探索
あるノードから行き止まりのノードまでいったん探索し、行き止まりについたら1つ前のノードに戻って次の行き止まりまで探索を繰り返すという探索方法です。
メリットは、メモリの消費が少なくて済むことです。(解が見つからなければ1つ手前のノードに戻って探索しなおせばいいため)
が、
見つかった解が、最短距離でゴールにたどり着ける解とは限らないので、運が悪ければかなり時間がかかります。
幅優先探索と深さ優先探索はどちらがいいかは、ケース・バイ・ケース!
ハノイの塔
ハノイの塔は、昔からあるパズルのことですが、これを探索木を使って解くことも可能です。
コンピュータが理解できる形式に問題を変換するために、ポールと円盤にそれぞれ名前をつけて処理させることができます。
ロボットの行動計画
プランニング
プランニングは、人工知能が自律的に行動計画を作成する技術のことで、技術自体は古いものです。
あらゆる状態(前提条件)について、行動と結果を記述しておけば、目標とする状態に至る行動計画を立てることができるというもので、
この3つの組み合わせを記述する STRIPS (Stanford Research Institute Problem Solver) という人工知能が有名です。
1970年には、スタンフォード大学のテリー・ウィノグラードによって開発された、SHRDLU というプランニングを「積み木の世界」で完全に実現する研究も行われました。
そこから、自然な会話もできるようになり、Cycプロジェクトに引き継がれることになります。
Cyc(サイク)は、人工知能へのアプローチのひとつ。一般常識をデータベース化し(知識ベース)、人間と同等の推論システムを構築することを目的とするプロジェクトである。
Cycプロジェクト
テリー・ウィノグラードはその後、ラリー・ペイジを育てることになります。
ボードゲーム
2016年話題になった、AlphaGoはとても有名ですが、効率よく探索をするために、コストの概念を取り入れて、コスト計算をすることでコストを最適化する方法を探すことが求められるようになります。
Mini-Max法
自分が指すときにスコアが最大になるように、相手が指すときにスコアが最小になるように戦略を立てる方法。
Mini-Max法による探索をできるだけ減らす手法のことを、αβ法と呼びます。
例:最大のスコアを選択する過程で、スコアが小さいノードが出現したらその時点でそのノードを探索対象から外してしまう → 探索する枝を切り落としてしまうということで、βカットと呼ばれる。
スコアが最小のものを選ぶ過程で、すでに出現したスコアよりも大きいノードが現れた時点でその先につながるノードの探索をやめることを、αカットと呼ばれる。
モンテカルロ法
モンテカルロ法
Wikipedia
シミュレーションや数値計算を乱数を用いて行う手法の総称。元々は、中性子が物質中を動き回る様子を探るためにスタニスワフ・ウラムが考案しジョン・フォン・ノイマンにより命名された手法。カジノで有名な国家モナコ公国の4つの地区(カルティ)の1つであるモンテカルロから名付けられた。ランダム法とも呼ばれる。
9×9の囲碁を考えます。
ゲームがある局面まで進んだら、予め決められた方法でゲームの局面のスコアを評価するという方法を完全に放棄する代わりに、コンピュータが2人の仮想的なプレーヤーを演じてランダムに手を指し続けることで終局(プレイアウト)させることをします。
プレイアウトを複数回実行すると、どの方法が一番勝率が高いのかを計算できるので、これでスコアを評価できるというわけです。
つまり、
とにかく数を多く打って、最良のものを選ぶという評価方法のことです。
しかし、19×19の囲碁になると、「とにかく数を多く」というレベルの計算量ではなくなってくるため、モンテカルロ法の限界を迎えてしまう。。。
→ ブルートフォース(力任せ)で押し切ることの限界。
そこを、AlphaGoのようにディープラーニングが解消することになります。
知識量表現
第2次AIブームは、1980年代に第2次AIブームがやってきます。知識の時代です。
人工無能
人工無能は、チャットボットやおしゃべりボットなどのことです。
特定のルールや会話を機械的に処理しているに過ぎず、実際には会話の内容を理解しているわけではないことから こう言われます。
人工無能の元祖は、イライザ(ELIZA)です。
1964年〜1966年にかけて、ジョセフ・ワイゼンバウムによって開発された、都市伝説でおなじみのプログラムです。
エキスパートプログラム
2次ブームの柱が、専門分野の知識を取り込み、その分野の専門家のように振る舞うプログラム = エキスパートプログラムです。
マイシン(MYCIN)
初期のエキスパートプログラムで最も影響力が大きかったのは、1970年代にスタンフォード大学で開発されたマイシン(MYCIN)。
これは、血液中のバクテリアの診断支援をするルールベースのプログラムでした。
しかも、69%の確率で正しい処方をすることができ、専門医でない医師よりいい結果を出しました。
DENDRAL
スタンフォード大学のエドワード・ファイゲンバウムが1960年代に未知の有機化合物を特定するエキスパートプログラムのDENDRALを開発。
1977年に実世界の問題に対する技術を重視した「知識工学」を提唱。
意味ネットワーク(semantic network)
エキスパートプログラムはどうしても暗黙知をコンピュータで扱うというのが難しく、共有や再利用なども困難であることがわかってきたため、
意味ネットワークやオントロジーの研究が盛んになります。
意味ネットワークは、「概念」をラベルの付いたノードで表し、概念間の関係をラベルの付いたリンクで結んだネットワークとして表されます。
関係性としては、is-aの関係と、part-ofの関係があります。
is-aの関係
継承関係を表し、「動物は生物である」、「猫は哺乳類である」などという関係性を表すもの。
part-ofの関係
属性を表し、「目は頭部の一部である」などという関係性を表すもの。
オントロジー(ontology)
哲学用語では存在論。
人工知能的用語としては、Siriを生み出した一人、トム・グルーパーによる「概念化の明示的な仕様」という定義になります。
第2次AIブームで、知識の共有や記述が難しいことがわかってくると、知識を体系化する方法論の研究が盛り上がっていきました。
オントロジーの目的は、知識の共有と活用。
→ 知特定の領域の知識を形式化して、それを用いて新たな知識の創出や共有に役立てること。
そのために、
知識の記述の際に用いる、「言葉(語彙)」、「その意味」、「関係性」を他の人とも共有できるように明確な約束事(仕様)として定義する。
is-a と part-of の関係
オントロジーの概念間の関係は、
- is-a(〜である)
- part-of(一部である)
is-a
上位概念と下位概念の関係を表す。
推移律(A=BかつB=Cならば、A=Cみたいなやつ)が成立するもの。
例:人間 is-a 哺乳類、キャベツ is-a 野菜
推移率が成り立つということは、逆が成り立つということなので、「哺乳類 is-a 人間である」、「野菜 is-a キャベツ である」が成り立つ。
part-of
全体と部分の関係を表す。
例:日本 part-of アジア、東京 part of 日本
しかし、このpart-ofには、推移律は成り立たないこともある。
→ 顔 part-of 五郎、五郎 part-of 茶道部 の場合に、顔 part-of 茶道部 は成り立たない。
part-ofの関係だけで、最低5種類の関係がある事がわかっており、これをコンピュータに理解させるのはとても難しく、解決策はまだない。
ヘビーウェイトオントロジーとライトウェイトオントロジー
オントロジー研究によって、2つの流れができてきました。
ヘビーウェイトオントロジー(重量オントロジー)
構成要素や意味的関係の正当性について、哲学的な考察が必要になる。
そのため、人間が関わるところが多く時間とコストが多分に発生してしまう。
Cyc(サイク)プロジェクトのように一般常識を手動ですべて取り込もうとするものもまだ進んでいる。
ライトウェイトオントロジー(軽量オントロジー)
完全に正しいものではなくても使えるものであればいい(ライト)という考えから、その構成要素の分類関係の正当性については深い考察は行わない傾向のもの。
ウェブマイニングやビッグデータを解析して有用な知識を取り出すデータマイニングで利用される。
ウェブマイニング(英: web mining)とは、ウェブサイトの構造やウェブ上のデータを利用して行うデータマイニングのことである。ウェブ上にあるデータやコンテンツ、テキスト情報から役立つ情報を抽出する処理のことで、掲示板やブログ、商品レビューの情報から意見・評判を抽出するシステム、SNSサイトやEコマースサイトからの人間や商品の関係性を抽出するシステム等が実用化されている。
https://www.weblio.jp/content/%E3%82%A6%E3%82%A7%E3%83%96%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0
IBMのワトソン(Question-Answering(質問応答)という研究分野)や東大入試合格を目指す人工知能の東ロボくんもこのライトウェイトオントロジーを利用しています。
機械学習・ディープラーニング
機械学習
機械学習は、人工知能のプログラム自身が学習をする仕組みのことです。
人間が与えたサンプルデータから、データのパターンなどを学習するモデルのため、サンプルデータの数が多いほど望ましい学習効果が得られるというものです。
そして、ビッグデータで更に加速するように。
レコメンドエンジンや、スパムフィルタにも使われている。
機械学習と統計的自然言語処理を使った、翻訳では、単語レベルではなく、
複数の単語をひとまとまりにした句や文の単位で確率の高い選択をするようになりました。
ある言葉に対する対訳データ(コーパス)をたくさん持っていれば、周辺の情報(句や文)から最も適する翻訳を選べる様になるということ。
ディープラーニング
ニューラルネットワーク
ここは、機械学習の一つで、ニューラルネットワークの層を増やすとディープラーニングになります。
ニューラルネットワークの元祖は、1958年アメリカの心理学者フランク・ローゼンブラットによる、単純パーセプトロンです。
ディープラーニング
基本は、ニューラルネットワークを多層にしたものですが、課題がありました。
課題
ニューラルネットワークを3層以上にしても学習制度が上がらない。。。
しかも、人工知能の大家、マービン・ミンスキーによって「特定の条件下の単純パーセプトロンでは、単純な問題しか解けない」という指摘がされて、一度下火になりました。
この課題を解決するために、ニューラルネットワークを多層にし、バックプロパゲーション(誤差逆伝播学習法)を使うこと、
入力したものと同じものを出力するように学習する自動符号器の研究により、層をディープにしても学習が可能となってきました。
2012年のディープラーニングブレークスルー
2012年に、画像認識の精度を競うILSVRC(Imagenet Large Scale Visual Recognition Challenge)でトロント大学の開発したSuperVisionが圧勝しました。
トロント大学といえば、あのジェフリー・ヒントン教授です。ジェフリー・ヒントンによって開発されたのが、新しい機械学習の方法であった、ディープラーニングでした。