脳に「インスパイア」されたチップがコンピューティングの未来を変える
自己学習するロボットや持ち主の習慣を覚えていくスマートフォンの実現を可能にする次世代技術の現状
あなたが自分の目を通してこの世界を見る場合、あなたの脳は対象の状態をほとんど即座に認識し知覚することができる。脳とは、物事の前後関係を判断して理解する複雑なパターンマッチング・マシンなのだ。例えばあなたが誰かに会ってその人の身長、顔の特徴、衣服と声を認識すると、あなたの脳は「ああ、これはボブだ。私は彼を知ってる」と言うだろう。
コンピューターの「脳」にはこれができない。コンピューターが過去に見たことのあるオブジェクトを再度見た場合、最終的にそれが何であるかをあなたに伝えることはできるだろう。しかしそれは、あらかじめ定義されてコードに組み込まれた指示に従い、デジタルに変換されたオブジェクトを、同様にデジタル化されデータベースに格納されている他のオブジェクトと「見比べる」ことによってマッチングされた結果に過ぎない。
例えば、フェイスブックやグーグルがあなたの写真に誰が写っているかを判断するために顔認識ソフトウェアを使うとき、コンピューターはデータベースを一通り確認して写っているのが誰であるのか突き止める。学習機能はないため、同じ人の顔を別の写真でマッチさせる必要があれば、再びデータベースを一から確認する必要がある。
もしも人間の脳内のニューラル(神経)・ネットワーキングをシミュレートしたコンピューター・チップを作成することができたらどうだろうか?コンピュータ・チップが脳のようにふるまい、学習したり進化することができるとしたら?
技術系の各企業は数十年の間、人間の脳のように機能するチップを作ろうと試みてきたが、その努力は決まって実を結ばなかった。
しかし現在、クアルコムおよびその競合であるIBMやインテルは、脳にインスパイアされた全く新しい種類のコンピュータが過去にないほど現実味を帯びてきたと言っている。
ニューラル・ネットワークの効果
ニューラル・ネットワークの概念は、コンピューター科学者にとって長年の目標であった。
ニューラル・ネットワークおよび強力な人工知能(必ずしもシングルチップではない)の概念は、1991年にAIプロジェクトとして資金調達を行う以前にも、1980年代から米国国防総省国防高等研究事業局(DARPA)のような機関から支持されていた。コンピューター科学者たちは長い間、自己学習機能を持つコンピューターに取り組んできたのだ。
フェデリコ・ファジン(マイクロプロセッサの父と呼ばれる人物のうちの1人)は数十年もの間、ニューラル・ネットワークのように動作するプロセッサを夢見ていた。しかし彼の会社Synapticsが行った、脳のように入力から「学習」できるチップを構築する試みは、ニューラル・プロセッサを生み出すことができなかった。代わりにその研究は、タッチセンサーやラップトップのタッチパッド、タッチスクリーンの開発に結び付いた。
人工ニューラル・ネットワークは、ファジンのような人たちが期待したよりもはるかに複雑であることが判明した。クアルコムやIBM、インテルのようなチップメーカーは現在、マイクロプロセッサの構築方法に関するノウハウと人間の脳に関する知識を総動員して、全く新しい種類のコンピュータ、つまり「脳神経にインスパイアされた」プロセッシング・ユニットを作ろうとしている。
ニューロン(神経細胞)にインスパイアされたコンピューターのための基礎的かつ進歩的な研究はまだ続いている。クアルコムは来年までに同社が「ニューラル処理装置」と呼んでいるものを出荷することを望んでおり、IBMやインテルもこれと似たような計画を持っている。クアルコムの支援を受けているスタートアップ企業「Brain Corp.」のような会社は、脳にインスパイアされたコンピューティングの研究と実装に注力しており、コンピューターの視覚とロボットのモーター制御を改善するため、脳の学習過程を模倣しようとするアルゴリズムを追加した。
コンピューターが行うことの再定義
今日のコンピューターチップが提供するのは、情報処理、データの格納、センサー情報の収集などといった比較的単純で固定的な機能である。基本的にコンピューターというものは人間が命じたことをそのまま実行するものだ。そしてその実行スピートは年々上がっている。
クアルコムの「ニューラル処理装置」(Neural Processing Unit、すなわちNPU)は、クラシックなCPUとは異なる動作をするように設計されている。シリコン上に構築される従来型のコンピュータチップなのだが、定性的(定量的の対義語)な機能を実行する能力を持っているのだ。
以下は、クアルコムのアプローチと従来のプロセッサの違いに関する、Technology Reviewの説明である。
今日のコンピュータ・システムは情報を格納し、それを連続して処理するための独立したユニットで構築されており、これがいわゆるフォン・ノイマン・アーキテクチャーとして知られている設計である。対照的に、脳に近いアーキテクチャーは、脳内におけるニューロン(神経細胞)とシナプス(神経間の接合部位)の作用を手本とした分散型の並列的な方法で情報を処理する。
クアルコムは既に、脳内の活動をシミュレートする新しいソフトウェアツールを開発した。個々のニューロンが正確なタイミングで情報を伝達する方法を具現化したこれらのネットワークによって、開発者たちは生物学的にインスパイアされたプログラムを書き、コンパイルすることが可能となる。クアルコムは(略)、「超並列の」「再プログラムが可能な」「分類や予測といった認識機能を持った」NPUを構想しているのだ。
クアルコム・テクノロジーズの副社長であり最高技術責任者でもあるマット・グロブは、EmTech MITテクノロジー・レビュー・カンファレンス中にReadWriteが行ったインタビューのなかで、CPUとNPUの差について以下のように説明している。
これらのプロセッサ(CPU)はすべて元となるハードウェア・アーキテクチャーから派生している。これはデータレジスタと処理ユニットを持ったアーキテクチャーで、メモリからデータを取り出してそれを処理し、その結果をストアする。これを何度も繰り返し、できるだけ速く行う。我々は複数のコアとより広いチャンネル幅、そしてキャッシュメモリを加えたが、これらのテクニックは全てプロセッサをより高速に、もっともっと高速にするためのものだ。しかしその結果は全く生物学的ではなかった。実際の脳とは似ても似つかないものだ。
我々は新しいタイプのプロセッサについて話し合っている。生物学にインスパイアされた新しい技術を使用することについてだ。画像認識やモーター制御、あるいは学習行動の様々な形態といったような特定の問題を解決しようとする場合、従来のアプローチには問題がある。タスクを実行するために大量のパワーや時間が必要になるか、あるいはタスクの実行そのものが不可能なのだ。
しかし我々はBrain株式会社との提携を始めており、創立者のユージン・イジケヴィッチ(Eugene Izhikevich)と良い関係を築いている。彼はニューロンのための非常によい数学モデルを作成した。このモデルには2つの特性がある。一つはそれが生物学上非常に妥当性があることで、2つ目はなおかつ効率的なインプリメントが可能な、数的にコンパクトなモデルであることだ。このモデルによってユージーンはこの分野に影響を及ぼした。彼はこの分野の提唱者ではないが、確かな影響を及ぼしたのだ。我々は大量の資源を投入することで彼に協力し、共にかつてないマシンを作り出す興奮に浸っている。
クアルコムは、その理論上のプロセッサを「Zeroth(ゼロ番目)」と呼んでいる。この名前は、SF作家アイザック・アシモフによって作られた有名な「ロボット工学三原則」に先立つものとしてアシモフ自身が提示した、「ロボット工学の第零法則」からヒントを得ている。この0番目の法則は、「ロボットは人類に危害を加えてはならない。またその危険を看過することによって、人類に危害を及ぼしてはならない」とするものである。ロボットがオリジナルの三原則を解釈する上での欠点を補うため、アシモフは最初の三原則より後にこの0番目の法則を紹介した。
グロブは、ヒンジ関節のある脚とNPUを備えた単純なロボットの例を挙げた。このロボットが非常に単純な命令を与えられたとする。「横たわってはいけない。立ち上がるのは良い」。ロボットは体をくねらせ始め、ついに立つ方法を学習する。もしあなたが押し倒せば、ロボットは再び立ち上がるだろう。
「それはロボットの動きには見えず、動物のような動作だった。生まれたばかりのキリンが立ち上がろうとしている様子に似ている、と私は思った。」とグロブは語った。「それらはヨタヨタと動きまわる。立つ方法を学習したいという、プログラムされた要望を持っているのだが、まだその方法を知らないのだ。しかしそれらは、動くことがゴールに近づくことだと知っている。よって非常に速く学習する。振動したりヨタヨタしたりしているだけのように見えるが、それが最短の学習方法なのだ。」
数学的モデルとヒト生物学に基づいたNPUは、理論上は人間と同じ方法で学習することができるだろう。クアルコムは、NPUが次の数年の内に、スマートフォンからクラウド・アーキテクチャー内のサーバーまでを対象としたあらゆる種類のデバイスに応用されることを望んでいる。
学習するコンピューターのハッキング
最近のほとんどのスマートフォンやタブレットは、プロセッサと専門のグラフィックス・ユニット、およびLTEまたはWi-Fiといったセルラー技術のような通信システムを組み合わせた集積チップによってコントロールされる。クアルコムは、NPUがこれらの「チップ上のシステム」上に搭載されるか、あるいはマシン(ロボットのような)内部のスタンドアローンなチップとして動作するか、いずれかの構想を描いている。
IBMはTrueNorthと呼ばれる認識のコンピューティング(計算がどのようになされたかを再考し、脳の働きにならってそれをパターン化する試み)に取り組んでいる。TrueNorthはクアルコムのZerothのようなチップではなく、むしろ新しいパラダイム全体を指す。TrueNorthはコンピューターが視覚し、運動を検知し、パターンマッチングを行う方法を変えてしまうものだ。IBMはコンピューターに様々な機能を教える「corelets」と呼ばれる何かしらを使ってTrueNorthをプログラムすることができる。
インテルの「neuromorphic(神経派生型)」チップ・アーキテクチャーは、「spin device(回転する装置)」に基づいている。「Spintronics(スピン工学)」は基本的に、様々な計算機能を実行するために電子の回転(spinning)を利用する。2012年に公表された研究報告(PDF)の中で、インテルの研究者は、spin devicesに基づくneuromorphic(神経派生型)なハードウェアの可能性を次のように説明している。「アナログデータセンシング、データ変換、認識のコンピューティング、連想記憶、プログラマブル・ロジック、アナログおよびデジタル信号処理」
クアルコムの仕事はIBMやインテルのそれと何が違うのだろうか?クアルコムはすぐに生産に入り、早ければ来年には集積チップ上にNPUを搭載したいと考えているようだ。クアルコムはReadWriteに対して、「私たちのNPUは組込みアプリケーションを目標としており、これによってクアルコムのエコシステム全体が改善されるだろう。」と語った。「私たちのNPUは従来のプロセッサに密接に統合させることができる。低電力の組込み分野において、これは包括的なソリューションを提供することになるだろう。」
クアルコムが「組込みアプリケーション」というフレーズを使う場合、それはユーザ・インターフェースとエクスペリエンスの外観をコントロールできる実際のデバイスを指している。それは視覚と音声から学習することができるスマートフォンであるかもしれない。例えば、NPUにあなたの声や習慣を学習したいという欲求を与えるためのプログラムが搭載されたスマートフォンだ。
スマートフォン内のNPUは、機能全体のコントロールを行なうことができる。グロブはここで、日曜の午後9時(恐らくあなたがお気に入りのHBOのスペシャル番組を見ている時間帯)に知らない番号から掛かってくる電話の例を挙げた。テレマーケティング会社などと話すのに望ましい時間ではないので、あなたはスマートフォンに向かって「ダメ、いけない!」と言う。スマートフォンはこの曜日のこの時刻に中断するのは悪いことだと学び、自動的にこのタイプの呼び出しをボイス・メールに転送するようになるのだ。
別の例としては、スマートフォンのカメラでボブの写真を撮ったとする。あなたはスマートフォンに今見ている画像はボブだよ、とちょうど子どもに教えるようにして伝える。これ以降カメラはそれがボブであることを自動的に認識し、彼の写真に名前をタグ付けするのだ。クラウドでパターン・マッチングしたりする必要はなく、比較的低いコンピューティング・コストで、しかもローカルで行うことが可能なのである。
クアルコムは将来的にニューラル・プロセッサが当たり前になったとき、開発世界の中心になりたいと考えている。クアルコムの課題は、自社のツールを使ってアプリを開発するぐらいの容易さでNPUをハッキングすることだ。
NPUは結局コンピューター科学者の幻想に過ぎないのかもしれない。クアルコムもIBMも、そしてインテルも皆が生物学的にインスパイアされた自己学習するコンピュータ・システムの開発を進めている。しかしそれがいつか実際に私たちのスマートフォンやクラウド・コンピューティング・サーバ、あるいはロボットという形で普及するかどうかはまだ分からない。ただ、ファジンのような科学者たちが40年前に夢見たものに比べ、学習するチップの研究開発がはるかに進んできていることだけは確かである。
Dan Rowinski
[原文]