[論文レビュー] Training Deep Spiking Neural Networks
この論文は、補助勾配と入力電流のバッチ正規化を用いて、深層スパイクニューラルネットワーク(SNN)を直接バックプロパゲーションで学習する手法を提案している。これにより、CIFAR100およびImagenetteでResNet50を学習可能となり、従来の変換されたSNN(通常は~1000ステップ)と比較して、非常に少ない推論時間ステップ(最低10ステップ)で実行可能であるが、同等のANNと比較して性能に差があるものの、競争力のある精度を達成している。
Computation using brain-inspired spiking neural networks (SNNs) with neuromorphic hardware may offer orders of magnitude higher energy efficiency compared to the current analog neural networks (ANNs). Unfortunately, training SNNs with the same number of layers as state of the art ANNs remains a challenge. To our knowledge the only method which is successful in this regard is supervised training of ANN and then converting it to SNN. In this work we directly train deep SNNs using backpropagation with surrogate gradient and find that due to implicitly recurrent nature of feed forward SNN's the exploding or vanishing gradient problem severely hinders their training. We show that this problem can be solved by tuning the surrogate gradient function. We also propose using batch normalization from ANN literature on input currents of SNN neurons. Using these improvements we show that is is possible to train SNN with ResNet50 architecture on CIFAR100 and Imagenette object recognition datasets. The trained SNN falls behind in accuracy compared to analogous ANN but requires several orders of magnitude less inference time steps (as low as 10) to reach good accuracy compared to SNNs obtained by conversion from ANN which require on the order of 1000 time steps.
研究の動機と目的
- SNNの内在的な再帰的性質により、勾配消失や勾配爆発が生じるため、バックプロパゲーションによる非常に深いSNNの学習を克服すること。
- 補助勾配関数のチューニングとニューロンの入力電流へのバッチ正規化を適用することで、深層SNNの学習安定性と性能を向上させること。
- ANNからSNNに変換するのではなく、エンドツーエンドの学習が可能であることを示し、より高速な推論とオンライン学習への対応を可能にすること。
- スパイクニューラルネットワークをスクラッチから直接学習することで、変換されたSNNと比較して、時間ステップ数とエネルギー効率の面でより優れた効率性と性能を達成できるかどうかを調査すること。
提案手法
- バックプロパゲーション中に非微分可能なスパイク活性化関数を近似するために、調整可能な幅パラメータγを有する区分的線形形式の補助勾配を用いる。
- SNNニューロンの入力電流にバッチ正規化を適用し、ANNにおけるそれと同様に、学習の安定化と高速化を図る。
- 膜電位の蓄積に起因する再帰的性質を考慮し、SNNを再帰的ネットワークとして扱い、ResNet50などの深層SNNアーキテクチャを時間軸に沿ったバックプロパゲーションで直接学習する。
- 深層SNNにおける勾配の爆発や消失を軽減するために、補助勾配の幅パラメータγを微調整する。
- スパイクニューロン用にカスタム勾配計算を実装した標準的なバックプロパゲーションアルゴリズムを用い、既存のディープラーニングフレームワークへの統合を可能にする。
- CIFAR100およびImagenetteデータセットを用い、提案手法を適用したエンドツーエンドのバックプロパゲーションで学習を行い、さまざまな時間ステップにおける推論性能を評価する。
実験結果
リサーチクエスチョン
- RQ1補助勾配を用いたバックプロパゲーションにより、深層SNNにおける勾配消失・爆発問題を克服して、成功裏に学習できるか?
- RQ2補助勾配の幅パラメータγのチューニングが、深層SNNにおける学習安定性と性能に顕著な改善をもたらすか?
- RQ3SNNニューロンの入力電流にバッチ正規化を適用することで、ANNと同様に学習収束性と精度が向上するか?
- RQ4直接学習されたSNNが良好な性能を発揮するために必要な推論時間ステップ数は、ANN変換によるSNNと比較してどの程度異なるか?
- RQ5SNNをスクラッチから直接学習させることで、変換ベースの手法と比較して、より優れた推論効率とオンライン学習への適合性が得られるか?
主な発見
- 補助勾配関数の幅パラメータγのチューニングにより、深層SNNにおける勾配の爆発・消失問題を効果的に緩和できる。
- SNNニューロンの入力電流にバッチ正規化を適用することで、ANNにおけるそれと同様に、学習の安定性と性能が向上する。
- スクラッチから直接学習されたSNNは、CIFAR100およびImagenetteで、わずか10ステップの推論時間ステップで良好なテスト精度を達成するが、変換されたSNNでは通常~1000ステップが必要である。
- 勾配の爆発や消失が発生しなくても、深さが増すに従い、直接学習されたSNNの性能は、ANNと比較してゆっくりと増加し、最終的には減少し始める。
- スクラッチから学習されたSNNは、浅いアーキテクチャでは、しばしばそれに対応するANNを上回る性能を示すことがある。これは、時間的符号化と効率性の面での潜在的な利点を示唆している。
- 訓練中の時間ステップ数が増えるにつれてSNNの最大テスト精度が低下する傾向にあり、これはRNNを時間軸に沿ってバックプロパゲーションで学習する場合と同様のスケーリング問題を示している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。