ディープラーニングが注目されるようになり、それと同時に脳を参考にしたニューラルネットワークにも関心が集まるようになりました。しかし、ここで言う「ニューラルネットワーク」はあくまでプログラムや学習システムの構造を意味する言葉で、コンピューターのCPUに使われる回路を示すものではありません。
しかし、人間の脳を電子的なネットワークと捉えるのであれば、プログラム上でそれを再現するのではく計算回路そのもので再現するアプローチもあるはずです。ここでは、ハードウェアの面から脳の構造を利用しようとする「脳型コンピューター」について、簡単に概要のみご説明します。
様々な呼ばれ方をする「脳型コンピューター」
「脳型コンピューター」はまだ用語として定着しておらず、様々な呼び方で呼ばれています。「脳型SLI」「ニューロコンピューター」「ニューロシナプティック・チップ」「ニューロコグニティブ・コンピューター」などが挙げられ、どれも微妙に違った意味を持ちながら同じような使われ方をする単語です。
以前ご紹介したIBMのSyNAPSEも脳型コンピューターにあたるものですが、そのときにはニューロコンピューターという単語を使っていました。徐々に脳型コンピューターという単語が増えてきたことと、ニューロコンピューターの意味が少し広い事から、ここでは「脳型コンピューター」という呼び方をすることにします。
簡単にそれぞれの単語の意味を説明すると、「脳型SLI」は脳型のアーキテクチャを持つ集積回路をピンポイントに指す言葉で、意味的にはかなり狭いです。一方で、「ニューロコンピューター」は脳型の計算回路を持つコンピューターそのものを指し、場合によってはニューラルネットワーク型人工知能の利用を主としたコンピューターを指す(誤用に近い)こともあるようです。また、「ニューロシナプティック・チップ(脳型SLI)」「ニューロコグニティブ・コンピューター(ニューロコンピューター)」は脳型コンピューター開発で最先端を行くIBMが主として使っている言葉で、将来的にはIBMの技術を指す単語として区別される可能性があります。
言葉の使い方の問題なので、全て脳型コンピューターの一種と考えていただければ問題ありません。
脳型コンピューターとは?
さて、問題の脳型コンピューターについてです。脳型と言うからには、どこかに脳の仕組みが再現されています。脳型プログラムとして知られるニューラルネットワークは、神経細胞ニューロンにあたる人工ニューロン同士の繋がりにそれぞれ「重さ(重要度)」を設定することで、ネットワークの中で複雑な情報を扱えるようにしたものでした。
脳型コンピューターにもその仕組みは再現されており、重みの変更によって回路そのものが学習機能を持ち、タスクに合わせて回路そのものを最適化できます。しかし、脳型コンピューター最大の特徴は別のところにあります。それは最小単位の計算装置であるニューロンが大量に独立して存在している点です。
従来型のコンピューターでも、複数の計算装置を内部(チップ)に持つマルチコア型のコンピューターは珍しくありません。ただ、その場合は多くても十数個のコアを持つだけでした。それに対して、脳型コンピューターでは全体で数百万個のニューロンが存在しており、この大量のニューロンは数千個のコアに分割して格納されています。
計算装置を1つの脳細胞だと考えると、少数の巨大な脳細胞を使うのが従来型で、実際の脳と同じように小さな脳細胞を大量に使うのが脳型コンピューターと考えると良いかもしれません。また、脳型コンピューターは重み付けを利用した超並列型の計算装置とも言えます。
(IBMのコグニティブコンピューターの動作例)
※動く部位と動かない部位があり、それぞれ独立して情報の処理を行なっていることが分かる。
脳型コンピューターの特徴
ニューロン毎に独立した計算装置として機能する脳型コンピューターは、ニューロン毎に情報を保持・計算し、それぞれがシナプスにあたる「重みを持つ回路」によって通信しているため、情報量が膨大でも従来型のようにCPUとメモリー間の情報伝達がボトルネックになりません。そもそも、ノイマン式ではないため従来型コンピューターのようなメモリーが存在せず、電力消費を増やし回路に負荷をかけるクロック信号も不要です。
不具合を起こしたとしても、大量にあるニューロンのどれかが不具合を起こしたニューロンの代わりをこなせるため、信頼性も高いです。また、必要最小限のニューロンでタスクをこなしクロック信号も使わないため、消費電力が極めて低く、タスクによっては従来型の数千分の1程度の電力消費で同じタスクを実行できます。
さらに、脳型コンピューターの特徴は信頼性が高くて消費電力が低いというだけではありません。同じ脳型の構造を持つ「ニューラルネットワーク」を、チップにそのまま実装することが可能です。今までは構築したニューラルネットワークを別の信号に置き換えてから計算を行なっていたところをチップ上でそのまま再現できるため、ディープラーニングを使った学習や情報処理が効率的になり、人工知能の認識能力が大きく向上します。
逆に脳型コンピューターの欠点と言えば、一部の計算能力が従来型に比べて低いということでしょう。これはニューラルネットワークにも言われていることです。脳型の情報処理は特定のタスクに対して高い能力を発揮する一方、一部の計算タスクが苦手なのです。これは人間が電卓に負けるのと同じかもしれません。
まとめ
脳型コンピューターは「信頼性」「消費電力」「認識能力」において大きなメリットがあります。ウェアラブル機器やIoTデバイスを始め、センサーとして使われるような小型デバイスに利用すると大きなメリットがあることから、将来的には自動運転車やドローンなどを中心に広く普及することが予想されます。同じ脳型アーキテクチャを持つディープラーニングや脳のシミュレーションとの相性も極めて良好なため、従来型のコンピューターでは難しかった問題をあっさり解決してくれるかもしれません。
身近なデバイスで言えば、消費電力に圧倒的な差があることから、スマホに搭載されれば電池の持ちが良くなりそうです。ただ、スマホの場合は通信とディスプレイによる電力消費が大きいので、そちらの消費電力を減らした方が早いでしょうね。