original image: © exopixel - Fotolia.com
これからの時代、混乱しないために知っておきたいAIの歴史
To be or not to be
2016.11.25
Updated by Ryo Shimizu on November 25, 2016, 08:22 am JST
original image: © exopixel - Fotolia.com
To be or not to be
2016.11.25
Updated by Ryo Shimizu on November 25, 2016, 08:22 am JST
先日、Watsonの会話エンジンについて書いた記事が反響を呼んでいようです。
もちろん記事を書く以上は反響をある程度期待するものの、単に他社の技術を名指しして「あれは(今話題になっている)AIではない」と指摘するだけでは公平とは言えないでしょう。
ただ、少なくない人々がこのようにAIまたは人工知能という用語をバスワードとして濫用することを危惧していることは間違いありません。
そこで、あたかも現世代のAIが万能であるかのように喧伝されているもののうち、できることとできないことを整理しておこうと思います。
カビの生えた技術の焼き直しと、本物の最新技術を見分けるには、AIの歴史を正しく把握することが重要です。
まず、AIという言葉の定義をしておきましょう。
AIとは、Artificial Intelligence、つまり、人工的な知性です。
ただし、単に人工的な知性「だけ」を意味するのであれば、ゲームの敵キャラクターの単純な動きでさえも、外国のゲーム開発者たちは単に「AI」と呼んでいます。一般ユーザがイメージするものよりも遥かに単純なものでさえ、海外のある領域では「AI」と呼ぶのが当たり前なのです。この前提知識がないと、「AI」という言葉に騙されることになります。
たとえば、日本人にはおなじみの「かな漢字変換」や「ローマ字漢字変換」も、広い意味では「AI」技術です。実際、かつてNECは自社のかな漢字変換システムを「AIかな漢字変換」と呼んでいたことがありました。
AIという言葉は、その夢のある響きとは裏腹に、かなり原始的な領域に対しても使われる可能性がある言葉であるということにまず注意しなければなりません。
つまり、乱暴に言えば、全てのコンピュータがAIだと考えることが出来ます。
AIにまつわる誤解を利用した誇大広告の出発点は、これです。
たとえば、大昔は、電波のチューニングを自動的にスキャンする機能ですら「電子頭脳搭載」と呼ばれたり、単純なタイマーですら「AI」の原型と呼ばれたりしていました。
そもそもAIとそれ以外の電子機器を区別するのは困難なのです。
ですから、むしろ全てのコンピュータはAIであり、全てのソフトウェア技術はAI技術である、と考えてみることにしましょう。乱暴すぎる分類だと思われるかもしれませんが、そう考えたほうが、インチキな誇大広告に騙される可能性は減ります。
我々が既に知っている、既に使っているコンピュータやスマートフォンといった製品群は、第二世代AIまでだと呼ぶことが出来ます。
実を言えば、そもそもコンピュータそのものが、人間にしかできないと思われていた知的作業を代替する目的で作られました。
ただし最初のコンピュータが可能だったのは、それぞれ設計時に決められた計算をこなすだけに過ぎず、今のイメージでいえば電卓のような限られた機能しか持ちませんでした。これを第0世代AIと呼ぶことにします。
後に、プログラム内蔵方式が発明され、簡単な計算の組み合わせや単純な情報処理だけならば、ある程度汎用的に使うことができるようになりました。今、普通の人が当たり前のように使っているコンピュータの原型となるものです。
本稿ではこれを、第一世代AIと呼ぶことにします。
第一世代AIが解決可能な問題は、ごくごく単純なものに限られました。それはメモリーや処理速度が十分ではなかったからです。それでも第一世代AIを使って、人類は月に行くことが出来るようになりました。
第一世代AIは、第0世代AIに比べて遥かに汎用的でしたが、汎用的に使うためにはプログラミングをする必要がありました。
だから第一世代AIは、プログラマーの力なくしては能力を発揮できないという意味で、完全な知能の代替にはなりません。
次に生まれたのは第二世代AIです。これは、人間の知識の多くが言葉で書かれていることに着目し、言葉の構造をひたすら分解していき、その相関関係を論理的に説明することができれば、機械は知能を持つことが出来るという仮説から生まれました。
知識ベース処理とも言われ、たしかに論理構造を完全に記述できれば、これは強力な知識の道具に成りえました。この世界ではプログラミングそのものはほとんど必要とされず、必要な知識を人間が教えてあげさえすれば、その知識の裏側にある論理構造を機械が理解し、瞬時に答えることができるというものでした。
この夢のようなシステムはエキスパートシステムと呼ばれ、数多くの企業が自社の持つノウハウをエキスパートシステムに実装したがりました。
しかしこの試みは破綻します。
なせならば、たとえ従来型のプログラミングが不要になったとしても、信じられないくらい膨大な知識を予め人間が入力しなければならないのです。しかも、矛盾していることは許されません。
人間が正しく知識を入力できなければその人工知能は正しく動作しません。したがって、全てのものごとについて正しい知識を入力する人間が必要になったわけですが、そもそもそんなに完璧な人間というのは居ません。
結局、この第二世代の人工知能の主な成果は、今ではアキネーターというお遊びソフトとして知られる程度にとどまっています。
こうした論理構造を記述する機械のことを、当時の日本人はなぜか「第五世代コンピュータ」と呼んでいました。
第五世代コンピュータの目標は「述語論理による推論を高速実行する並列推論マシンとそのオペレーティングシステムを構築する」ことでした。
コンピュータとしての第五世代であって、AIとしては第二世代であるという言葉上の違いに留意してください。
第五世代コンピュータ計画は、莫大な国家予算と10年もの歳月を賭して、失敗しました。
述語論理による推論を高速実行する並列推論マシンが第五世代コンピュータであるというそもそもの前提が間違っていたからです。実際には目指した世界はもっと先の時代にならないと訪れず、未だに我々は1970年代に通産省(現経産省)が掲げた第五世代コンピュータの時代にも到達していないのです。
しかし、当時の第五世代コンピュータ計画が標榜していた技術のうちいくつか、たとえば並列演算による高速処理は、今でいうGoogleの検索エンジン技術に、述語論理による演算は未だにPrologという言語を使用して実際の遺伝子研究や創薬などに活用されているそうです。さらに、Prologは、W3Cの策定するRDFクエリー言語「SPARQL」にも強い影響を与えるなど、完全に死んだわけではありませんが、まだまだ一般の人が当たり前のように使うには時間がかかると言われています。
AIの方が技術のスコープが広いので、AIの世代に当てはめると、第五世代コンピュータはちょっと飛びすぎました。
第二世代AIの時代に研究された第五世代コンピュータはまだ実現していませんが、これは要するにあまりにも高い目標を掲げすぎた、ということが問題になっているだけでいずれ花開く可能性は十二分に秘めています。
さて、第二世代AI最大の成果はなんなのかと言うと、間違いなくワールドワイドウェブ、つまりWWWです。
WWWを記述するHTMLは、述語論理のデータを記述するために考えられたメタ言語、SGMLをルーツとしており、それをより柔軟にしたものです。
HTMLはSGMLに比べると柔軟であるがゆえに参入障壁が低く、これが全世界の情報をとりあえずHTML化する大きな動機になりました。
HTMLが十分普及したあと、さらに情報を構造化するためにXMLが考案され、現在のHTMLはXMLの方言となっています。
さらにXMLを用いてよりメタデータの比率を高めたRDF(Resource Definition Framework)が生まれ、これが現在、SmartNewsなどが使用する重要なデータ交換フォーマットになっています。
HTMLを効率的に検索するために開発されたのが検索エンジンで、特に自動的にインターネットをクロールして検索するロボット型検索エンジンの登場でインターネットの情報は世界中のどこにあっても検索でたどり着けるのが当たり前になりました。
当たり前になりました、と書きましたが、これが当たり前になったのは、わずか2002年頃のことです。
2000年頃は、まだ社内で「どうすればYahooのネットサーファーにうちの会社のWebページのアドレスを承認してもらえるだろうか。広告費を払う必要があるのか」という間の抜けた議論を真剣にネット企業がしていた時代です。
Googleが躍進したのは、特定のキーワードに関して、得られる膨大なWebページの情報を並列処理と、ページ間の相互関係によって重要度別に振り分ける機能を開発したからです。
今思えば極めて単純なことなのですが、単純であるがゆえに誰も真似出来ない領域まで行ってしまったのです。
時を前後して2001年にWikipediaが生まれ、世界中の知識が整理され、構造化される下地が整いました。
今現在、Wikipediaには3864万の項目があるそうです。
Wikipediaが完成に近づけば近づくほど、実は述語論理では完全に記述できない知識の方が多いことに気づくのも面白いポイントです。
本来、Wikipediaは、各単語の相関関係や立ち位置が互いに影響を与えているという点で、かつての第五世代コンピュータの時代に誰もが夢見たような無間とも言える知識の大海の中で、実際には個別の事柄について、事実関係がどうとか、出典がどうとかで小さな揉め事が無数に積み重なっているのです。
これは、ある知識は見る人によってさまざまな見方がある、という当たり前の現象が確認されたに過ぎません。
要するに、知識を単なる単語の羅列だけで互いに相互理解し、ましてやその相関を求めるなど、到底不可能に近いのです。
とはいえ人類は世界中にあるあらゆる知識に、瞬時にたどり着ける能力を第二世代AIによって得ることが出来ました。
そして限定的ながら、知識構造を分解することで自然言語解析ができるようになりました。自然言語解析ができると、機械翻訳や会話ボットなどを作ることが出来ます。
そして深層学習以前のニューラル・ネットワークも、第二世代までにかなり研究されています。
その結果、そこそこの性能の出る音声認識や手書き文字認識もできるようになってきました。
Siriに話しかけると、Googleで検索した結果を音声合成で返してくれる。これが第二世代AIの真価です。
第一世代AIに比べれば、これはかなり大きな進歩と言えます。
これが現代です。
本稿ではコンピュータの歴史をAIの世代に組み込んでいますので、一般に言われる理屈とは多少異なります。
しかし、コンピュータの進化とAIの世代交替はかなり密接な関係があるので無視できません。
AIの第二世代と第三世代を分けるキーテクノロジーは、言うまでもなく深層学習です。
ただ、深層学習と機械学習の違いがよくわからないという人も居ると思いますが、深層学習は機械学習のいち分野、というかいち手法でした。
機械学習は歴史上、ほとんどの学会で無視され、ほそぼそと続いてきたニューラル・ネットワーク研究のなかでも、さらに異端に近い、人間や生き物と同じ構造を機械で作れば、おそらくうまく学習できるだろう、という、黒魔術のような手法で、研究するには膨大な計算資源を必要とするわりには、うまくいくかどうかが運次第だったり、ハイパーパラメータを少し間違えるだけで全く見当ハズレなものができあがったりするので、知識の構築によって新技術を生み出す工学系の研究者にとっては極めて評判の悪い分野でした。
しかし、迷惑メールの自動フィルタリングや手書き文字認識など、完全な知識で表現することが難しい分野においては機械学習しか上手くいく方法がないという事実は、かなり初期の段階から注目されていました。
機械学習のアイデアそのものはかなりむかしの世代のコンピュータから何度も試されてきましたが、それが部分的にでも実用的に使えるということが分かってきたのはごく最近でした。
それでも誤認識率が高かったため、実用的に使えるのは当分先と思われていたところに、深層学習が登場して誤認識率が人間並に下がったことで今度こそ実用的に使える分野が広がるのではないかと注目されているのです。
ただし、当然ですが、これはそれほど汎用的ではありませんし、人間のように考えたり、人間のように相手を気遣ったり、人間のように相手と会話したりすることを実現する技術ではありません。
深層学習によって劇的に向上したのは、まずは識別能力です。
深層学習なしでも、単純な手書き数字の認識だけなら、古典的な機械学習でもそれなりの性能を出せるのですが、より高度な一般物体認識をさせようとすとるどうしても深層学習が必要になります。
その理由は、数字などは比較的特徴がハッキリ分類できるので読み取りやすくても、物体となると様々な局所的な特徴と、全体を掴む大局的な特徴の両方を同時に評価する必要があるからです。
深層学習の導入によって認識率が劇的に向上したことが、深層学習ブーム、すなわち第三世代AIブームのトリガーになりました。
かつてはほとんど不可能と思われていたことが、突然実現してしまったので、この何十年ものあいだ、苦汁をなめてきた世の中の研究者たちはおおいに驚いたのです。
それが実現した背景は、意外にも第二世代AIの成果にあります。
インターネットが急速に普及し、写真を撮影してアップロードすることが当たり前になったことで、それまで苦労して収拾していたデータが、検索エンジンやクローリングロボットによって自動的に収拾できるようになったのです。
また、コンピュータの性能も飛躍的に進歩し、それまで数億かかっていたのとほぼ同等以上の機材が、デスクトップマシン一台で代用できるようになるなど、環境の進歩を背景として、ついにそれまでは傍流だった深層学習がメインストリームに急激にやってこようとしているのです。
次回は今の深層機械学習を使ったニューラル・ネットワークではなにができるのかをまとめます
よくわかる人工知能 大好評発売中
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。