本節では、第1次AIブームで中心的な役割を果たした探索・推論の研究について学びます。これらの研究の一部は今も脈々と続いています。
図2.1のような迷路の問題を、コンピュータを使って解くことを考えましょう。
このままではコンピュータで問題を解くことができないため、最初に行うべきことは、迷路の問題をコンピュータで処理できるような形式に変換することです。
まず、図2.2のように、分岐があるところと、行き止まりのところに記号を付けてみましょう(行き止まりが灰色、分岐が白)。
ここで迷路の枠を取り去ってしまうと図2.3のようになりますが、⑤を起点にぶら下げてみると、結局この迷路の問題は図2.4のような構造で表現できることになります。これは木のような構造 (ツリー構造)をしているので、探索木と呼ばれています。
この探索木をSから追いかけて、Gにたどり着く経路が見つかれば、それが迷路の回答ということになります。この迷路の場合は「S→A→J→L→G」が正解になります。
探索木とは、要するに場合分けです。場合分けを続けていけば、いつか目的の条件に合致するものが出現するという考え方を基礎にしています。コンピュータは単純な作業が得意なので、いくらでも場合分けを行い、いつしか正解にたどり着くわけです。
場合分けによっていつしか正解にたどり着くという考え方に暗示されるように、探索にかかる時間は検索する方法によって変わります。基本的な検索をする手法としては、幅優先探索、深さ優先探索という2つの方法があります。
幅優先探索では、出発点に近いノード (探索木の各要素) 順に検索します。したがって、出発点から遠いノードほど検索は後になります(図2.5)。幅優先探索であれば、最短距離でゴールにたどり着く解を必ず見つけることができます。しかし探索の途中で立ち寄ったノードをすべて記憶しておかなければならないため、複雑な迷路になるとメモリ不足で処理を続行できなくなる可能性があります。
深さ優先探索では、あるノードからとにかく行けるところまで行って、行き止まりになったら1つ手前のノードに戻って探索を行うということを繰り返します(図2.6)。深さ優先探索の場合、解が見つからなければ1つ手前のノードに戻って探索し直せばよいのでメモリはあまり要りません。しかし解が見つかったとしても、それが最短距離でゴールにたどり着く解であるとは限りません。また、運がよければいち早く解が見つかりますが、運が悪ければ時間がかかります。
この迷路の場合、幅優先探索ではゴールにたどり着くのに11ステップかかっています。また、深さ優先探索の場合は13ステップでゴールにたどり着いていることが分かります。
このようにどちらの方法も一長一短なので、実際にはこの2つの良いところを組み合わせる方法や、特殊なケースに限って速く探索できる方法などの研究が古くからされており、そういった研究の一部は今も脈々と続いています。
探索木を使ってハノイの塔というパズルも解くことができます。このパズルは、図2.7のように3本のポールがあり、最初はすべて左側のボールに大きさの異なる複数の円盤を小さいものが上になるように順に積み重ねられています(円盤の中央には穴があいています)。円盤は一回に一枚ずつ別のポールに移動させることができますが、小さな円盤の上に大きな円盤を乗せることはできません。このルールに従い、すべての円盤を右端のポールに移動できればパズルの完成です。
このパズルをコンピュータに解かせることを考えてみましょう。迷路の場合と同じように、まずコンピュータが理解できる形式に問題を変換する必要があります。円盤に小さいものから順番に1、2、3としておけば、円盤を数字として扱えます。また、3本のボールの位置は左からP、Q、Rと名前を付けておくことにしましょう。
そうしておくと、ハノイの塔の状態は3つの円盤がどのボールに置かれているのか、その位置を順番に並べることで表現できます。たとえば、図2.8のハノイの塔の状態は3つの円盤が全てPの位置にあるので (P, P, P) と表現できます。また、(P, R, Q)と表現されたハノイの塔の状態は、1番目の円盤がPの位置に、2番目の円盤がRの位置に、3番目の円盤がQの位置にある状態を表していることになります。ただし2つ以上の円盤が同じ位置にある場合は、必ず大きな円盤が小さい円盤よりも下に置かれているものとします。そうすると、ハノイの塔は図2.9に描く探索木のように表現できます。
すべての円盤をルールに従って右端のボールに移動するパスは複数存在しますが、最短で移動させるには一番右端のバスを選択すればよいことが分かります。
ロボットの行動計画も探索を利用して作成できます。これはプランニングと呼ばれる技術で、古くから研究されています。図2.10 に示すように、ロボット、部屋、ゴミを含む環境を1つの状態と考え、また、ある状態から別の状態に遷移を表す矢印をロボットの行動とみなして構成した空間を探索空間と見なします。
図2.10はロボットが清掃済みのRoom1にいる状態を出発点(初期状態)として、ロボットが取り得る行動とその結果を図示したものです。ロボットに「すべての部屋をできるだけ短い時間で清掃しなさい」と命じたとしましょう。この場合、 下記のような行動計画を記述しておけば、ロボットはそれに従って行動することでミッションを達成できます。
<前提条件>ロボットは清掃されたRoom1にいる状態 <行動>右に移動 <結果>ロボットは清掃されていないRoom2にいる状態 <前提条件>ロボットは清掃されていないRoom2にいる状態 <行動>清掃 <結果>ロボットは清掃されたRoom2にいる状態
このように、あらゆる状態く前提条件>について。<行動>と<結果>を記述しておけば、目標とする状態に至る行動計画を立てることができるわけです。
プランニングの研究では、<前提条件>、<行動>、<結果>という3つの組み合わせで記述するSTRIPS(Stanford Research Institute Problem Solver)が有名です。
また、このようなプランニングを「積み木の世界」で完全に実現する研究も行われました。SHRDLUは1968年から1970 年にかけてテリー・ウィノグラードによって開発されたシステムで、英語による指示を受け付け、コンピュータ画面に描かれる「積み木の世界」に存在する様々な物体(ブロック、四角錐、立方体など)を動かすことができました。(図2.11)
「樹み木の世界」という限定された世界の中だけでしたが、次のように自然な会話をすることができました。この成果は後に Cycプロジェクトにも引き継がれていきます(「2-2 1.5 オントロジー」参照)。
なお、このテリー・ウィノグラードはその後ヒューマン・コンピュータ・インタフェース (HCI) という研究分野に移り、Googleの創業者の1人、ラリー・ペイジを育てています。
2016年3月,世界中が驚愕した歴史的な事件が起こりました。囲碁の世界でトップレベルの実力者である韓国のプロ棋士に、DeepMind社が開発した人工知能の囲碁プログラム AlphaGo (アルファ碁)が4勝1敗と大きく勝ち越したのです。このニュースには人工知能の研究者たちも驚きました。チェスや将棋ではコンピュータが既に人間のトッププロと互角以上の実力に達していましたが、手数が圧倒的に多く複雑な囲碁では、トップレベルに達するのに後10年はかかるだろうと思われていたからです。 ボードゲームをコンピュータで解く基本は探索ですが、その組み合わせの数が天文学的な数字になってしまうため、事実上すべてを探索しきれないという問題があります。代表的なボードゲームで組み合わせは表2.1のようになります。
観測可能な宇宙全体の水素原子の数は約10の80乗個といわれているので、これらのゲームで起こり得る組み合わせが想像を絶するほど大きな数であることが分かります。木探索の基本は深さ優先探索、幅優先探索ですが、探索の深さが深くなるにつれて(組み合わせが多くなるにつれて)、計算量が指数的に増大します。ここまで組み合わせの数が大きいと、すべてをしらみつぶしに探索することは到底不可能です。
そこで、効率よく探索するためにコストの概念を取り入れます。たとえば、東京から大阪に移動する際に、どの経路や交通手段を使うかによって、時間や費用といったコストに違いが生じます。このような場合、あらかじめ知っている知識や経験を利用してコストを計算すれば、探索を短縮できます。コストがかかり過ぎる探索を省略できるからです。ここで利用する知識をヒューリスティックな知識と呼びます。
(注)「ヒューリスティック」という言葉は「経験的な」とか「発問的な」という意味がありますが、ここでは「探索を効率化するのに有効な」という意味で、探索に利用する経験的な知識のことを「ヒューリスティックな知識」と呼んでいます。人工知能で扱う問題の多くは、組み合わせの数が大きすぎて網羅的な探索では歯が立たないため、ヒューリスティックな知識の利用が重要になります。また、ヒューリスティックな知識を利用することで、不完全な情報でも探索や推論を進められるようにすることができます。人間の脳での探索も、このようなヒューリスティックな知識を有効に利用していると考えられます。
ボードゲームは迷路やバズルとは違い、相手がいます。そのため、自分が指した後に相手が指し、また自分が指して相手が指すということを繰り返す探索木を作らなければなりません(図2.12)。
図2.12に示したように、ボードゲームの探索木の各ノードはその時点でのゲーム盤の状態です。ここで、コンピュータが効率よく最良の手を探索できるように、それぞれの状態が自分にとって有利か不利かを示すスコア (コスト) を情報として保 (図2.13の各数字)。ゲーム盤の状態のスコア (コスト)の計算方法は事前に決めておけばよく、駒の数や位置関係を元に計算するようにします。
ゲーム戦略はMini-Max法と呼ばれる手法を使って立てます。考え方は単純で、自分の番では自分が有利 (つまり自分のスコアが最大)になるように手を打つべきで、逆に、相手の番では相手が有利(つまり自分のスコアが最小)になるように相手は手を打つはずだということを前提に戦略を立てるのです。
その際、未来の局面から現在の局面に向けて逆算することで戦略を立てます。一般に、できるだけ遠い未来のゲームの状態を配慮すればするほど (ゲームを深く先読みすればするほど) 思慮深い戦略を立てられますが、ここでは三手先まで先読みしてMini-Max法を適用した例を図2.13に示します。最初、各ノードの値 (A~Hの値)は決まっていません。まず、三手先のゲーム盤のすべての状況における自分のスコアを計算します (スコアの算出方法は事前に決めておきます)。次に、これらのスコアを参考にしながら、自分の番 (D,E,F,G,H) ではスコアが最大 (自分が有利) になる手を選び、相手の番 (B,C) ではスコアが最小(相手が有利)になる手を相手が選ぶという前提で、三手先から現在の局面に向かって(枝の一番下から上に向かって)、各ノードのスコアを順に決定していきます。これにより、現在の局面から三手先の局面までお互いがベストを尽くした場合に実現する経路が最終的に決まるので (A→B→D→7)、現在の局面で自分が打つべき手も確定します。
Mini-Max法は単純なゲーム戦略ですが、論理的に考えて無駄な探索が生じます。その無駄を省く方法をαβ法と呼びます。 αβ法では評価 (スコア計算) する必要のないノードは探索対象から外してしまいます。つまり、不要な処理を端折ってしまうわけです。以下、この方法を具体的に説明します。
前出のMini-Max法の説明で用いた例にαβ法を適用したものが図2.14です。最初は、三手先のゲーム盤のスコアも各ノード (A~H)の値もすべて分かっていない状態です。そこで、三手先の各スコアを1つずつ順番に評価(図2.14では左から順に評価)しながら、下から上に向かって各ノードの値を決めていきます。まず、①のスコアが「5」であることが分かると、「5」がDの値の最初の候補として採用され、それと同時にDの値は「5以上」になることが確定します。なぜなら、Dではスコアの最大値を探しているからです。続けて、②のスコアが「7」と分かると、Dの値が「7」になることが確定し、それと同時に「7」がBの値の最初の候補になるので、Bは「7以下」であることが確定します。なぜなら、Bではスコアの最小値を探しているからです。さらに続けて、③のスコアが「8」だと分かると、Eは「8以上」であることが確定します。なぜなら、E ではスコアの最大値を探しているからです。その結果、Bの値の候補として既に上がっている「7」 (これをβ値と呼ぶ (注))の方がEの値よりも必ず小さいことが確定し、「7」がBの値として採用されることが決まります。この段階で、Eの値は決してBの値として採用されないことが確定するので、Eの値に関するこれ以上の探索は無意味です。よって、Eの値の探索を打ち切ります。このように、スコアが最小となるものを選択する局面で(つまり、相手の局面で)、探索する必要のない自分の枝を切り落とす行為を「βカット」と呼びます。
ところで、Bの値が「7」であることが確定すると、それはAの値の最初の候補が「7」になるということでもあるので、Aが 「7以上」になることも確定します。なぜなら、Aではスコアの最大値を探しているからです。
さらに続けて、「βカット」によって2つのスコア計算をスキップした後、④のスコアが「6」だと分かると、「6」がFの値の最初の候補として採用され、それと同時にFの値は「6以上」になることが確定します。なぜなら、Fではスコアの最大値を探しているからです。続けて、⑤の値が「2」であることが分かるとFの値が「6」になることが確定し、それと同時に「6」 がCの値の最初の候補になるので、Cの値は「6以下」であることが確定します。なぜなら、Cではスコアの最小値を探しているからです。その結果、Aの値の候補として既に上がっている 「7」 (これを値と呼ぶ(注))の方がCの値よりも必ず大きいことが確定し、「7」がAの値として採用されることが決まります。この段階で、Cの値は決してAの値として採用されないことが確定するので、Cの値に関するこれ以上の探索は無意味です。よって、Cの値の探索を打ち切ります。このように、スコア 「が最大となるものを選択する局面で(つまり、自分の局面で)、探索する必要のない相手の枝を切り落とす行為を「αカット」と呼びます。
(注)それまでに発見した自分の番で最も大きな評価値を「値」と呼び、それまでに発見した相手の番で最も小さい評価値を「値」と呼びます。
コンピュータの処理能力が飛躍的に向上したことで、囲碁や将棋ソフトは近年とても強くなっています。たとえば、第2回 「電王戦に登場した「GPS将棋」は東京大学にある670台のコンピュータと接続して、1秒間に3億手を読むといわれていたそうです。
しかしながら、どんなに工夫しても囲碁クラスのボードゲームになると、探索するノード数は膨大です。深く探索すればするほど望ましい結果を得られますが、特にゲームの序盤はコンピュータのメモリや探索時間をいくら費やしても、また、どん 「なに効率よく探索しても全ての手を読み切ることはできません。ところが、ゲーム後半になると、碁石が打てる場所は限られてくるため、コンピュータがますます有利になっていきます。特に最終局面ではコンピュータはまずミスをしないため、人間がコンピュータとの対戦で勝つには序盤から中盤でいかに戦うかが重要になります。
しかしそれでも、旧来の方式では、人間のプロレベルの棋士にコンピュータが勝つのは難しい状況でした。19×19の囲碁 (19路盤)ではなく、9×9の囲碁(9路盤) ですらコンピュータが人間のアマチュア初段に勝つのは難しかったのです。9×9の囲碁の場合は、組み合わせの数はチェスより少ないので、コンピュータが人間に勝つのが難しいのは、探索しなければならない組み合わせの数が多いということだけでなく、ゲーム盤のスコア (コスト評価) に問題があるようだということが分かってきました。ある意味、このスコアがゲームの強さを決めるわけですから非常に重要になりますが、典型的な旧来の方式では、過去の膨大な戦歴を元に局面のスコア (コスト評価)を人間が決めていたのです。
モンテカルロ法という手法では、ゲームがある局面まで進んだら、あらかじめ決められた方法でゲームの局面のスコアを評価するという方法を完全に放棄してしまいます。その代わり、どのようにスコアを評価するかというと、コンピュータが2人の仮想的なプレイヤーを演じて、完全にランダムに手を指し続ける方法でゲームをシミュレーションし、とにかく終局させてしまうのです。このようにゲームを終局させることをプレイアウトと呼びます。ある局面からプレイアウトを複数回実行すると、どの方法が一番勝率が高いか計算できるので、ゲームのスコアを評価できるのです(図2.15)。
ゲーム後半は碁石が置ける場所が限定されるので、1秒間に数億手を読むことができるコンピュータであれば、ある局面から後のゲームをランダムに指してシミュレーションすることは実にたやすい作業です。モンテカルロ法の登場により、人間がスコアの付け方を考えるよりも、とにかく数多く打って最良のものを選ぶという評価方法の方が優れていることが分かり、 9×9の囲碁では人間のプロ棋士とほぼ同じレベルになりました。
しかし19×19の囲碁では、やはり人間のプロ棋士には全く歯が立たない状況が続きました。モンテカルロ法は素晴らしい発明ですが、人間の思考方法とは違ってブルートフォース (力任せ) で押し切る方法なので、探索しなければならない組み合わせの数が増えると、立ち行かなくなるからです。 AlphaGoが19×19の囲碁で人間のプロ棋士に勝利したことがいかに画期的なことだったか分かるでしょう。その勝利の戦略はこれまでの方法とは全く異なるものでした。AlphaGoはブルートフォース (力任せ)の戦略ではなく、ディープラーニングの技術を使って人間の思考方法をコンピュータで実現し、人間のプロ棋士に勝利したのです(注)。
(注) 将棋ソフトが強くなった理由の1つに、機械学習を適用してよりよい「特徴量」が発見されたことが挙げられます。特徴量とは、注目すべきデータの特徴を表すものですが、以前は2つの駒の関係に注目していました。研究が進むにつれて3つの駒の関係を使って盤面を評価した方が有効だということが分かったのです。人間には見えていなかった相関関係を過去の棋譜というビッグデータから見つけ出したというわけです。
本節では、第2次ブームで中心的な役割を果たした知識表現の研究とエキスパートシステムについて学びます。
人工無脳は、チャットボット、おしゃべりボットなどと呼ばれているコンピュータプログラムです。特定のルール・手順に沿って会話を機械的に処理するだけで、実際は会話の内容を理解しているわけではないので人工無脳と呼ばれています。
人工無脳の元祖はイライザ(ELIZA) と呼ばれるコンピュータプログラムで、1964年から1966年にかけてジョセフ・ワイゼンパウムによって開発されました。このプログラムは、相手の発言をあらかじめ用意されたパターンと比較し、パターンに合致した発言があると、そのパターンに応じた発言を返答する仕組みになっています(図2.16)
イライザは下記のような自然な対話を、人間を相手に行うことができます。確かに、あたかも本物の人間と対話しているような錯覚 (イライザ効果) に陥ります。
イライザ: 何か悩み事はありますか。 人間:男の人は皆、同じね。 イライザ: そのことについてどんなことを思っているのですか。 人間: いつも何かしらイライラさせられるの。 イライザ: 何か具体的な例をあげてもらえますか。 人間:えーと、ボーイフレンドが私をここに来させたの。 イライザ: ボーイフレンドがあなたをここに来させた> のですね。 人間: 彼は私がいつも落ち込んでいるって言うの。 イライザ: あなたが落ち込んでるとは残念です。 人間: 確かに私は落ち込んでるわ。 イライザ: なぜ落ち込んでいるのか話してもらえますか。
イライザは基本的にオウム返しに相手の発言を再利用して発言するだけで、相手の発言を理解しているわけではありません。本物の知識を使って対話をしているわけではないのです。しかし、イライザが自分の発言を理解して応答してくれていると思い込み、イライザの対話原理を説明しても納得せず、イライザとの対話に夢中になるユーザーもいました (イライザ効果)。単純なルールに基づき機械的に生成された言葉でも、そこに知性があると感じてしまう人間の反応に驚いたジョセフ・ ワイゼンパウムは、コンピュータに意思決定を任せることの危険性を警告するようになりました。
イライザの成功は、後のコンピュータゲームやスマートフォンの音声対話システムに影響を与え、会話ポットや人工無脳の研究につながっています。また、イライザは心理療法の分野にも影響を与え、オンラインセラピストのシステムにも発展しています。
ある専門分野の知識を取り込み、その分野のエキスパート(専門家)のように振る舞うプログラムをエキスパートシステムと呼びます。
初期のエキスパートシステムとして最も影響力が大きかったのは、1970年代にスタンフォード大学で開発されたマイシン (MYCIN)です。 マイシンは血液中のバクテリアの診断支援をするルールベースのプログラムです。500のルールがあらかじめ用意されており、質問に順番に答えていくと、感染した細菌を特定し、それに合った抗生物質を処方することができるという、あたかも感染症の専門医のように振舞うことができました。
図2.17 は緑膿菌の判定例です。左側のルールで「もし (if) 以下の条件が成立すると、そうしたら(then)、その微生物は○○である」と記述しておくと、右側のような対話を通してその細菌を特定できるという仕組みです。
マイシンは69%の確率で正しい処方をすることができました。これは感染症の専門医が正しい処方をする確率80%よりも低い水準ですが、専門医ではない医師よりはよい結果でした。
専門家の知識を扱っているということが分かりやすい医療の領域で、あたかも医師と対話しているような質問応答機能や説明機能を備えていたことで、マイシンは人工知能型システムの実例として大きな注目を集めました。
スタンフォード大学で実用指向のAIを推進してきたエドワード・ファイゲンバウムは1960年代に未知の有機化合物を特定するDENDRALというエキスパートシステムを既に開発しており、1977年に実世界の問題に対する技術を重視した「知識工学」を提唱しました。このように1970年代後半から1980年代にわたり、多くのエキスパートシステムの開発が行われるようになりました。
知識ベースを構築するためには、専門家、ドキュメント、事例などから知識を獲得する必要があります。ドキュメントや事例から知識を獲得するためには、自然言語処理や機械学習という技術を利用することができますが、最大の知識源である人間の専門家からの知識獲得はとても困難でした。専門家が持つ知識の多くは経験的なものであり、また、その知識が豊富であればあるほど暗黙的であるため、それを自発的に述べてもらうことはほとんど不可能であり、上手にヒアリングで取り出さなければならなかったからです。このような事情から、知識獲得のための知的なインタビューシステムなどの研究も行われました。
さらに、知識ベースの構築において、獲得した知識の数が数千、数万となると、お互いに矛盾していたり、一貫していないものが出てきたりして、知識ベースを保守するのが困難になることも分かりました。
また、エキスパートシステムが扱うような一部の専門家だけが持つ高度な知識は明示的で体系化が終わっている場合が多いのですが、常識的な知識は暗黙的で明文化されていないことが多く、このような知識をコンピュータで扱うのはとても難しいことが分かってきました。その上、知識を共有したり再利用したりする方法も問題になりました。こうした問題を解決するために、コンピュータで知識を扱うための方法論が注目されるようになり、意味ネットワークやオントロジーなどの研究が活性化します。
意味ネットワーク (semantic network)は、もともと認知心理学における長期記憶の構造モデルとして考案されたものです。現在では、人工知能においても重要な知識表現の方法の1つになっています。
意味ネットワークは、「概念」をラベルの付いたノードで表し、概念間の関係をラベルの付いたリンク (矢印)で結んだネットワークとして表します (図2.18)。
特に重要な関係性として、「is-a」の関係(「である」の関係)は継承関係を表しており、たとえば「動物は生物である」、「哺乳類は動物である」ということを表現します。矢印が向いている側が上位概念で、矢印の始点が下位概念になります。下位概念は例外を指定しない限り、上位概念の属性をすべて引き継ぎます。
また、「part-of」の関係(「一部である」の関係)は属性を表しており、たとえば「目は頭部の一部である」、「肉球は足の一部である」ということを表現します。
意味ネットワークは人間にとって直感的で分かりやすく、また、ある概念に関連する知識がリンクを元にたどれるため知識の検索も容易です。
エキスパートシステムのような知識ベースのシステムが柔軟な能力を発揮するには膨大な知識が必要になります。そのようなシステムで人間のように柔軟な知的能力を実現するには、広い範囲に及ぶ常識が必要になるということが広く認識されるようになり、この課題に挑戦するため、すべての一般常識をコンピュータに取り込もうというCycプロジェクトがダグラス・レナートによって1984年からスタートします。
このプロジェクトでは、「ビル・クリントンはアメリカ大統領の1人です」 「すべての木は植物です」 「パリはフランスの首都です」といった一般常識をひたすら入力していくのですが、驚くべきことにこのプロジェクトは現在も継続中です。人間の一般常識がいかに膨大か、また、それを形式的に記述することがいかに難しいかということが分かります。
“ビル・クリントンは、アメリカ大統領の1人です” (#Sisa #$BillClinton #$United States President)
“すべての木は植物です” (#$genls #$Tree-ThePlant #SPlant)
“バリはフランスの首都です” (#ScapitalCity #$France #$Paris)
知識を記述したり共有したりすることが難しいことが分かってくると、知識を体系化する方法論が研究されるようになりました。それがオントロジーの研究につながります。
オントロジー(ontology)は、エキスパートシステムのための知識ベースの開発と保守にはコストがかかるという問題に端を発しています。知識の共有と再利用に貢献する学問として知識工学が期待されるようになり、その中心的な研究として注目を集めました。
オントロジーは、本来は哲学用語で存在論 (存在に関する体系的理論) という意味です。人工知能の用語としては、トム・グルーパーによる「概念化の明示的な仕様」という定義が広く受け入れられています(注)。
(注)元人工知能学会会長の溝口理一郎はオントロジー研究の第一人者で、オントロジーとは「対象とする世界の情報処理的モデルを構築する人が、その世界をどのように眺めたか”、言い換えるとその世界には何が存在しているとみなしてモデルを構築したかを(共有を志向して)明示的にしたものであり、その結果得られた基本概念や概念間の関係を土台にしてモデルを記述できる概念体系」であるとしています。
とても難しく聞こえますが、オントロジーの目的は知識の共有と活用なので、扱う知識や情報の意味構造をきちんと定義して扱うというのは極めて自然な発想です。オントロジーは、特定の領域の言葉の定義やその関連性を形式化し、それを用いて新たな知識の創出、共有のさまざまな局面に役立てようという試みなのです。
コンピュータで何らかの「知識」を扱おうとする場合、その知識を書く人が好き勝手に記述してしまうと、コンピュータに取り込まれた膨大な知識のどれとどれが同じ意味 (または違う意味)を表しているのか分からなくなってしまいます。そこで、知識を記述する時に用いる「言葉(語彙)」や「その意味」、また「それらの関係性」を、他の人とも共有できるように、明確な約束事 (仕様) として定義しておくわけです。
たとえば、意味ネットワークは概念と概念の関係を表現できますが、その記述をどのように行うべきなのかについての約束事は決まっていません。ですから、いろいろな人が知識を表現しようとすると、その知識の記述レベルや語彙がバラバラになり、それらをつなげて利用する(共有する)ことができません。オントロジーが用意されていれば、そこで定義された約束事に従って知識が記述されるので、知識をつなげて利用することが容易になります(図2.19)
オントロジーを構築しておけば、そこで定義されている関係性を利用して、たとえばある単語を検索する際に、それと似た意味の言葉を一緒に検索することができます。また、複数のコンピュータが自動的に情報交換を行うようにすることもできます。複数のシステムと組み合わさった時に、そこから新しい知識を発見することも可能になるでしょう。
オントロジーにおいて、概念問の関係を表す「is-a」の関係(「である」の関係) と 「part-of」の関係(「一部である」の関係)は特に重要です。
「is-a」の関係(「である」の関係)は、上位概念と下位概念の関係を表しますが、その関係には推移律が成立します。推移律とはAとBに関係が成り立っており、BとCに関係が成り立っていれば、AとCにも自動的に関係が成り立つというものです。 たとえば、A>BでありB>Cであれば、A>Cという関係が自動的に成立します。しかし、ジャンケンの場合、推移律は成り立ちません。つまり、関係の種類によって推移律が成立するものと、成立しないものがあります。
「is-a」の関係で推移律が成立するということは、「哺乳瓶is-a動物(である)」という関係と「人間 is-a 哺乳類 (である)」という関係が成立すれば、「人間 is-a動物(である)」という関係も成立することからも分かるでしょう(図2.20)
「part-of」の関係(「一部である」の関係)は、全体と部分の関係を表しています。たとえば「日本 part-of アジア」という関係が成立し、「東京 part-of日本」という関係が成立していれば、「東京 part-of アジア」という関係が成立するので、 「part-of」の関係の場合も推移律が成り立ちそうに見えます。
しかし実際には、「part-of」の関係の場合は推移律が成立するとは限りません。この認識は極めて重要です。「指 part-of 太郎」の関係が成立し、「太郎 part-of野球部」の関係が成立していても、「指part-of 野球部」という関係が成立しないのは明らかでしょう。つまり、「part-of」の関係の場合は推移律が成立するものと、成立しないものがあるのです。
このように「part-of」 にはいろいろな種類の関係があります。たとえば、「車輪 part-of 自転車」の場合は、自転車は車輪が取られてしまうと自転車ではなくなってしまいますが、車輪は車輪のままです。この関係は、先ほどの「指 part-of太郎」 と同じで、全体を文脈として部分の役割が決まります。「太郎 part-of 野球部」という関係は、野球部に所属する太郎という文脈で成立しますが、「指 part-of太郎」という関係は、太郎の身体の一部であるという文脈において成り立つものなので、 それぞれ異なる文脈で役割が決まっている2つは噛み合わなくなるわけです。
他にも例をあげると、「木 part-of森 (木は森の一部)」の場合は、森から木を1本除いても森は森、木は木のままですが、「夫 part-of 夫婦 (夫は夫婦の一部)」の場合は、夫婦から夫が除かれると夫婦は消滅し、夫はただの男になります。また、「ケーキの一片 part-of ケーキ全体 (ケーキの一片はケーキ全体の一部)」の場合は、ケーキ全体から一切れのケーキを除いても、残された方も一切れの方もいずれもケーキですが、「粘土 part-of花瓶(粘土は花瓶の一部)」の場合は、粘土が花瓶自身と同じであると考えられるので、粘土を取り除くと花瓶が消失してしまいます。
このように「part-of」の関係だけでも、最低5種類の関係があることが分かっています。私たちはほとんど意識せずに楽々とこれらの概念を操作していますが、コンピュータにこれを理解させるのは大変難しいのです。実際、上記の5種類の関係を正しくモデル化する言語の開発が望まれていますが、そのようなツールはまだ存在していません。
オントロジーの研究が進み、知識を記述することの難しさが明らかになってくると、次の2つの流れが生まれます。
それぞれ、ヘビーウェイトオントロジー (重量オントロジー)、ライトウェイトオントロジー (軽量オントロジー) という 2つの分類にほぼ対応しています。
ヘビーウェイトオントロジーの場合は、その構成要素や意味的関係の正当性について哲学的な考察が必要なため、 も人間が関わることになる傾向が強く、時間とコストがかかります。一般常識を手動で全て取り込もうとするCycプロジェクトが、1984年の開始から未だに続いているのもその一例です。
ライトウェイトオントロジーの場合は、完全に正しいものでなくても使えるものであればいいという考えから、その構成要素の分類関係の正当性については深い考察は行わない傾向があります。その現実的な思想は「コンピュータで概念問の関係性を自動で見つけよう」という取り組みと相性がよく、たとえば、Webデータを解析して知識を取り出すウェブマイニングやビッグデータを解析して有用な知識を取り出すデータマイニングで利用されています。
こうしたオントロジーの研究は、セマンティックWeb (Webサイトが持つ意味をコンピュータに理解させ、コンピュータ同士で処理を行わせるための技術)や、LOD (Linked Open Data: コンピュータ処理に適したデータを公開・共有するための技術)(注)などの研究として展開されています(図2.23)
(注)LOD (Linked Open Data) 従来のWebがHTML文書問のハイパーリンクによる人間のための信報空間の構築を目的としてきたことに対して、Linked Open Dataでは構造化されたデータ同士をリンクさせることでコンピュータが利用可能な「データのWeb」の構築を目指している。
IBMが開発したワトソン (Watson)は、2011年にアメリカのクイズ番組ジョバディーに出演し、歴代の人間チャンピオンと対戦して勝利したことで一躍有名になりました(図2.24)ワトソンは、基本的にはQuestion-Answering(質問応答)という研究分野の成果ですが、ウィキペディアの情報をもとにライトウェイト・オントロジーを生成して、それを解答に使っています。
ワトソンは、まず質問を分析して解答候補を複数選びます。そして、質問との整合性や条件をそれぞれの解答候補がどの程度満たしているかを複数の観点でチェックし、総合点を算出します。ワトソンは、ここで一番高い総合点が得られた候補を解答として選択するのです。つまり、ワトソンは質問の意味を理解して解答しているわけではなく、質問に含まれるキーワードと関連しそうな答えを高速に検索しているだけです。
もちろん、質問応答システムは長く研究されている分野なので、質問の分析や自然言語処理などで機械学習が取り入れられて進化しているものの、解答を選択する方法として利用している基本技術は従来のものとあまり変わりません。ただひたすら精度を出すための地道な努力の結晶だといえます。
さまざまなデータからライトウェイトオントロジーを生成して質問に答える環境は整ってきています。実際、ワトソンは実用レベルに達しており、その応用範囲も拡大しています。IBMは開発当初、ワトソンを医療診断に応用するとしていましたが、「シェフ・ワトソン」という新しい料理のレシピを考えるような応用にも挑戦し、今ではコールセンター、人材マッチング、広告などなど、幅広い分野で活用されています。
日本でも、東大入試合格を目指す人工知能、「東口ボくん」というプロジェクトが2011年にスタートし、2016年まで続けられました。2016年6月の進研模試では偏差値57.8をマークし、ほとんどの私立大学に合格できるレベルに達しました。しかし、「東ロボくん」は質問の意味を理解しているわけではないので、読解力に問題があり、何らかの技術的なブレイクスルーがない限り、東大合格は不可能という理由から2016年に開発が凍結されています。
本節では、機械学習、ニューラルネットワーク、ディープラーニングの研究の歴史とそれぞれの関係について学びます。
機械学習とは人工知能のプログラム自身がデータから学習する仕組みです。コンピュータは与えられたサンプルデータを通してデータに潜むパターンを学習します。サンプルデータの数が多ければ多いほど、望ましい学習結果が得られます。たとえば、犬と猫を区別できるように機械学習で学習する場合、コンピュータが利用できる犬と猫のサンプル画像 (サンプルデータ)が多ければ多いほど、学習後のテストで犬か猫かを間違える可能性が減ります(図2.25)。また、ある地域のアパートの1ヶ月の賃料を予測したいような場合も、サンプルデータが多ければ多いほど予測精度は上がります。
機械学習では、サンプルデータは複数の特徴の組み合わせで表現されます。例えば、アパートの賃料を示すデータが「広さ」と「築年数」という2つの特徴で構成されている場合、個々のサンプルデータは(8畳、築6年)といった2つの数値の組み合わせ、つまり2次元データとして表現されます。ここに、「最寄り駅からの距離」という特徴を加えると、3次元データになります。一般に、データの特徴が増えると、適切な学習を行うために必要なデータ量が著しく増加する傾向があります。この現象は「次元の呪い」として知られています。これは、データの次元 (データ空間の広さ)に見合ったデータ量がないと、 データが不足している部分の学習が困難になる(汎化性能が落ちる)ために起きる現象です。そのため、多くの特徴を持つデータを機械学習で扱うには、次元 (特徴量)を減らす工夫や、多様かつ質の高いデータを大量に用意することが求められます。
幸いなことに、1990年にインターネット上にWebページが初めて作られ、その爆発的な増加とともにさまざまなデータが蓄積されるようになります(注)。しかし、十分なデータが蓄積されるまでは、大量のデータを必要としない手法が主流でした。その一つがルールベースの手法です。この手法では、システムや製品の振る舞いを人間が事前に決めておくので、システムの振る舞いを厳密に予測できます。また、特定の用途に特化した場合、非常に高い精度と効率を達成することが可能です。 現在でも、日用品から医療や金融システムなど、高速かつ高い信頼性が求められるシステムで広く利用されています。一方で、ルールを設定すること自体が困難である場合も多く、ルールにない想定外の状況には柔軟に対応することが難しいというデメリットもあります。
2000年以降、インターネットの普及によりデータが十分に蓄積されるようになったことで、機械学習はビッグデータ(インターネットの成長とともに蓄積された大容量のデータ) というキーワードと共に注目を集めるようになりました(図2.26)
機械学習は、もともと文字認識などのパターン認識の分野で長年蓄積されてきた技術ですが、インターネットの成長とともに急増したデータの存在が機械学習の研究を加速し、実用化できるレベルに達するに至りました。ユーザーの好みを推測するレコメンデーションエンジンや迷惑メールを検出するスパムフィルタなども、膨大なサンプルデータを利用できるようになった機械学習によって実用化されたアプリケーションです。
(注) インターネット上のWebページは、1990年にティム・バーナーズーリーによって初めて作られて以来、爆発的に増え続けています。Googleの検索エンジンが登場したのが1998年で、同じ年に、データマイニングの研究を促すSIGKDD (Knowledge Discovery and Data Miningの分科会) という国際的な学会も創設されています。
インターネット上のWebページの爆発的な増加は、自然言語処理を利用したWebページ上の文字を扱う研究を加速し、その結果、統計的自然言語処理と呼ばれる分野の研究が急速に進展しました。統計的自然言語処理を使った翻訳では、従来のように文法構造や意味構造を分析して単語単位で訳を割り当てるのではなく、複数の単語をひとまとまりにした単位(句または文単位)で用意された膨大な量の対訳データをもとに、最も正解である確率が高い訳を選択します。
たとえば、「bank」という言葉には、「銀行」または「土手」という言葉が訳語候補となりますが、対訳データ(これをコーパスと呼びます) をたくさん持っていれば、「bank」の近くに「money」や「in」という単語が現れた場合は、「銀行」という訳になる確率が高いということを、機械学習を使って学ぶことができるわけです(図2.27)
機械学習では、「注目すべきデータの特徴」の選び方が性能を決定付けます。
たとえば、あるビールメーカーが機械学習を使って真夏のビールの売り上げを予測する場合、「気温のデータ」に注目すると精度の高い売り上げ予測ができそうです(図2.28)。しかし、ビールを出荷する先の「店舗の壁の色」に注目しても、意味のある予測はできないでしょう。店舗の壁の色はビールの売り上げとほとんど関係がないからです。
注目すべきデータの特徴を量的に表したものを、特徴量と呼びます。つまり、先の例では「気温」を特徴量として選んだことになります(注)。この場合、機械学習は、特徴量として与えられたものを利用するだけで、特徴量そのものの選択には関わりません。特徴量の選択は人間が行うことになります(図2.29)。
(注)本当に「気温」がよい特徴量であるという確信を得るには、与えられたデータをきちんと分析し、売り上げと気温の間に強い相関関係があることを発見しなければなりません。
正しい特徴量を見つけ出すのは一般に非常に難しいタスクです。たとえば、画像の中から車を見つけたい場合、私たちは車にタイヤがあることを知っているので、タイヤの存在を特徴量として使いたくなります。しかし、同じタイヤでも写っている角度が違えば見え方は大きく変わりますし、同じ角度で写っているタイヤでも昼と夜では白っぽくも黒っぽくもなるため、タイヤを特徴量として使うことが正しいとは限りません。
このように、人間が特徴量を見つけ出すのが難しいのであれば、特徴量を機械学習自身に発見させればよいでしょう。このアプローチは特徴表現学習と呼ばれています(2.30)
ディープラーニング (深層学習)は、「特徴表現学習」を行う機械学習アルゴリズムの1つです。ディープラーニングは、 与えられたデータの特徴量を階層化し、それらを組み合わせることで問題を解きます。
たとえば、写真に写っている物体を分類する場合、ディープラーニングは入力として与えられた大量の画素データを元に特微表現学習を行い、単純な概念から複雑な概念を構築することができる特徴量を抽出している(学習している) と考えることができます。図2.31は、いろいろな種類の「エッジ」が組み合わさることで「輪郭」が構築され、同様にいろいろな種類の 「輪郭」が組み合わさることで「物体の一部」が構築される様子を端的に示したものです。
ディープラーニングに関するもう1つの視点は、ニューラルネットワーク自身が複数ステップのコンピュータプログラムを学習できるということです。
このポイントを理解するには、次のように視点を切り換えます。ニューラルネットワークの各層を、「コンピュータが複数の命令を同時に実行する1つのステップ」だと見なします(図2.32) この場合、階層構造が深くなるということは、ステップ数が多いプログラムを作ることができることを意味します。また、各ステップは順番に処理することができるので、後から実行する命令が、それよりも前に実行された命令の実行結果を利用するプログラムを作ることもできます。つまり、ニューラルネットワーク自身が、複数ステップのコンピュータプログラムを作ることができる (学習できる) ということになります。
この視点に立てば、特徴量は入力データとは無関係で、与えられた問題を解くために必要な処理(プログラム) に役立つ情報が特徴量として抽出されていると考えることができるわけです。
このように、ディープラーニングで抽出される特徴量がどのようなものなのか、ある程度イメージすることはできます。しかしながら、ディープラーニングのように特徴表現学習を行う機械学習の場合は、コンピュータが自動的に特徴量を抽出するため、特徴量が意味することを本当の意味で理解することはできません。それが、ディープラーニングは「判断理由が示せないブラックボックス型の人工知能」であるといわれるゆえんです。人間の場合も、必ずしも明確に判断理由を説明できるわけではないので、人間と似ていると言えるかもしれません。
機械学習は人工知能のプログラム自身がデータから学習する仕組みです。ニューラルネットワークを用いて実現する方法もその1つです。
ニューラルネットワークは機械学習の1つで、生物の神経回路を真似することで学習を実現しようとするものです。
1943年、神経生理学者のウォーレン・マカロックと数学者のウォルター・ピッツが生物の神経細胞を単純化した最初のニューロンモデル(形式ニューロンモデル)を発表します。しかし、その振る舞いはあらかじめ固定されており、学習によって
振る舞いを変えることはできませんでした。学習可能なニューロンモデルの元祖は、米国の心理学者フランク・ローゼンブラットが1958年に提案したパーセプトロンです(図2.33)。
これは1つの神経細胞 (ニューロン) を単純化したモデルで、ニューロンに接続している各入力の「重み」を調整することで(つまり、学習することで)、2つの対象を分離する直線を見つけることができました(図2.34の左)。つまり、パーセプトロンは直線で分離可能な分類問題(たとえば、○と×を別々のグループに分ける問題)を解くことができるのです 14章の4-1 「1.1 単純パーセプトロン」参照)
神経細胞を模したニューロンモデルを使って分類問題を解くことができたことで、人間の脳と同等の情報処理ができるようになるかもしれないという期待が高まり、ニューラルネットワーク研究に対する人々の関心がピークに達します。しかし、 1969年にマーピン・ミンスキーらによって、「パーセプトロンは直線で分離できない分類問題に対応できない」というバーセプトロンの限界(図2.34の右)が明らかになると、ニューラルネットワークの研究はいったん下火になってしまいます。 1940年代から1970年代初期は、ニューラルネットワークの第1次ブームと呼ばれています。
深く多層化したニューラルネットワークを使って、データに潜む特徴を自動的に学習する手法がディープラーニング(深層学習)です(図2.30) ニューラルネットワークを多層化すること自体は難しくありません(たとえば、図2.35の3層パーセプトロン)。しかし、多層化したニューラルネットワーク全体を学習させる方法は、1986年にデビッド・ラメルハートらが誤差逆伝播法(バックプロパゲーション) という手法を提唱するまで広く知られていませんでした。それまでは、最後の層のニューロンだけを学習させることが一般的な限界だったのです。
1986年、多層パーセプトロン(複数のパーセプトロンを階層的に接続したもの)とその学習法(誤差逆伝播法)をラメルハートらが提案し、ミンスキーらが指摘したバーセプトロンの限界を解決できることが分かると、第2次ニューラルネットワークブームが起きます。この時期、ニューラルネットワークの研究が再び活発に行われるようになり、現在のディープラーニングにインスピレーションを与える多くのアイデアが生まれました。
たとえば、生物の視覚系の神経回路を模倣したニューラルネットワークは1979年に福島邦彦がネオコグニトロンというモデルを発表していましたが、ネオコグニトロンが発表された当時は誤差逆伝播法がまだ知られていなかったため、すべての層のニューロンの重みを調整する (学習する)方法は存在しませんでした。1989年、ヤン・ルカンは、ネオコグニトロンと同等なアイデアを採用した「畳み込みニューラルネットワーク」の構造をLeNetと名付け、そのニューラルネットワークの学習に誤差逆伝播法を利用することを提案し、現在の画像認識ニューラルネットワークの基礎を築きました。
このままニューラルネットワークの階層をどんどん深くしていけば、実用性の高いディープラーニングは簡単に実現できるように見えましたが、実際には思いがけず時間がかかりました。
まず、誤差逆伝播法を使用して多層化したニューラルネットワークを学習させることができたとしても、当時のコンピュータでは計算に時間がかかり過ぎるという問題がありました。また、ニューラルネットワークを3層より深くしても、学習精度が上がらない、あるいは学習が困難になるという壁に直面します。そうした状況の中、1992年から1995年にかけてアメリカのベル研究所のヴァプニクらが開発した「サポートベクターマシン」と呼ばれる手 (3章の3-1 「2.5 サポートベクターマシン」参照)が機械学習のアプローチとして人気を集めるようになり、第二次ニューラルネットワークブームは1990年代中頃に終焉してしまいます。
ブームが去った後も、ニューラルネットワークの可能性を信じる研究者達によって研究が続けられ、現在の成功につながる基礎が築かれていました。多層にしても学習精度が上がらないという問題については、入力したものと同じものを出力するように学習するオートエンコーダ (自己符号化器) (5章の「5-4 オートエンコーダ」参照)の研究や、層の間でどのように情報を伝達するかを調整する活性化関数 (4章の「4-6活性化関数」参照)の工夫などを足場にして、4層、5層と層を深くしても(つまりディープにしても) 学習することが可能になりました(図2.36)
こうした地道な研究の積み重ねにより、学習精度が高い多層のニューラルネットワークの構築が可能になり、データ量の増加とハードウェアの処理能力が向上したこともあって、ディープラーニングの躍進が始まります。
2012年、画像認識の精度を競い合う競技会ILSVRC (ImageNet Large Scale Visual Recognition Challenge) でトロント大学のジェフリー・ヒントンが率いるSuperVisionが圧倒的な勝利を収めました。この競技会では、画像に写っているものが何なのかをコンピュータが推測する課題が与えられ、正解率を競い合います(実際にはどれだけエラーが少ないかを競い合います)。コンピュータは1000万枚の画像データを使って学習し、その学習成果をテストするために用意された15万枚の画像を使って正解率を測定するのです。
当時、画像認識に機械学習を用いるというのは常識になっていましたが、機械学習で用いる特徴量(注目すべきデータの特微)を決めるのは人間でした。機械学習では、この特徴量の選び方の良し悪しが機械学習の性能を決定づけます。ですから、 その性能は特徴量の選択を担当する人間の経験と知識がものをいう。職人芸に依存するといっても過言ではありませんでした。
世界中の画像認識の研究者(特徴量設計のプロ)が似たようなことを考えている中、他者を1%でも出し抜くことは非常に難しいチャレンジになるはずです。チャンピオンのエラー率は、この競技会が始まった2010年で28%、翌年2011年で26%になっており、既に職人芸の極みに達していました。よって、2012年の競技会では26%台の戦いになるはずだというのが大方の予想でしたが、2位である東大のISIのエラー率を10%以上も引き離し、トロント大学のSuperVisionがエラー率15.3%という衝撃的な結果で優勝しました(図2.37)。
2012年に初参加したトロント大学がいきなりエラー率15%台をたたき出したのは、文字通り「桁違い」の勝利でした。この勝利をもたらしたものが、同大学のジェフリー・ヒントンが中心となって開発した新しい機械学習の方法 「深層学習(ディープラーニング)」だったのです (この時に開発されたニューラルネットワークのモデルはAlexNetと呼ばれます)。
ディープラーニングの研究そのものは、2006年ごろからジェフリー・ヒントンが牽引して進められていましたが、その技術を画像認識に応用すれば、従来の機械学習よりも優れた結果を出せることを証明した瞬間でした。
2012年以降、ILSVRCのチャンピオンはすべてディープラーニングを利用しています。ディープラーニングの階層をより深くしたり、新しいテクニックを追加したりすることで画像認識エラーは激減し、2015年に人間の画像認識エラーである4%を抜いたことが大きな話題になりました(図2.38)
2022年11月、AI界に新たな旋風を巻き起こしたのは、OpenAIが公開した革新的な対話システム、ChatGPTの登場でした。ChatGPTはGPTと呼ばれる大規模言語モデルを活用したサービスで、前例のないスピードでユーザー層を拡大し、個人や会社だけでなく、日本政府が行政業務の一部にその導入を早期に決めたことでも話題になりました。「生成AI」という言葉を広く社会に浸透させたのもChatGPTと言って良いでしょう。ChatGPTは、大量の文章を学習しているので、たくさんの候補の中から、文章の次に続く最も適切な単語を確率的に選ぶことが可能で、そうした選択を次々と繰り返すことで自然な文章を生成することができる「生成AI」なのです(図2.39)
人間レベルの自然な文章を作成できる「生成AI」の技術は「トランスフォーマー (Transformer)」と呼ばれる技術に支えられています。それは、2017年にGoogleの研究者が中心になって発表された「Attention Is All You Need (アテンションだけで十分)」という論文で提案された技術で、驚くほど柔軟かつ効率的にAIが言葉を学習することを可能にしました。
統計的自然言語処理や、自然言語処理で従来利用されていたニューラルネットワーク (RNNやLSTM: 5章の 「5-2 リカレントニューラルネットワーク」参照)では、単語の意味を大きな文脈の中で(つまり、他の単語との関係性の中で) 把握することが困難だっただけでなく、学習に恐ろしいほど時間がかかりました。「トランスフォーマー」は、文章中の単語の位置を考慮し、単語と単語の関係性(これは「アテンション(注意力)」と呼ばれる方法を使って求められる)を広範囲にわたって学習します(図2.40)。そうすることで、さまざまな文脈や状況で使われる単語の意味やニュアンスを深く理解できるだけでなく、文中の任意の単語問の関係性を複数同時に効率よく計算することを可能にしたのです。
大量の言語データを学習する能力を持つ、大規模なニューラルネットワークを「大規模言語モデル (Large Language Model, 略称LLM)」と呼びます。LLMは与えられた大量の文章を学習することで、一般的な言語の構造、文法、語彙などの基本を学びます。これを事前学習と呼びます。しかし事前学習だけでは、学習した文章を単純に再現するだけになってしまいます。つまりそれだけでは、論理的な回答を生成したり、不適切な発言を避けたりすることを学んでいないため、人間が望ましいと考えるAIになりません。そこで、ファインチューニング (微調整) と呼ばれる学習を追加し、特定のタスクや応用分野に焦点を当てた訓練を行うことで、文脈を理解して論理的かつ適切な回答を生成する能力を向上させます。また、ユーザーのフィードバックを通じて間違いを修正し、継続的に学習と改善を行います。
LLMの規模は、学習によって調整可能なニューロンのパラメータ (重み)の個数で比較されます。2020年、OpenAlは、トランスフォーマーをベースとしたLLMの性能は、利用可能なデータ量や計算リソースに制限がなければ、パラメータの個数を多くすればするほど性能向上が見込めることを指摘しており、GPT (Generative Pre-trained Transformer) と呼ばれるLLMの規模を著しく拡大しました。ChatGPTはGPTをベースにしており、そのパラメータの個数は、GPT-2 (2019 年)は約15億個、GPT-3(2020年)は約1750億個、GPT-4(2023年)は1兆個を超える規模だといわれています。LLMが特定の規模に達すると、事前に想定されていなかった能力を獲得する(例えば、プログラムを生成する能力を獲得する)ことが報告されており、興味深い研究対象となっています。
以下の文章を読み、空欄に当てはまる言葉の組み合わせとして、最も適切なものを1つ選べ。
迷路をコンピュータに理解できる構造で表現する方法の1つに(ア)がある。これは枝分かれする木のような構造をしており、それぞれの枝が条件の異なる場合分けに対応している。これは、場合分け(枝)を追って行けばいつか目的の条件に合致するものが見つかるという単純な考えを基礎にしている。枝を探索する方法には(イ)と(ウ)があり、( イ)であれば最短距離でゴールにたどり着く解を必ず見つけることができるが、探索中にメモリ不足となる可能性がある。 一方、(ウ)では、探索に大量のメモリを必要としないが、解が見つかったとしても最短距離でゴールにたどり着く解とは限らない。
4
探索木は、迷路を枝分かれする木のような構造で表現する方法の1つです。幅優先探索は、最短距離でゴールにたどり着く解を必ず見つけることができますが、たどった場所を全て記憶しておかなければならないため、メモリ不足で処理が続行できなくなる可能性があります。深さ優先探索は、探索に失敗した場合は1つ手前の場所に戻って探索し直せば良いので、たどった場所の多くを記憶しておく必要はありません。そのため、メモリ不足になることはありませんが、最短距離でゴールにたどり着くとは限りません。 [参照]2-1 「1.1 迷路(探索木)」
下図のような木構造で表された迷路において、スタート (S) からゴール (G) までたどり着くパスを探索する場合、最も適 切なものを1つ選べ。
4
幅優先探索でGにたどり着くことができるのは、左側優先で探索した場合は6回、右側優先で探索した場合は5回です。深さ優先探索では、左側優先で探索した場合は8回、右側優先で探索した場合は4回となります(新しいノードに移った後は、必ず先に右側を探索するので、3回でゴールすることはできません)。
以下の文章を読み、空欄に最もよく当てはまるものを1つ選べ。
ボードゲームをコンピュータで解く基本は探索である。代表的なボードゲームでは探索の組み合わせの数は( )の順に大きくなるが、その組み合わせは天文学的な数であるため、事実上全てを探索することはできない。
1
探索の組み合わせが多いボードゲームほど難しいといえます。オセロとチェスは1997年に人工知能が人間のチャンピオンに勝利しました。将棋で人間のレベルを超えたのは2015年でしたが、囲碁では2015年時点でコンピュータの実力は人間のアマチュア6、7段程度でした。世界チャンピオンに勝つにはさらに10年はかかると思われていましたが、2016年3月9日に人工知能の囲碁プログラムAlphaGoが人間のチャンピオンに勝ち越しました。
探索空間が大きすぎて事実上すべてを探索できないという問題に対処する方法に関する説明として、不適切なものを1つ選べ。
2
探索してもあまり意味がない部分(つまり、探索コストが高すぎる部分)がはじめから分かっていれば、その部分を探索対象から外すことで、効率の良い探索を遂行できます。問題はコスト計算の根拠となるコストをどのように手に入れるかですが、あらかじめ知っている知識や経験(これを「ヒューリスティックな知識」と呼びます) をベースにコスト計算するのが1つの方法です(選択肢1の方法)。Mini-Max法の探索木の枝を切り落とすことで探索効率を上げる方法をẞ法と呼びます(選択肢3の方法)。αβ法では、スコアが大きくなる枝を探している時に行う枝刈りをカットと呼び、 スコアが小さくなる枝を探している時に行う枝刈りをカットと呼びます。
選択肢2は「ブルートフォース」ではなく「モンテカルロ法」の説明なので誤りです。そもそも「ブルートフォース (力任せ)」とは、コンピュータを使って力任せに処理を行うことなので、探索空間が大きすぎる場合は使えません。一方で、モンテカルロ法を使ってゲームをプレイアウトする方法は、ゲームをブルートフォースで押し切る方法だといえます(選択肢4の方法)。ゲーム後半は探索の組み合わせが少なくなるのでブルートフォースが可能になります。
【参照】2-1 「1.4 ボードゲーム(オセロ・チェス・将棋・囲碁)」
オントロジーに関する説明として、不適切なものを1つ選べ。
4
オントロジーは「存在論」という意味の哲学用語です。対象とする世界に存在するものをモデル化するための概念体系(「概念化の明示的な仕様」) をオントロジーと呼ぶようになりました。オントロジーの目的は効率よく知識を共有し活用することでした。そのために必要な約束事 (仕様)がオントロジーです。Cycプロジェクトの「Cyc」は「Encyclopedia (百科事典)」に由来しています。一般常識を全てデータベース化しようとした野心的なCycプロジェクトは現在も続いています。
意味ネットワークに関する説明として、適切なものを1つ選べ。
意味ネットワークは「概念」と「概念問の関係」をネットワークとして表す。特に重要な関係として(ア)の関係と (イ)の関係がある。「哺乳類」と「動物」の関係は「(ア)の関係」、「足」と「犬」関係は「(イ)の関係」である。
5
この問題では、「哺乳類 is-a 動物」 (哺乳類は動物「である」)、「足 part-of 犬」(足は犬の「一部である」)という関係が正解です。意味ネットワークは人間にとって直感的で分かりやすく、また、ある概念に関連する知識がリンクを元にたどれるので知識の検索も容易です。
[参照]2-2「1.4 意味ネットワーク」
「is-a」の関係と「part-of」の関係に関する説明として、不適切なものを1つ選べ。
3
「is-a」の関係は推移律が必ず成立しますが、「part-of」の関係では推移律が成立するとは限りません。たとえば、「指part-of 太郎」と「太郎 part-of 野球部」が成立しても「指 part-of 野球部」は成立しません。「指 part-of 太郎」は太郎の体の一部という文脈で成立し、「太郎 part-of 野球部」は太郎が野球部に所属しているという文脈で成立しており、それぞれ異なる文脈で役割が決まっている2つは噛み合いません。「part-of」の関係には他にもいろいろな種類のものがあり、最低5つの関係があることが分かっています。
オントロジーの構築に関する説明として、不適切なものを1つ選べ。
3
ウェブマイニングやデータマイニングと相性が良いのは、「コンピュータで概念間の関係を見つけよう」という現実的な思想を持つ「ライトウェイトオントロジー」です。セマンティックWebは、Webサイトが持つ意味をコンピュータに理解させ、コンピュータ同士で処理を行わせるための技術のことで、LODはWeb上でコンピュータ処理に適したデータを公開・共有するための技術のことです。セマンティックWebもLODもオントロジーの研究をベースにしています。
[参照]2-2「1.7 オントロジーの構築」
機械学習とデータに関する説明として、不適切なものを1つ選べ。
3
機械学習はサンプルデータの数が少ないと精度が高い学習を達成できません。インターネットの普及により急増したデータが機械学習の研究を加速させました。レコメンデーションエンジンやスパムフィルターは、ビッグデータを利用した機械学習を利用することで実用化に成功したアプリケーションです。機械翻訳は古くから人工知能の研究対象であったが、膨大な対訳データ(コーパス) が利用可能になったおかげで統計的自然言語処理の研究が急速に進展し、翻訳精度が向上しました。
画像認識に関する説明として、不適切なものを1つ選べ。
1
SuperVisionは、2012年の「ILSVRC」に参加したジェフリー・ヒントンが率いたチームの名前です。 に参加したジェフリー・ヒントンが率いたチームの名前です。SuperVisionが開発したニューラルネットワークは「AlexNet」と呼ばれています。SuperVisionは、2位である東大のISIチームのエラー率を10%以上引き離し、圧勝しました。2012年以降のILSVRCのチャンピオンは全てディープラーニングを利用しています。
第1次AIブームにおける「探索」に関する説明として、最も不適切なものを1つ選べ。
1
幅優先探索は、答えにたどり着くまでに立ち寄ったノードを全て記憶しておかなければならないため、メモリ不足になる可能性があります。深さ優先探索は、立ち寄ったノードが解ではない場合は、それを記憶せずに1つ手前のノードに戻って探索し直せば良いので、メモリはあまり必要ありません。
ビッグデータについて述べたものとして、最も適切なものを1つ選べ。
3
ビッグデータは膨大な量のデータを指しますが、その量に関する具体的な基準値は存在しません。あらかじめ定義された形式に従わないデータを非構造化データと呼びます。例えば、テキストデータ、画像データ、動画データ、オーディオデータなどが非構造化データの例ですが、これもデータ量が膨大な場合はビッグデータと呼ばれる対象になります。データ量が膨大だということとデータの更新頻度は無関係です。
Mini-Max法を改良し、効率よく同じ結果が得られるようにしたアルゴリズムの呼称として、最も適切なものを1つ選べ。
4
モンテカルロ法は数多くランダムに手を打ち、その中から最良の手を選ぶ方法です。「ブルートフォース (力任せ)」とはコンピュータを使って力任せに処理を行うことであり、プレイアウトとは最後までゲームを進めてしまう行為のことです。
以下の文章を読み、空欄に最もよく当てはまるものを1つ選べ。
() はロボットの行動計画などのプランニングのための手法であり、前提条件・行動・結果の3つで記述する。
1
STRIPSは、ロボット工学やAIにおける行動計画作成のための言語およびアルゴリズムのセットとして設計され、後の多くの計画システムや理論の発展に影響を与えました。SHRDLUは音声認識を使った対話で指示を受け取り、「積み木の世界」に存在する物体を動かすことをプランニングできました。Cycプロジェクトは、全ての一般常識をコンピュータに取り込むことを目的に1984年にスタートし、現在もまだ続いています。モンテカルロ法は、数多くランダムに試行錯誤した結果から適切な解を推定する方法です。
以下の文章を読み、空欄に最もよく当てはまるものを1つ選べ。
大規模言語モデルは与えられた大量の文章を学習することで、一般的な言語の構造、文法、語彙などの基本を学ぶが、それだけでは人間が望ましいと考える回答を生成できないため ( ) と呼ばれる学習も行う。
3
大規模言語モデルは、与えられた大量の文章を事前学習 (プリトレーニング) することで、一般的な言語の基本構造を学んだ後、ファインチューニングと呼ばれる学習を行うことで文脈を理解し、論理的かつ適切な解答を生成する能力を向上させます。
トランスフォーマーとそれを用いた大規模言語モデル (LLM) に関する説明として、最も不適切なものを1つ選べ。
2
大規模言語モデルを構成するニューラルネットワークのパラメータの個数を増やしても、学習データや計算リソースが十分に足りていなければ性能向上は期待できません。
以下の文章を読み、空欄 (A) (B) に最もよく当てはまるものを1つ選べ。
ある問題をコンピュータで解くため、図のような探索木を考えた。これを幅優先探索で解くことを考える。「スタートS」から「ゴールG」まで左側のノードを優先して探索を行った場合と、右側のノードを優先して探索を行った場合では、(A) の方が探索回数は少なくて済む。また、幅優先探索は深さ優先探索と比較して、一般的に (B) という特徴がある。
3
左側優先(左側のノードを優先)して検索した場合、Gへは11ステップで到達します(図2.5参照)。一方、右側優先(右側のノードを優先)して検索した場合、Gへは8ステップでゴールに到達できます。幅優先検索では、メモリの使用量が多くなってしまうというデメリットがありますが、ゴールに最短距離で到達できる解を必ず見つけることができるというメリットがあります。
迷路の問題を解く際に用いる探索木の探索において、深さ優先探索の説明として、最も適切なものを1つ選べ。ここで迷路のスタートを探索木のルートとし、探索木の終端は行き止まりまたはゴールとする。
1
深さ優先探索ではメモリの使用量が少なくて済みますが、最短距離でゴールにたどり着く経路とは限りません。
第3次AIブーム以降、ディープラーニングの活用が進んだ理由として、最も不適切なものを1つ選べ。
4
ルールベースのAIは、特定の用途に特化した場合、非常に高い精度と効率を達成することが可能です。現在でも、日用品から医療や金融システムなど、高速かつ高い信頼性が求められるシステムで広く利用されています。
意味ネットワークを構築する上で重要となる概念間の関係性として、最も適切なものを1つ選べ。
1
「is-a」の関係(「である」の関係)は、概念間の継承関係を表します。選択肢2、3、4のような関係は、意味ネットワークでは定義されていません。
1964年から1966年にかけてジョセフ=ワイゼンバウムによって開発されたイライザ (ELIZA) の説明として、最も不適切なものを1つ選べ。
1
イライザは相手の発言を理解しているわけではなく、基本的にオウム返しに相手の発言を再利用しているだけでしたが、イライザと対話しているとあたかも本物の人間と対話しているような錯覚 (イライザ効果) に陥る人が続出しました。
ウェブマイニングやデータマイニングにおいて知識を取り出す取り組みとして、最も適切なものを1つ選べ。
1
ライトウェイトオントロジーの場合は、完全に正しいものでなくても使えるものであればいいという考えから、その構成要素の分類関係の正当性については深い考察は行わないという傾向があります。
以下の文章を読み、空欄に最もよく当てはまるものを1つ選べ。
()は、血液中のバクテリアの診断支援をするプログラムで、「もし (if) 以下の条件が成立すると、そうしたら (then)、その微生物は○○である」のルールに基づいて判定を行う。
3
マイシンは、あたかも感染症の専門医のように振る舞うことができました。
知識獲得のボトルネックの説明として、最も適切なものを1つ選べ。
1
人間が持っている知識は膨大で、専門知識だけでなく一般常識も含めた全ての知識をコンピュータに獲得させることは難しいとされています。この難しさを「知識獲得のボトルネック」と呼びます。
ディープラーニングによる機械学習が注目されるきっかけとなった2012年の出来事として、最も適切なものを1つ選べ。
2
2012年に開催されたILSVRCでディープラーニングを用いた手法が圧勝し、ディープラーニングが大きな注目を集めるきっかけとなりました。
次元の呪いに関する説明として、最も不適切なものを1つ選べ。
2
精度に影響する特徴を適切な数だけ選択できれば、学習モデルは適切な精度を出すことができます。
次元の呪いについて、空欄(A) (B) に最もよく当てはまるものを1つ選べ。
次元の呪いは、特徴量が多くなりすぎると (A)の向上が困難となる現象のことをいう。それを避けるためには特徴量に見合った膨大な量のデータを用意するか、現実的には特徴量の中から必要なものを選び出す (B)や、できるだけ元の情報量を損なわないように低次元のデータに変換する次元削減といった手法が取られている。
1
特徴量が多くなりすぎると、データが不足している領域の予測が困難になります(汎化性能が向上しにくくなります)。そのため、次元削減という手法を使って特徴量を減らす必要があります。
特徴抽出の説明として、最も適切なものを1つ選べ。
1
ディープラーニングによって抽出した特徴は、データの分類問題を解くときにも有用です。