original image: © vege - Fotolia.com
電子頭脳と人工知能 AIという言葉の整理
Electrical brain vs Artificial intelligence
2017.05.12
Updated by Ryo Shimizu on May 12, 2017, 06:45 am JST
original image: © vege - Fotolia.com
Electrical brain vs Artificial intelligence
2017.05.12
Updated by Ryo Shimizu on May 12, 2017, 06:45 am JST
今年も東京ビッグサイトでJapan IT Weekが開催されています。
昨年もそうでしたが、ちらほら目立つのは「AI」とか「人工知能」というバスワードです。
実はAIという言葉が生まれたのは、1956年のダートマス会議です。LISP言語の開発者としても知られるジョン・マッカーシーによって「Artificial Intelligence(人工知能)」と名付けられました。
コンピュータの直接の先祖が生まれたといえるのはこの会議のわずか10年ほど前ですから、人工知能という言葉はコンピュータの誕生とほぼ同時にあったと考えることが出来ます。
ではそれ以前にはコンピュータのような自動装置をなんと呼んでいたのかというと、電子頭脳(Electrical Brain)です。
要は言葉が違うだけで、目指すものは一緒でした。
Electrical BrainではなくArtificial Intelligenceという言葉を敢えて作ったのは、電子頭脳といった場合、頭脳(brain)はハツカネズミのような下等生物にもあるわけで、コンピュータの発展を考えると、より高等な知能(知性)を実現できるのではないかという期待があったからでしょう。
コンピュータが誕生したのとほぼ同時に人工的な知性の実現が検討されていたのは、コンピュータの発明者の一人であるアラン・チューリングの晩年の論文を見ても理解できます。
つまり乱暴にいえば、コンピュータは最初から今で言う人工知能の性質を期待されて発展してきたのです。
若い読者の方はピンと来ないかもしれませんが、昔のSF映画やコミックの中に出てくるコンピュータというのは、ほぼ間違いなく人工知能か、人工知能的な性質を備えたものです。
イギリスのSFテレビドラマ「謎の円盤UFO」では、衛星軌道上に設置されたコンピュータ「SID」が、UFOの侵入を察知し、警報を鳴らします。ウルトラマンでも、怪獣の進路を予測するのはコンピュータであって人間ではありません。
SF的物語でコンピュータに期待されていたのはまさしく人工的な知能であり、しかも人間を上回る知能(超知能)です。
しかしそれはコンピュータがまだ世の中に普及しておらず、理解が進んでなかった時代の話です。
今やコンピュータは当たり前のものになり、生活空間の至る所に偏在しています。
コンピュータに対する幻想が消え去ると、そうした人工知能的な描写はどんどんなくなっていきました。
「人間のように思考して振る舞う機械は現実の世界にはいないんだ」ということが分かってくるにつれて、幻想は消えていきました。
ところがここ数年で再び人工知能というキーワードが盛り上がってきています。
この盛り上がりの原因は、「あの夢よもう一度」という機運があちこちで高まっているからです。
筆者はAIという言葉をわかりやすくするために、最近はあちこちの講演でAIを三世代に分けています。
まず、第一世代AI。これはプログラム可能な計算機全てを意味します。あなたの目の前にあるものがPCであれスマートフォンであれ、それは筆者が第一世代AIと呼ぶものです。
人間の代わりに計算しているわけですから、Excelだって電卓だってAIの一種と言えます。
次に、第二世代AI。これは知識ベース処理を行う機械です。知識ベース処理とは、知識を背景とした高度な処理です。例えばあなたがスマホからLINEを誰かに送る時、予測変換が出てきますね。これは知識ベース処理なので第二世代AIです。
なにかを探す時、GoogleやBingなどで検索しますね。これも知識ベース処理ですから第二世代AIです。
「そんなバカな」と思うかもしれませんが、1990年代にはNECは自社の学習機能付きかな漢字変換を「AIかな漢字変換」と呼んでいました。昔の人にとっては、これも十分「AI」だったのです。
第二世代AIには、原始的な機械学習を含みます。サポートベクターマシンやベイジアンフィルタなどは第二世代AIと言って良いでしょう。
これは迷惑メールフィルターに使われています。迷惑メールかどうかを機械が判断するというのは非常に難しいことなのです。だからいまでもときどき間違いますよね。
なぜそれが難しいのかというと、文章のこの部分がこうだったら迷惑メールだ、と一概に断定できないことです。人間が読めばなんとなく迷惑メールかどうかの区別はつくのですが、そもそも迷惑というのは主観的な問題であり、第二世代AIには主観というものがないので結局それは人間のプログラマーが「これこれこういう性質のものは迷惑メールである」と教え込まなければなりません。この「迷惑メールらしさ」を専門用語で「特徴量」と言います。第二世代AIのプログラマーは、特徴量を自分で設計する必要があり、ここに職人的経験と勘が必要になります。
ちなみに今現在、AIを標榜している企業が持つ技術の大半はこの第二世代AIです。代表例がIBMのWatsonで、WatsonのAPIはほとんどが第二世代AIのみをサポートしています。IBMは「第三世代AIである深層学習もサポートしている」と主張するでしょうが、そのサポート範囲はMicrosoftやGoogleが提供するものと同様のもので、MicrosoftやGoogleのAPIを使ったほうが遥かにローコストで構築できます。
第三世代AI、つまり今注目を浴びているAIですが、これは自動的に特徴量の抽出を学習する機械です。
それまでプログラマーの経験と勘に頼っていた特徴量の設計を、機械が自動的に行なってしまうのです。
そして悔しいことに、人間の人工知能研究者が血反吐を吐く思いで設計した特徴量よりも、遥かに高性能な特徴抽出を実現してしまうのが第三世代AIで、だからこそ大事件になっているのです。
この第三世代AIの根幹を支える技術が、深層学習(ディープラーニング)と呼ばれる手法です。
深層学習の中でも重要なのは畳込みという考えかたです。
畳込みという考えかたそのものは大昔からありました。カラオケのエコーやギターのエフェクター、画像のフィルターなどに使われています。例えばぼかし(ブラー)効果は畳込みで実現できます。
これを機械学習に利用可能ではないかと考えられたのも1990年代の話で、その時は性能が上がることを期待したのではなく、メモリを節約できることを期待して提案されました。
これが性能に劇的なインパクトを与えるということにみんなが気づき始めたのは2000年代に入ってからです。
そして現在、畳込みニューラルネットは深層学習の本流となっています。畳込みは邪道であるという考えかたもありますが、現実問題として手っ取り早く性能が出せる畳込みを使わざるを得ない状況が背景にあります。
この畳込みニューラルネットワークによって最初に目覚ましい成果が得られたのは画像識別でした。
しかし畳込みそのものは、相手が二次元の平面だろうと、三次元のボリューム画像だろうと、一次元の音声波形だろうと関係ありません。どんなものにも使えます。
ディープラーニングが研究者コミュニティを飛び出し、世界的に流行し始めたのは2014年と考えることができます(研究者コミュニティでの流行の始まりは2006年と考えられます)。なぜなら2014年にNVIDIAはディープラーニングを強く意識し始めたマーケティングをスタートさせたからです。
そしてトレンドは毎年のように変わっています。
2014年のトレンドは畳込みニューラルネットワークによる一般画像識別でした。
一般画像識別というのは、具体的には1000種類くらいのジャンルの画像を次々に学習して、それまで見たことのない画像を見ても正確に分類するという仕事です。熟練した人間であっても、100回に5回は間違えるものを、結局機械は100回に2回程度しか間違えないところまで学習できるようになりました。
2015年のトレンドも画像識別でしたが、この年は層を深くするためにMicrosoftが開発したResidual Network(残渣ネットワーク/ResNet)がブレイクした年でした。翌2016年は、ResNetの応用例ばかりが目立つように成り、同時に層を深くしても限界があることがMicrosoft自身によって証明された年でもあります。
2014年の深層ニューラルネットワークは30層くらいでしたが、2015年のResNetは150層くらいありました。しかし200層を300層に増やして深くしても、計算コストと比較して性能が上がっていかないことがわかります。
そこで最近は深さだけでなく幅も必要ではないか、と言われています。
イ・セドル9段に勝利したAlphaGoも、基本的には画像識別を応用して造られました。
2016年のトレンドは、敵対的生成学習(Generative Adversarial Network)で、これは2つのAIを競わせることにより飛躍的な性能向上を達成するという手法です。非常に効果的な手法で、今では当たり前のようになっています。
今年のトレンドは、グラフ畳み込み(Graph Convolution)と言われています。
これは、画像のようにきちっとした形のあるデータではなく、地下鉄の路線図のように、駅と駅が線路でつながっていたりするようなものを識別するものです。グラフ畳み込みを応用すると、まさに人間の知識がそうであるように、様々な物事の相関関係を学び取り、未知の関係性を推定できるようになるのではないかと期待されています。
それができると、おそらくこれは本来、SF的な世界にしか存在しなかった、「データだけ大量に入力すると、未知の関係性を導き質問に答えてくれる人工知能」が実現できるようになるはずです。
実際、グラフ畳込みではないですが、Google傘下のDeepMind社が昨年発表した、Differentiable Neural Computerは、「アリスはボブの姉」「ジョンはボブの娘」といった情報だけ与えると、「アリスはジョンの何?」という質問に対して「アリスはジョンの伯母」と答えることが出来ます。
まあ実際には似たようなことは、第二世代のAIにもできたのですが、人間が設計するのではなく、データのみからAIが自動的に関係性を読み取ることが特徴です。このとき、AIには「伯母」という概念がなんなのかはわかっていません。ただ、大量のデータを読んで、なんとなく「伯母という概念はこれにあてはまりそうだ」と推定するのです。そこが従来と違う凄いところです。
という視点でJapan IT Weekの展示を見回してみたのですが、日本のIT業界ではまだまだAIはバズワードとして使われているようです。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。