Spiking Neural Network解説 第一回


Spiking Neural Networkの概要を解説します

Published on February 22, 2022 by HiromichiKamata

Spiking neural network

0 min READ

3行まとめ!

今回は、SNNの概要を包括的に解説していきます

  • SNNは人間の脳をもっと正確に模倣したニューラルネットワーク
  • 専用のデバイス上では超高速&超低消費電力で動く
  • 近年では通常のニューラルネットワークを上回る精度を出しつつある

現在の人工知能の課題点

近年の人工知能の発展はめざましく、画像認識や自然言語処理、3DCGや自動運転に至るまで、さまざまな場所で活用されています。 しかし、現在の人工知能の主流であるニューラルネットワークは一般に計算量が大きく、その発展は非常に大規模な計算資源に依存しています。

例えば、2017年にAlphaGoが世界最強棋士柯潔九段に勝利した際には、その消費電力も比較されました。このときのAlphaGoの消費電力は約20万Wでしたが、人間の脳の消費電力は20~21W程度です。

つまりは、人間の脳をより正確に模倣すれば、低消費電力の人工知能を作れるのではないか?ということが考えられます。そこで今注目されているのが、Spiking Neural Network (SNN) です。

alphago
AlphaGo

Spiking Neural Networkの概要

Spiking Neural Network (SNN) は、生体脳のより正確なニューロンモデルを用いたニューラルネットワークです。ここで使用されるニューロンモデルは複数存在しますが、最も一般的なものはLIFニューロンと呼ばれるモデルです。これの詳細は次回の記事で述べます。

LIFニューロンは、生体脳の観察から導出されたニューロンモデルであり、入出力はスパイク列と呼ばれる0か1だけの時系列データになります。SNNでは、情報をスパイクの頻度やタイミングに暗黙的に埋め込んでいると考えられています。 一方、通常のニューラルネットワーク (ANN)は特徴量として実数値を取りますが、これはスパイク列の発火率を直に扱っていると考えることができます。

SNNとANNの比較
SNNとANNの比較

SNNの特徴

SNNは、専用のNeuromorphic deviceでは低消費電力かつ高速に動作することが知られています。 その理由は、

  • SNNはバイナリの値を使用しているため
  • スパイクが入力された時のみ計算を実行すればよいため (event-driven)

であり、これによって回路上にネットワークを直に実現することができます。

Neuromorphic deviceは、IntelのLoihiやIBMのTrueNorthなど、現在多くの研究機関や企業などで開発が進められています。このうちIBMのTrueNorthでは、ANNに比べて〜100倍程度の高速化と~1/100,000程度の低消費電力化を実現しています。

Neurmophic devices
Neuromorphic deviceの例

最近の研究

最近では、精度の面でもSNNはANNを上回りつつあります。 画像認識においては、TSSL-BP[Zhang+, NeurIPS2020]で4層~5層のSpiking CNNを訓練し、同じ構造のANNの認識精度を上回っています。また、[Zheng+, AAAI2021]ではさらに短いスパイク列でさらに良い認識精度を更新しています。

画像認識以外にも、物体検出や画像生成、オプティカルフローの推定やDVSカメラの解析など、さまざまなタスクにSNNは応用され始めています。

エッジデバイス上での人工知能は、計算スペックや電力の制約が課題となっていましたが、SNNによってそれが全て解決する日も近いかもしれません。

まとめ

このように、脳を模倣したSNNはその高速かつ低エネルギーの特性から注目を集め始めています!このブログでは、SNNの解説を数回に分けて行います。次回は生体脳の神経構造と、ニューロンモデルに関して解説していきます。