새소식

Paper Review

SNN의 약점을 개선해 나가고 있는 방법들

  • -

SNN(Spiking Neural Network)에서 역전파(Backpropagation)가 어려운 이유는 스파이크 신호가 불연속적이고 비미분적이기 때문

 

기존 인공신경망(ANN)에서는 연속적인 실수 값이 사용되므로, 역전파 알고리즘이 기울기 정보를 쉽게 계산하고 업데이트할 수 있었음 

 

반면, SNN에서는 뉴런이 특정 임계값을 넘을 때만 **스파이크(0 또는 1)**를 발생시키므로, 이 과정에서 미분 가능한 정보가 부족하게 됨 

 

이 때문에 SNN에서 역전파를 사용하는 것이 어려워, 초기에는 주로 얕은 레이어를 쌓거나 간단한 구조가 주로 연구되었음 

 

최근 연구들은 몇 가지 핵심 기술을 통해 SNN에서 깊은 레이어를 사용하거나 Transformer와 같은 복잡한 구조를 적용하는 것이 가능해짐 

 

 

1. Surrogate Gradient(대체 기울기) 방법

SNN에서 기울기 정보를 얻기 위해, Surrogate Gradient(대체 기울기) 기법이 제안되었습니다. 이 방법은 스파이크 발생 과정에서 비미분적 특성을 보완하기 위해, 뉴런의 발화 함수에 대해 근사적인 기울기를 정의합니다. 이를 통해, 역전파 알고리즘에서 대체 기울기를 사용하여 기울기를 계산하고 가중치를 업데이트할 수 있습니다. 즉, 스파이크 신호의 비미분성 문제를 해결하는 방법으로 SNN에서도 기울기를 통해 학습이 가능하게 된 것이죠.

2. Backpropagation Through Time (BPTT)

SNN에서 시간 의존적 특성을 고려한 학습 방법인 **Backpropagation Through Time (BPTT)**가 활용되었습니다. BPTT는 시간 축을 따라 발생하는 스파이크의 영향을 계산하여, 시간축 상에서의 기울기를 전파시키는 방법입니다. 이를 통해 스파이크의 시간적 패턴을 고려한 학습이 가능해졌습니다. 비록 계산 비용이 크긴 하지만, 이를 통해 SNN에서도 더 깊은 네트워크나 복잡한 구조를 학습할 수 있는 기반이 마련되었습니다.

3. Transformer와 SNN의 결합

Transformer는 기본적으로 셀프 어텐션(Self-Attention) 메커니즘을 사용하는데, 이는 일반적으로 실수 연산에 의존합니다. 하지만 스파이크 기반 어텐션 메커니즘이 개발됨에 따라 Transformer를 SNN에 적용하는 것이 가능해졌습니다. 예를 들어, Spiking Transformer나 SpikingResformer와 같은 모델에서는 Spike-driven Self-Attention 메커니즘을 사용하여, 기존 Transformer의 연속적인 실수 연산을 스파이크 기반 연산으로 대체하였습니다.

  • DSSA (Dual Spike Self-Attention)와 같은 방법은 기존 Transformer의 어텐션 메커니즘을 스파이크 기반으로 변환한 예시입니다. 이러한 방식은 스파이킹 신호를 활용하여, 실수 연산 없이도 셀프 어텐션을 구현할 수 있게 합니다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.