
| IP명 | A Trainable NPU Architecture for Deep Spiking Neural Networks Using Backpropagation Through Time | ||
|---|---|---|---|
| Category | Digital | Application | AI Processor |
| 실설계면적 | 4㎛ X 4㎛ | 공급 전압 | 1.0V |
| IP유형 | Soft IP | 동작속도 | 100MHz |
| 검증단계 | FPGA | 참여공정 | SF028-2502 |
| IP개요 | SNN은 인간의 뇌에서 영감을 받아 생물학적 신경 시스템을 밀접하게 모방하며, 훨씬 낮은 전력 소비로 높은 성능을 달성할 수 있다. 이는 주로 정보 전달 메커니즘 때문인데, SNN은 연속적인 실수 값을 사용하지 않고 스파이크(0 또는1) 형태의 이벤트 기반 신호를 사용하여 정보를 전달한다. 반면, DNN은 순전파 과정에서 실수 기반 연산을 수행한다. 그러나 이러한 장점에도 불구하고 SNN에서 정확도를 향상하는 데에는 한계가 존재한다. SNN에서 가장 일반적으로 사용되는 뉴런의 활성화 함수는LIF(Leaky Integrate-and-Fire) 모델인데, 이는 Dirac 델타 함수와 유사하다. 이로 인해 뉴런은 이산적인 스파이크 형태의 출력을 생성하게 되는데, 이러한 특성은 본질적으로 비미분 구조를 갖게 한다. 그 결과, DNN에서 사용되는 표준 역전파 기반 학습 기법을 SNN에 직접 적용할 수 없다. 대신, SNN은 일반적으로 비지도 학습 기반의 시간 의존적 메커니즘을 활용하여 훈련된다. 널리 알려진 예로는 STDP(spike-timing-dependent plasticity)가 있는데, 이는 전/후 시냅스 뉴런 간 스파이크 발생 시간의 차이를 기반으로 시냅스 가중치를 조정하는 방식이다. 그러나 이 방식은 여러 개의 은닉 계층을 포함하는 깊은 SNN 구조에서는 한계를 가진다. 이러한 문제를 극복하기 위해, 본 연구는 DNN의 역전파 메커니즘을 SNN 적용하는 새로운 SNN 지도 학습 기법을 제안한다. 제안된 방법은 경사하강법을 활용하여 네트워크 파라미터를 학습함으로써 깊은 SNN 구조를 구성할 수 있게 한다. 그러나 앞서 언급했듯이, SNN의 dirac delta 기반 활성 함수는 미분 불가능하므로 직접적인 기울기 기반 최적화가 불가능하다. 이를 위해 본 연구에서는 대체 기울기(surrogate gradient)를 활용하여 비미분 활성 함수를 미분 가능한 형태로 근사함으로써 경사 하강을 가능하게 한다. DNN의 학습 프레임워크를 도입할 뿐 아니라, SNN이 시간적 영역에서 정보를 처리하는 방식을 적용하고연쇄법칙을 어떻게 최적화하여 기울기 기반 학습을 가능하게 하는지도 분석한다. 또한, 초기 학습 단계에서 다른 모델보다 빠르게 최적 지점에 도달할 수 있도록 하는 새로운 modified learning rate scheduler 기법을 제안한다. 이러한 기술들을 모두 통합한 deep SNN 모델을 기존 DNN과 비교함으로써, 제안한 DSNN의 성능을 검증한다. 이러한 방식으로 학습된 파라미터를 기반으로 고속 추론 연산을 수행하기 위해 전용 하드웨어 가속기를 설계하였다. 이를 위해 BRAM을 병렬 bank 구조로 구성하고 병렬 FIFO를 도입하여 연산기로 전달되는 데이터 대역폭을 확장하였다. 또한, 대규모 행렬 연산을 담당하는 vector machine과 뉴런별 연산을 수행하는 element-wise machine을 병렬적으로 동작하도록 설계함으로써 연산 병렬성을 극대화하였다. 이러한 구조적 최적화는 FPGA 환경에서 deep SNN의 고속 추론을 가능하게 하며, 전체 시스템의 효율성과 처리 속도를 크게 향상시킨다. |
||
- 레이아웃 사진 -
|
|||


