第171回 再びニューロチップに注目が頭脳放談

IBMが発表したニューロチップ「SyNAPSE」。ニューロというと、20年以上前にも流行したが、その時は成功したとはいい難い。しかしこの間のLSI技術の進化は、ニューロチップをやっと実用的なレベルにしたようだ。

» 2014年08月29日 05時00分 公開
「頭脳放談」のインデックス

連載目次

 かのレオナルド・ダ・ビンチも、生き物に学んでいたことはよく知られている。例えば、鳥の羽の動きが描かれた何枚ものスケッチは、空気の流れと飛行を考察するためであったのだろう、という具合だ。「かの」などと、もったいを付けてダ・ビンチなど持ち出さなくても、はるかに昔から人間は、他の生き物や人間自身の体など「生体」から学び、それを技術に取り入れてきたことは間違いないのだ。実際、「生体模倣」とまとめて呼ばれるような手法は工学としても認知度が高まっている。いかにも生体を模倣したことが分かりやすい形のロボットなどから、昆虫やら魚の皮膚やらを模倣しているといった新材料に至るまで、実はその源流ははるか古代にさかのぼるわけだ。

 そんな中で、コンピューター分野でも生体に学ぶということは大いにあって、中にはDNAコンピューターのように生体を構成する材料そのものを使って新たなパラダイムのコンピューティングを行おうとする、本当に「有機物」そのもののアプローチまであるのは、ご存じの通りだと思う。有機物のDNAでなくても、ソフトウェアの問題を解くアルゴリズムにも遺伝的アルゴリズムなどというものもある。しかし、今回取り上げるのは、シリコンの上のトランジスタ回路での実現である。シリコンの上ということは、材料面での「変わり映え」はしない代わり、「その気」になりさえすれば、特段の障害なく「量産」できるということである。

 IBMが発表したSyNAPSEというチップがそれだ(IBMのニュースリリース「膨大なニューラル・ネットワークの時代を開く新しいIBM SyNAPSEチップを発表」)。「ニューラルネットワーク」のためのデバイス、「ニューロ」チップである。しかし筆者のような年寄りになると、「ニューロ」といわれても全然新しい気がしないのだ。

 4分の1世紀前以上の、若かりしころにも「VLSIニューロ」などというチップは存在していたくらいだ。「昔、論文読んだなぁ〜」などという懐かしい感じがする。筆者は、その分野の専門家ではないので、歴史的な経緯を知っているわけではないのだが、多分、その技術的な源流は半世紀近くもさかのぼるのではあるまいか。何せ、脳や神経の最も下層の「デバイス」であるニューロン、そしてその中で通常の回路のトランジスタかダイオードに相当するようなシナプスといったものの動作原理が「だいたい」理解できたというのは、当時衝撃的であったことは想像に難くない。当然、その原理を模倣すれば脳のような機能を持った何かが作れるのではないか、という大きな期待を呼び起こしたはずだ。しかし、すぐにはニューロンを模倣するよい実現手段がなかったのであろう、「ニューロ」チップのいろいろが実際に登場してくるのは、LSI技術が急速に普及した1980年代くらいであったのではあるまいか。

 これは、筆者の勝手な意見なので、お叱りを受けるかもしれないが、1980年代、1990年代に現れた「ニューロ」チップ自体は成功したとはいい難い。1つには、当時の集積度では大した個数の「ニューロン」も搭載できなかったことがあるだろう。神経細胞が何百個とか1個1個数えられるくらいの「下等な」生物並みがせいぜい。それで何ができるのか? 学習して問題を解けるといっても、解ける問題にもいまひとつ魅力が出せなかった。それどころか、どんどん進化を続けるPCのCPU上に、「ニューラルネットワーク」ソフトウェアを載せてしまえば、「ニューロ」チップでやれるようなことは大体できてしまう。ソフトウェアの奥深く、あまり人目につかないあたりに「ニューラルネットワーク」ソフトウェアを入れたりはするけれども、わざわざ「ニューロ」チップなんぞ使ってシステムを作らなくてもよいだろう、ってな感じではなかったろうか。

 それでもめげずに「ニューロ」を続けている人々がいるとは聞いていた。脳に学んだ原理への確信は揺るぎなかったというべきか。その昔にはいろいろとあったらしい問題点をコツコツと解決し、4分の1世紀前のクラシックなニューロとは一線を画していたのであった。そして4分の1世紀の間に進化したLSI技術である。28nmプロセス(Intelが最近発表した14nmからすれば2倍の太さの線幅ではあるが)で2億5600万シナプスを実現したそうだ。まあ、2億5000万シナプスといっても人の脳には数百億だか数千億だかのニューロンがあって、それぞれのニューロンが数万ものシナプスを持っているそうだから、人の脳全体にはまだまだ遠いのだろうが、ある特定の機能をつかさどる神経網くらいには匹敵するのかもしれない。

 また、神経網の原理は、その回路構成にも恩恵を与えている。原理的に回路が非同期にできているのだ。通常のほぼ全てのCPUを含む一般のデジタル回路はクロック信号を使った同期回路である。そして、ほぼ全ての設計ツールは同期回路を前提としている。普通に回路を設計する上では同期回路は必須な状況ではあるのだが、データ処理の本質上、同期である必要はないのだ。同期回路にした方が設計しやすいのでそうしているにすぎない。同期のために厳しい遅延制約条件が課されるし、データ処理には本質的に関係ないクロックというもののために消費される消費電力は莫大である(そういう問題を差し引いても同期回路設計は「楽」なのであるが……)。

 ところがニューロの原理は異なる。脳にxGHzといった同期クロックがあるわけではない。蛇足だが、脳や神経に現れる周期的な信号は、多数の細胞が相互作用をする中で、カオス的に生まれてくるらしい。同期回路のように基本クロックを配っているわけではない。バラバラのタイミングで動作するというのが基本にあるのだ。非同期回路により、厳しいクロックの制約を守る必要なく信号をあちこちにやりとりできるようになる。また、必要な部分だけが動作する結果、消費電力も小さくなる。この性質はある意味恐ろしいことで、横でも縦でもチップを並べ積み重ねていっても、発熱の集中によって溶鉱炉のように溶けてしまうことなく、信号が間に合わなくても誤動作することなく、それなりに動く回路を構成できるということだ。つまり本物の脳のように3次元的な構成をとりやすいのだ。

 そして何よりも今日必要とされているコンピューティングの内容が追い風だ。4分の1世紀前にはコンピューターが何かを認識する、何かを聞き分けるといった応用は、研究されていても一般的ではなかった。音を出す、絵を動かすといったことでアップアップであったのだ。ところが今日、コンピューターに何かを認識・識別させるという要求は多い。そして実際にノイマン型の普通のコンピューターでもある程度のことはできている。けれど、認識・識別といった機能の実現には膨大な演算量と消費電力が必要とされる上に、常に新たなプログラム開発が付きまとう。そのような分野はまさに脳が得意とし、つまりはニューロコンピューターの得意分野といえるわけだ。今、そこに応用が見いだせなければ、どこでやるのという感じか。今まで、同期回路のハードウェア上でCなどのソフトウェア言語で逐次処理ばかり書いていた人は、まさにパラダイムシフトが迫られる。このニューロチップの人々は、その気でニューロチップを中心としたエコシステムを作るつもりなのだそうだ。

 最後にちょっと気になったのは、より広い意味でのアプリケーションだ。「識別」というのは民生にも多くの応用があるが、軍事用途には手っ取り早い応用が見つかるのではなかろうか。ニューロチップがどこかのSFの怖い装置みたいなものに搭載されて、それに識別されるというのはあまりうれしくない未来だ。とはいえ、最近どうも物忘れがひどいから、そこをニューロチップに取り換えられるもんなら取り換えたい気もするが……。

筆者紹介

Massa POP Izumida

日本では数少ないx86プロセッサーのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサーの設計に従事する。その後、出版社の半導体事業部などを経て、現在は某半導体メーカーでヘテロジニアス マルチコアプロセッサーを中心とした開発を行っている。


「頭脳放談」のインデックス

頭脳放談

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。