[論文レビュー] BS4NN: Binarized Spiking Neural Networks with Temporal Coding and Learning
BS4NNは、時間-初発火-までの時間に基づく時間コードを用いた、二値化されたスパイクニューラルネットワーク(SNN)のための新しい訓練アルゴリズムを提案する。二値のシナプス重み(+1または-1)を有し、バックプロパゲーションには実数値のプロキシ重みを用い、それらの更新にはストレートスルー推定(STE)を適用するが、順方向伝搬では二値重みを使用する。この手法は、MNISTとFashion-MNISTでそれぞれ97.0%および87.3%の精度を達成し、フル精度SNNと比較してそれぞれ0.4%および0.7%の精度低下にとどまる。
We recently proposed the S4NN algorithm, essentially an adaptation of backpropagation to multilayer spiking neural networks that use simple non-leaky integrate-and-fire neurons and a form of temporal coding known as time-to-first-spike coding. With this coding scheme, neurons fire at most once per stimulus, but the firing order carries information. Here, we introduce BS4NN, a modification of S4NN in which the synaptic weights are constrained to be binary (+1 or -1), in order to decrease memory (ideally, one bit per synapse) and computation footprints. This was done using two sets of weights: firstly, real-valued weights, updated by gradient descent, and used in the backward pass of backpropagation, and secondly, their signs, used in the forward pass. Similar strategies have been used to train (non-spiking) binarized neural networks. The main difference is that BS4NN operates in the time domain: spikes are propagated sequentially, and different neurons may reach their threshold at different times, which increases computational power. We validated BS4NN on two popular benchmarks, MNIST and Fashion-MNIST, and obtained reasonable accuracies for this sort of network (97.0% and 87.3% respectively) with a negligible accuracy drop with respect to real-valued weights (0.4% and 0.7%, respectively). We also demonstrated that BS4NN outperforms a simple BNN with the same architectures on those two datasets (by 0.2% and 0.9% respectively), presumably because it leverages the temporal dimension. The source codes of the proposed BS4NN are publicly available at https://github.com/SRKH/BS4NN.
研究の動機と目的
- 多層のスパイクニューラルネットワークに、二値のシナプス重みを用いた直接的な教師あり学習アルゴリズムの開発。
- 重みを±1に制限することにより、SNNにおけるメモリおよび計算コストの低減。
- 時間-初発火-までの時間(time-to-first-spike)を用いた時間コードを活用し、計算効率およびエネルギー効率の向上。
- 神経形状コンピューティングおよびエッジAIに適したハードウェアフレンドリーなSNNの実現。
- 二値化されたSNNが、フル精度モデルと比較して最小限の精度低下で競争力のある性能を達成できることの実証。
提案手法
- スパイクを最大1回しか発火しない非漏れ型積分・放電(IF)ニューロンを用い、スパイクは時間-初発火-までの時間コードで符号化される。
- 二つの重みセットを採用:バックプロパゲーションには実数値のプロキシ重みを、順方向伝搬にはプロキシ重みの符号(二値重み)を用いる。
- トレーニング中に二値重みを通過する勾配をバックプロパゲートするためにストレートスルー推定(STE)を適用する。
- スパイク到着と同時に即座に膜電位に変化をもたらす即時のシナプスを採用し、計算およびエネルギーコストを低減する。
- 予測出力とターゲット出力の発火時間差を最小化する時間的学習ルールを用いてネットワークを訓練する。
- スパイクニューロンにおける非微分可能関数であるしきい値関数に対処するため、代替勾配アプローチを採用する。
実験結果
リサーチクエスチョン
- RQ1二値重みを有する二値化SNNは、標準ベンチマークで高い性能を達成しつつ、低メモリおよび低計算コストを維持できるか?
- RQ2時間-初発火-までの時間に基づく時間コードは、二値化SNNにおいて、発火率コードと比較して精度およびエネルギー効率で優位性を示すか?
- RQ3ストレートスルー推定(STE)は、時間的バックプロパゲーションと組み合わせた場合、二値重みを有するSNNの訓練に有効に機能するか?
- RQ4非漏れ型IFニューロンおよび即時のシナプスの使用は、二値化SNNにおけるエネルギー効率およびハードウェア互換性を向上させるか?
- RQ5BS4NNは、既存のBNNおよび変換されたBSNNと比較して、精度および学習効率の面で優れているか?
主な発見
- BS4NNはMNISTで97.0%、Fashion-MNISTで87.3%の精度を達成し、フル精度SNNと比較してそれぞれ0.4%および0.7%の精度低下にとどまる。
- 同じアーキテクチャの標準BNNと比較して、MNISTでは0.2%、Fashion-MNISTでは0.9%の高い精度を示し、時間コードの利点を示している。
- 二値重みの使用により、1シナプスあたり1ビットのメモリフットプリントにまで低減され、32ビット浮動小数点重みと比較して32倍の圧縮が可能となる。
- BS4NNは、シミュレーションステップ数に関係なく一定のトレーニング時間を維持する。これに対して、代替勾配法は時間に比例して増加する。
- スパarsな非同期スパイク伝搬および最小限の状態要件のおかげで、神経形状ハードウェア上で極めて効率的である。
- ソースコードはhttps://github.com/SRKH/BS4NNにて公開されており、再現性およびさらなる研究に役立つ。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。