[논문 리뷰] Training Deep Spiking Neural Networks
이 논문은 표면 기반 기울기와 입력 전류에 대한 배치 정규화를 사용하여 깊은 스파iking 신경망(SNNs)을 직접 백프로파게이션으로 훈련시키는 방법을 제안한다. 이로 인해 기존의 SNN 변환 방법과 비교해 훨씬 적은 추론 시간 단계(최소 10단계)로 ResNet50을 CIFAR100과 Imagenette에서 훈련시킬 수 있으며, 성능 격차가 존재하더라도 경쟁 가능한 정확도를 달성한다.
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 훈련이 가능함을 보여주어 더 빠른 추론과 온라인 학습과의 호환성을 확보하는 것.
- 스파iking 신경망을 처음부터 직접 훈련시킬 경우, 특히 시간 단계와 에너지 효율성 측면에서 변환된 SNN보다 더 높은 효율성과 성능을 달성할 수 있는지 조사하는 것.
제안 방법
- 백프로파게이션 중 비미분 가능한 스파이크 활성화 함수를 근사하기 위해 조정 가능한 폭 파arameter γ를 가진 조각별 선형 형태의 표면 기반 기울기를 사용한다.
- SNN 뉴런의 입력 전류에 배치 정규화를 적용하여, ANNs에서 사용하는 것과 유사하게 훈련을 안정화하고 가속화한다.
- 막대전위 축적으로 인해 SNN을 순환 네트워크로 간주하고, ResNet50와 같은 아키텍처를 사용해 백프로파게이션을 시간에 따라 적용하여 깊은 SNN을 직접 훈련한다.
- 더 깊은 SNN에서 기울기 폭발 또는 기울기 소실 문제를 완화하기 위해 표면 기반 기울기 폭 파arameter γ를 최적화한다.
- 스파iking 뉴런을 위한 맞춤형 기울기 계산을 포함한 표준 백프로파게이션 알고리즘을 사용하여 기존 딥러닝 프레임워크와의 통합을 가능하게 한다.
- 제안된 수정 사항을 적용해 CIFAR100과 Imagenette 데이터셋에서 끝에서 끝까지의 백프로파게이션으로 훈련하고, 다양한 시간 단계에서의 추론 성능을 평가한다.
실험 결과
연구 질문
- RQ1표면 기반 기울기를 사용한 백프로파게이션으로 깊은 SNN을 성공적으로 훈련시킬 수 있는가? 이는 깊은 SNN에서 내재된 기울기 소실 또는 기울기 폭발 문제를 극복할 수 있는가?
- RQ2표면 기반 기울기 폭 파arameter γ를 조정하면 깊은 SNN의 훈련 안정성과 성능에 상당한 영향을 미치는가?
- RQ3SNN 뉴런의 입력 전류에 배치 정규화를 적용하면 ANNs에서 관찰되는 것과 유사하게 훈련 수렴과 정확도 향상에 기여하는가?
- RQ4직접 훈련된 SNN이 양호한 성능을 내기 위해 필요한 추론 시간 단계 수가 ANN에서 SNN로 변환된 SNN과 비교해 어떻게 다른가?
- RQ5SNN를 처음부터 직접 훈련시키는 것이 변환 기반 방법에 비해 더 높은 추론 효율성과 온라인 학습과의 호환성을 확보할 수 있는가?
주요 결과
- 표면 기반 기울기 함수의 폭 파arameter γ를 조정함으로써 깊은 SNN에서 발생하는 기울기 폭발 및 기울기 소실 문제를 효과적으로 완화할 수 있다.
- SNN 뉴런의 입력 전류에 배치 정규화를 적용하면 ANNs에서의 역할과 유사하게 훈련의 안정성과 성능 향상에 기여한다.
- 직접 처음부터 훈련된 SNN는 CIFAR100과 Imagenette에서 최소 10단계의 추론 시간 단계로 양호한 테스트 정확도를 달성하는 반면, 변환된 SNN는 일반적으로 약 1000단계가 필요하다.
- 기울기가 폭발하거나 소멸하지 않더라도, 직접 훈련된 SNN의 성능은 깊이가 증가함에 따라 ANNs에 비해 더 느리게 증가하고, 결국 감소하기 시작한다.
- 직접 처음부터 훈련된 SNN는 가벼운 아키텍처에서는 종종 해당하는 ANNs를 초월할 수 있으며, 이는 시간 인코딩과 효율성 측면에서 잠재적인 이점이 있음을 시사한다.
- 훈련 중 시간 단계 수가 증가함에 따라 SNN의 최대 테스트 정확도가 감소하는 것으로 나타나, RNN를 백프로파게이션을 통해 시간에 따라 훈련할 때와 유사한 스케일링 문제를 암시한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.