- SNN을 이용한 Object Detection을 수행 - 이를 위해 2가지 새로운 기법을 적용 1. Channel-wise-normalization 2. signed neuron with imbalanced threshold - 결과적으로 최초의 SNN 기반 Object Detection model인 Spiking-YOLO를 제안한다. - PASCAL VOC와 MS COCO 데이터 셋에서 Tiny YOLO와 최대 98%에 달하는 유사한 성능을 보임. - Neuromorphic chip에서 Tiny YOLO 대비 약 280배 적은 에너지 소비
최초의 SNN 기반 Object Detection model인 Spiking-YOLO를 제안 1. Channel-wise-normalization 2. signed neuron with imbalanced threshold
1. Introduction
- SNN은 실수 값(연속적) 대신 일련의 스파이크(이산적 신호)들의 정확한 시간 정보를 활용해 정보를 전달 - 스파이킹 뉴런은 입력 스파이크가 들어올 때 막전위(membrane potential)를 누적하고, 이 값이 일정 임계치(threshold)에 도달하면 스파이크를 발생(fire) => 이런 특성 덕분에 SNN은 이벤트 기반(event-driven) 연산이 가능하며, 매우 전력 효율적인 구조를 지닌다.
DNN-to-SNN Conversion
- DNN에서 학습된 가중치(weight)와 편향(bias)을 SNN에 가져와서 사용하는 것 - VGG, ResNet과 같은 Deep SNN에서도 DNN과 유사한 성능을 낼 수 있다.
Object Detection
- 여러 객체가 겹쳐 있는 이미지를 인식하고, 각 객체에 대한 Bounding Box 좌표를 계산
Object Detection을 SNN에 적용시 문제점
1. 기존 정규화(Normalization)방식의 비효율성
2. SNN 내에서 Leaky-ReLU를 효과적으로 구현할 수 있는 방법의 부재
Solution
1. 채널 단위 정규화(channel-wise normalization)
2. 불균형 임계값을 사용하는 부호화 뉴런(signed neuron with imbalanced threshold)
Object Detection을 SNN에 적용
2. Related work
DNN-to-SNN Conversion
- integrate-and-fire neuron은 입력값 z를 막전위(membrane potential,Vmem)에 누적하고, 일정 임계값 Vth를 넘으면 spike를 발생
막전위 누적입력 계산발화 조건
Object Detection
- 객체 탐지는 이미지나 비디오 내의 하나 또는 여러 개의 객체를 찾아서 바운딩 박스를 그린 후, 해당 클래스까지 식별하는 작업
R-CNN 계열
Region proposal 기반으로 높은 정확도를 얻지만, 느린 추론 속도 때문에 실시간 처리에는 부적합함.
One-Stage 방식
- SSD (Single Shot MultiBox Detector) - YOLO (You Only Look Once) → 빠른 속도와 적절한 정확도로 실시간 객체 탐지에 적합
=> 본 논문에서는 Tiny YOLO를 SNN 변환의 Base model로 사용
Tiny YOLO를 SNN Conversion의 Base model로 적용
3. Methods
- DNN-to-SNN 변환을 통해 객체 탐지를 수행하면 심각한 성능 저하가 발생 - 그 이유는 아래와 같다. 1. 매우 낮은 발화율(firing rate): 뉴런들이 거의 스파이크를 발화하지 않음. 2. Leaky-ReLU의 비효율적인 구현: SNN에서 부정 값을 처리하지 못해 정보 손실이 큼. - 이를 해결하기 위해 2가지 새로운 기법을 제안
Normalization (기존 정규화 방법)
- SNN에서는 입력의 크기에 따라 뉴런이 적절한 발화율(firing rate)을 갖고, 정보 손실 없이 스파이크를 생성하도록 하는 것이 중요 - 일정한 타임스텝 내에 정보가 충분히 전달되지 않으면, 과소 혹은 과다 활성화로 인해 정보 손실이 발생할 수 있다. N: 주어진 Time step T 내에 발생한 스파이크 수
=> 이론적인 최대 발화율은 100%이며, 이는 매 time step마다 한번의 스파이크가 발생하는 경우
layer-wise Normalization
- DNN에서의 훈련 데이터를 통과시켜 해당 레이어의 최대 활성값을 계산한 후 이를 기준으로 가중치를 정규화하는 방법
=> Deep SNN에서는 성능 저하 문제가 발생
Tiny YOLO
- Tiny YOLO는 8개의 합성곱 층(conv layer)으로 구성 - 각 층 내의 채널마다 정규화된 최대 활성값의 편차가 매우 크다. (일부 채널에서는 정규화 후 값이 1에 가까운 반면, 다른 채널에서는 0에 가까운 값이 나왔다.) Channel imbalance
=> 채널 간 불균형은 발화율을 심각하게 떨어뜨리고, 작은 값들을 전달하기 위해 너무 많은 타임스텝이 필요 EX) 0.007이라는 값은 손실 없이 전달하기 위해 1,000 타임스텝 이상이 필요
Channel-wise Data-based Normalization (채널 단위 정규화)
- 기존의 레이어 단위가 아닌, 각 채널마다 최대값을 기준으로 가중치와 편향을 정규화
- 이 방식은 발화율을 높이고, 정밀한 정보를 더 빠르게 전달할 수 있게 한다. 이로써 under-activation 문제를 효과적으로 해결 => 채널 단위 정규화는 전체 뉴런의 발화율을 대폭 향상 => 특정 채널(예: Conv1의 채널 2)의 경우, 기존 layer-norm 대비 20배 이상 높은 발화율
Channel-Wise Normalization
Algorithm
Q) 왜 정규화가 필요한가?
Q) Layer-wise Normalization의 한계는?
단일 정규화 계수로 전체 레이어를 스케일링하기 때문
Q) Channel-wise Normalization의 장점은?
EX)
SNN에서 leaky-ReLU 한계
입력이 음수일 경우, 작은 음수 출력을 유지
- 대부분의 기존 DNN-to-SNN 변환 방법은 leaky-ReLU의 음수 구간을 무시하고 ReLU만 구현 (SNN에서는 spike가 +1, -1의 이산신호만 존재하기 때문에 음수 출력을 그대로 반영하기 어렵다.) - 그러나 Tiny YOLO에서는 음수 activation이 51% 이상을 차지
기존의 스파이킹 뉴런은 막전위 Vmem이 하나의 임계값 Vth을 넘었을 때만 스파이크를 발화(+1) → 이건 마치 ReLU처럼음수 입력은 무시 / 양수 입력만 반영
<leaky-ReLU 사용> → 음수 입력도 α배로 축소해서 반영하므로, 이를 똑같이 반영하려면 음수 방향의 발화(-1 spike)도 필요
Signed neuron with imbalanced threshold (IBT)
- 양수와 음수 영역에 서로 다른 임계값(Vth)을 적용 양수/음수영역 임계값
(음수 스파이크는 더 많은 막전위 누적이 필요하므로 스파이크가 덜 자주 발생) 뉴런의 발화 조건
Channel-wise Data-based Normalization (채널 단위 정규화) & Signed neuron with imbalanced threshold (IBT) 적용
4. Evaluation
- Tiny YOLO 사용 - 데이터 셋은 PASCAL VOC, MS COCO를 사용
IBT 유무 / Output Decoding 방식(Vmem, spike count)
- IBT 없이는 객체 탐지가 거의 불가능하며, mAP는6~7% 수준에 불과 → 이는 IBT가 leaky-ReLU의 음수 영역 구현에중요한 역할
- Vmem Decoding 방식이 정확도와 수렴 속도가 우
Time step
→ channel-norm은 훨씬 빠르게 수렴하며, 미세한 객체도 정확히 탐지 가능
Energy Efficient
→ 동일한 연산 기준으로 Spiking-YOLO는 Tiny YOLO 대비 2000배 이상 전력 효율적
5. Conclusion
- 본 논문에서는 Spiking-YOLO라는 SNN 기반 객체 탐지 모델을 처음으로 제안 - 객체 탐지와 같은 고차원 회귀 문제를 SNN으로 해결하는 과정에서 나타나는 주요 문제점을 분석하고, 이를 극복하기 위해 두 가지 새로운 기법을 제안 1. Channel-wise Normalization → 뉴런의 발화율을 조정 2. Signed Neuron with Imbalanced Threshold (IBT) → leaky-ReLU의 양·음수 출력을 모두 SNN에 정확히 반영할 수 있도록 설계 - 이러한 기법들을 바탕으로 구축한 Spiking-YOLO는 PASCAL VOC 및 MS COCO와 같은 데이터셋에서 Tiny YOLO와 유사한 성능(mAP 기준 최대 98%)을 달성 - 또한, 뉴로모픽 칩에서 실행했을 때는 Tiny YOLO보다 약 280배 적은 에너지를 소비하였고, 기존 SNN 변환 기법보다 2.3~4배 더 빠르게 수렴