[Review]Neural Coding in Spiking Neural Networks(입력 전처리 Neural Encoding)
Donghun Kang2024. 10. 7. 15:27
- 이 연구는 뉴럴 코딩 기법 중 4가지인 rate coding, TTFS(time-to-first-spike) coding, phase coding, burst coding의 성능을 다양한 관점에서 비교하였다. - TTFS코딩이 높은 계산 성능과 낮은 하드웨어 구현 부담을 제공하는데 있어 가장 유리 - phase 코딩은 노이즈 내성이 강함. - burst 코딩은 네트워크 압축과 하드웨어 비이상성에 대한 견고성에서 우수.
이 연구는 다양한 neuromorphic system 설계에서 요구되는 성능과 제약을 고려하여 최적의 코딩 방식을 선택할 수 있는 지침을 제공
1. Introduction
- SNN은 에너지 효율성 측면에서 큰 관심을 받고 있으며, 생물학적 신경계를 기반으로 뉴런이 생성한 스파이크를 통해 정보를 전달하고 처리 - 스파이크 희소성과 간단한 시냅스 연산(SOP)은 SNN이 ANN에 비해 에너지 효율성이 높은 이유이다. - 다양한 신경 코딩 방식이 뉴런 간 정보 전송 및 처리를 설명하기 위해 제안되었다. [비율 코딩(rate coding), 시간 코딩(temporal coding), 위상 코딩(phase coding), 버스트 코딩(burst coding) 등]
비율 코딩(rate coding)
- 뉴런의 발화 속도를 통해 정보를 표현 - 생체 신경과 ANN에서 널리 사용 - 처리 속도가 느리고, 정보 전송 속도가 낮다는 한계점 존재
시간 코딩(temporal coding)
- 빠른 응답 메커니즘을 설명하기 위해 제안 - 첫 스파이크 타이밍, 스파이크 간의 순서, 상대적 스파이크 지연 등 다양한 형태로 정보를 전달
TTFS(Time-To-First-Spike)
- 첫 스파이크의 도착을 통해 정보를 전달하여 매우 빠른 속도를 제공 => 첫 스파이크의 중요성 강조
위상 코딩(phase coding)
- 뉴런의 발화 패턴이 배경 진동 리듬과 관련 - 히포캠퍼스와 후각 시스템에서 관찰되었다.
버스트 코딩(burst coding)
- 신경계의 여러 부위에서 뉴런이 스파이크 연속체로 통신하는 방식 - 높은 에너지 효율성과 빠른 처리 속도 제공
최근 연구에서는 DNN에서 변환된 SNN을 통해 다양한 신경 코딩 방식 성능을 비교 => TTFS코딩이 가장 높은 정확도와 빠른 처리 속도, 낮은 에너지 소비를 나타냄.
SNN은 뇌의 정보 처리 방식을 모방하여 다양한 코딩 기법을 통해 정보를 전달하며, 주요 코딩 방식으로 비율 코딩, 시간 코딩, 위상 코딩, 버스트 코딩이 있다. 이 연구에서는 각 코딩 방식의 성능을 비교하여 TTFS 코딩이 가장 빠른 처리 속도를 제공하고, 위상 코딩과 버스트 코딩이 특정 응용에서 높은 성능을 보인다고 결론지었습니다. 연구의 목적은 SNN 설계에 유용한 코딩 방식 선택에 대한 지침을 제공하는 것입니다.
2. Background and method
2.1 Neural Models and Network Architecture
LIF(Leaky Integrated-and-Fire) model
- 신경계의 정보 처리 본질을 포착하면서 계산 효율성이 뛰어난 모델 - 막 전위의 동역학을 정의하는 1차 선형 미분 방정식과 스파이크 생성을 결정하는 임계 조건으로 구성됨. - 시냅스는 뉴런 간 신호 전달을 가능하게 하는 전도도로 모델링되며 시간이 지남에 따라 변화하는 동역학을 가짐.
STDP(Spike-Timing-Dependent-Plasticity)
- 시냅스 전후 뉴런 간 스파이크의 시간 차이에 따라 시냅스 가중치를 갱신
본 연구에서는 단순화된 STDP알고리즘을 사용하여 시냅스 가중치 업데이트
"STDP" 두 뉴런 간의 시냅스 가중치 w가 어떻게 업데이트 되는지 나타냄
뉴런 간 스파이크의 시간 차이에 따라 시냅스 연결 강도가 강화되거나 약화되는 메커니즘
본 연구는 two-layer SNN(2층 스파이크 신경망 구조)를 채택하였으며, 이를 통해 MNIST와 Fashion-MNIST데이터 셋 테스트
SNN의 구조
- 이 아키텍처는 입력층과 프로세싱 층으로 구성 - 입력층은 784개의 유닛을 가지고 각 입력 픽셀을 다양한 뉴럴 코딩 방식으로 스파이크로 변환 - 입력층은 입력 픽셀을 스파이크로 인코딩하여 흥분성(Exc) 뉴런 층에 완전히 연결 - 프로세싱 층은 흥분성 뉴런과 억제성(Inh) 뉴런 간의 특별한 연결 패턴을 통해 WTA(Winner-Take-All) 원칙을 따르며, 측면 억제 효과를 유도 - 이 메커니즘은 학습 과정에서 입력 특징을 인식하기 위한 경쟁을 유도하며, 공정한 경쟁을 위해 뉴런이 발화할 때마다 임계값을 증가시키는 임계값 적응 방식을 사용 - 학습이 완료된 후 흥분성 뉴런은 가장 많이 발화한 레이블에 따라 그룹화되어 10개의 숫자 그룹으로 나뉜다. - 추론 과정에서는 평균 발화 스파이크 수가 가장 높은 그룹의 숫자가 입력 이미지의 분류 결과가 된다.
이 연구에서는 LIF 모델과 STDP 알고리즘을 사용하여 2층 스파이킹 신경망을 모델링하고, MNIST와 Fashion-MNIST 데이터셋에서 성능을 테스트. 입력층은 픽셀 값을 스파이크로 변환하여 프로세싱 층으로 전송하고, 프로세싱 층은 WTA 메커니즘을 통해 경쟁을 유도하여 입력 특징을 학습. 임계값 적응 방식을 통해 뉴런의 발화를 제어하며, 학습이 완료된 후 각 뉴런은 특정 레이블을 가지게 된다.
2.2 Coding Schemes
- Neural coding schemes는 입력 픽셀을 흥분성 뉴런으로 전달되는 스파이크로 변환하는 데 사용 - 본 연구에서는 4가지 뉴럴 코딩 방식인 비율 코딩(rate coding), 첫 스파이크 시간(time-to-first spike, TTFS) 코딩, 위상 코딩(phase coding), 버스트 코딩(burst coding)을 비교하여 연구 => 이 코딩 방식들은 입력 데이터 인코딩에만 사용되며, 출력 뉴런은 인코딩되지 않은 일반 LIF뉴런이다.
Rate Coding
- 신경망 모델에서 가장 널리 사용되는 코딩 방식 - 각 입력 픽셀을 발화율로 간주하며, 픽셀 값을 해당 발화율을 가진 푸아송 스파이크 열로 변환 - 입력 픽셀은 계수 λ로 스케일링되며, 최적의 분류 성능과 계산 성능을 위해 계수는 4로 선택 - 발화율은 0에서 63.75 Hz 사이로 제한
Figure 2A에 표시된 것처럼, 푸아송 스파이크 열은 스케일링된 픽셀 값을 무작위 숫자와 비교하여 생성
Time-to-First-Spike Coding
- 빠른 응답을 위해 첫 스파이크를 활용하여 몇 밀리초 내에 정보를 인코딩하기 위해 발견 - 입력 픽셀이 클수록 더 많은 정보를 담고, 더 빨리 스파이크를 방출 - 입력 픽셀은 최대값으로 나누어 먼저 정규화된다. - 임계값:
- 입력 픽셀이 임계값을 초과하면 스파이크가 생성되며, 추가 스파이크 생성을 방지 - 이 방식에서 입력 픽셀은 첫 스파이크의 정확한 타이밍으로 변환 - 입력 스파이크의 정확한 시간은 디코딩 단계에서 시냅스 후 뉴런으로 전달되는 정보의 양을 디코딩하는 데 사용 - 입력 스파이크는 시냅스를 자극하여 시냅스 입력을 후시냅스 전위(PSP)의 합 형태로 생성 - 시냅스 입력:
=> 단순화된 PSP는 네트워크에서 백터-행렬 곱셈이 필요 없기 때문에 하드웨어 성능을 크게 향상시킬 수 있다. - 스파이크 가중치는 다른 발화 시간이 서로 다른 정보의 양을 전달할 수 있도록 보장 - 스파이크가 일찍 도착할수록 더 큰 가중치를 가지며, 더 많은 정보를 후시냅스 뉴런에 전달 - 디코딩 과정은 입력 정보를 정확히 전달하기 위해 필수적 - 시냅스 후 뉴런은 시냅스 입력을 적분하여 막 전위가 발화 임계값에 도달할 때 스파이크를 방출
- 입력 픽셀 값을 첫 스파이크 발생 시간으로 변환하여 빠른 정보 전달을 가능하게 하는 코딩 방식 - 입력 픽셀이 클수록 스파이크가 더 빠르게 발생하며, 이를 통해 더 많은 정보를 전달 - 시냅스 후 뉴런으로 전달되는 정보는 후시냅스 전위(PSP)와 지수 함수로 정의된 가중치에 따라 계산
Phase Coding
- 입력 픽셀을 이진 표현으로 변환하여 비트 "1"이 스파이크를 신호화하는 간단한 위상 코딩 방식을 제안 - 위상 정보는 이진 표현의 각 비트에 다른 가중치를 할당하여 스파이크에 추가 - 위상의 개수는 255의 최대 픽셀 강도에 의해 결정되며, 8개 - 스파이크 가중치는 시간에 따라 주기적으로 변하며,
로 표현 - 이 함수는 이진 표현에서 각 비트의 중요도를 나타낸다. - 디코딩 단계에서는 이 가중치를 가진 스파이크를 사용하여 시냅스 입력을 생성 - 입력 픽셀이 클수록 더 중요한 스파이크를 생성하며, 더 많은 정보를 전달
- 입력 픽셀을 이진화하여 비트별 가중치를 통해 스파이크로 변환하는 방식 - 각 비트의 중요도는 시간에 따라 주기적으로 변화하는 가중치에 의해 결정되며, 더 큰 입력 픽셀 값은 더 중요한 스파이크를 생성하여 많은 정보를 전송 - 이는 효율적인 디코딩을 통해 시냅스 후 뉴런으로 정보를 전달하는 데 사용
Burst Coding
- 여러 스파이크를 한 번에 보내 빠르고 효율적인 정보 전송이 가능 - 뉴런 간 시냅스 통신의 신뢰성을 높일 수 있다. - 버스트 코딩에서는 스파이크의 수 (Ns)와 버스트 내 스파이크 간 간격(ISI)이 정보 전달을 담당 - 우리는 입력 픽셀을 스파이크 버스트로 변환하는 간단하면서도 효과적인 버스트 코딩 방식을 제안하였으며, 이때 스파이크 수와 ISI는 픽셀 강도에 비례 - 변환 과정은 Figure 2D에 설명
- 먼저 입력 픽셀은 0에서 1로 정규화된다. - 특정 입력 픽셀 P에 대해 버스트 내 스파이크 수는
로 계산. (Nmax는 최대 스파이크 수) - ISI 변환: 더 큰 입력 픽셀은 더 작은 ISI와 더 많은 스파이크 발생 - Nmax = 5/ Tmin = 2ms로 설정 - 매개변수 차원이 커서 수동 튜닝은 신뢰성이 낮고, 그리드 검색은 시간이 많이 소요되기 때문에, 우리는 유전 알고리즘(GA)을 사용하여 최적의 분류 정확도를 달성하도록 파라미터를 최적화
- 여러 스파이크를 동시에 보내 정보를 효율적으로 전달하는 방식으로, 각 픽셀 값에 따라 스파이크 수와 간격이 달라진다. - 큰 입력 값일수록 스파이크 수가 많고, 간격이 짧아진다. - 실험에서 다양한 코딩 방식의 성능을 최적화하기 위해 유전 알고리즘을 사용하여 신경망 매개변수를 조정
LIF 뉴런 모델, 시냅스 모델, STDP 관련 매개변수를 포함한 SNN 매개변수/ 각 코딩 방식에 따라 다른 값이 설정각 코딩 방식에 사용된 모델 파라미터로, 비율 코딩의 계수, TTFS 코딩의 시간 상수 그리고 버스트 코딩의 값이 나와 있다.
3. Results and Discussion
3.1 Input Spike Patterns
- 다양한 코딩 방식에서 얻은 입력 스파이크 패턴과 훈련 이미지 전체에 걸친 평균 입력 스파이크 수가 Figure 3에 나타나 있다.
Rate Coding
- 시간 창 내 무작위 스파이크 패턴으로 구성 - 각 입력 뉴런의 스파이크 빈도는 픽셀 강도에 비례 - 평균 스파이크 수는 시간에 따라 변하며, 100ms 시간 창에서 총 689
TTFS Coding
- TTFS 코딩에서는 각 입력이 한 번의 스파이크만을 생성하며, 마지막 스파이크는 20ms 이전에 발생 - 총 스파이크 수는 166
Phase Coding
- 주기적인 스파이크 패턴을 생성하여, 20,325개의 가장 많은 스파이크를 발생
Burst Coding
- 각 입력 뉴런이 픽셀 강도에 따라 스파이크 버스트 또는 단일 스파이크를 출력 - 높은 강도는 빈번한 버스트를, 낮은 강도는 드문 버스트를 생성 - 마지막 스파이크는 20ms 이전에 발생하며, 총 스파이크 수는 598
=> 명백하게 Phase 코딩이 가장 많은 스파이크를 생성하는 반면, TTFS 코딩은 가장 적은 스파이크를 생성
입력 스파이크 패턴을 비교한 결과, 각 코딩 방식에 따라 스파이크 발생 양상이 다르게 나타난다. 비율 코딩은 무작위 패턴을, TTFS 코딩은 시간 내 단일 스파이크를, 위상 코딩은 주기적인 스파이크를, 그리고 버스트 코딩은 입력 강도에 따라 스파이크 버스트를 생성. 위상 코딩이 가장 많은 스파이크를 생성하고, TTFS 코딩은 가장 적은 스파이크를 생성하여 입력 정보를 전달
3.2 Classification and Computational Performance
- MNIST 및 Fashion-MNIST 데이터셋을 사용하여 이미지 분류 작업에서 각 코딩 방식을 평가 - 각 코딩 방식의 분류 성능은 학습 및 추론 단계에서의 분류 정확도와 처리 지연 시간을 기반으로 평가 - Figure 4는 각 코딩 방식에 대한 MNIST 데이터셋에서의 분류 결과를 보여주며, 학습 epoch수와 학습 지연 시간에 따른 분류 정확도를 포함 - 학습 지연 시간은 각 입력 이미지와 함께 SNN이 학습되는 시간의 길이로 정의
각 코딩 방식에 대한 MINIST 데이터셋에서의 분류 결과
Rate Coding
- 학습 지연 시간이 80ms로 증가할 때 정확도가 향상 => 높은 정확도에 도달하는데 4번의 학습 epochs가 필요
TTFS
- 20ms의 학습 지연 시간이 최상의 정확도 => 높은 정확도에 도달하는데 4번의 학습 epochs가 필요
Phase Coding
- 60ms 미만의 학습 지연 시간에서 정확도가 증가하다가 이후 감소. => 학습 초기 단계에서 활성화된 뉴런과 관련된 가중치가 더 자주 업데이트되어 뉴런이 경쟁에서 우세해지는 결과를 초래하기 때문
Burst Coding
- 비슷한 패턴을 확인할 수 있지만, 20ms 이후에는 성능이 급격히 감소
코딩 방식마다 최적의 학습 지연 시간과 epochs수가 다르므로, 공정한 비교를 위해 학습 지연 시간과 최적의 epochs 수의 곱으로 정의된 유효 학습 지연 시간을 사용
(A): 모든 코딩 방식에 대한 유효 학습 지연 시간에 따른 정확도 변화/ (B): 추론 수렴 결과
- Burst Coding이 가장 빠른 학습 수렴 속도를 보이고, Rate Coding이 가장 느린 수렴 속도를 보인다. - TTFS Coding이 가장 빠른 추론 속도를 보이고, Rate Coding이 가장 느린 수렴 속도를 보인다.
각 코딩 방식의 최적의 정확도와 유효 학습 및 추론 지연 시간을 포함한 결과Rate Coding의 계수 λ와 Burst Coding의 최대 spike수에 따른 성능 비교
- TTFS 코딩은 가장 높은 정확도와 최소한의 지연 시간, 가장 적은 스파이크 수와 SOPs를 요구 => 정보 코딩에 첫 Spike와 정확한 타이밍을 사용하기 때문
결과적으로 TTFS Coding이 전체적인 분류 성능에서 가장 우수한 성능을 보임. Phase Coding과 Rate Coding은 상대적으로 낮은 성능을 보임. Rate Coding과 Burst Coding의 성능은 모델 하이퍼파라미터 선택에 크게 영향을 받음. 특히, Rate Coding의 계수 λ와 Burst Coding의 최대 spike수가 중요
3.3 Hardware Implementation of Coding Schemes
- 각 코딩 방식의 하드웨어 구현 세부 사항을 면적 및 전력 소비 측면에서 논의 - 각 디지털 게이트에 해당하는 NAND 게이트의 수를 추정하고, 이 수를 각 코딩 방식의 하드웨어 면적 기준으로 사용
모든 코딩 방식의 게이트 수준 구현
Rate Coding
- 의사 랜덤 숫자 생성기와 비교기로 구현 - Figure 6A 에서 랜덤 숫자 생성기는 3개의 XOR 게이트를 사용한 16비트 선형 피드백 시프트 레지스터로 구성 - 단일 코딩 모듈에 대한 총 NAND 게이트 수는 348
Phase Coding
- 멀티플렉서와 8비트 레지스터를 사용하여 입력의 주기적 이진 표현을 생성하는 가장 간단한 방식 - Figure 6B 에 나와 있다. 총 NAND 게이트 수는 76
TTFS Coding
- 시간에 따라 감소하는 임계값과 스파이크 가중치를 생성하는 두 부분으로 구현 - TTFS 코딩에서는 지수 함수 계산이 필요한데, 이는 디지털 하드웨어 시스템에서 복잡 - 메모리 테이블(ROM)을 사용하여 미리 계산된 값을 저장하는 간단하고 널리 사용되는 구현 방식을 채택 - Figure 6C는 임계값을 계산하는 블록만 보여줌.
Burst Coding
- 입력을 ISI와 Ns로 변환하고 스파이크 버스트 생성을 제어 - Figure 6D에서는 카운팅 스파이크 블록이 생성된 스파이크 수를 모니터링하고, 카운팅 시간 블록은 다음 스파이크 생성 전의 시간 단계를 기록
N이 작을 때는 TTFS 코딩의 전력 소비가 Rate 코딩보다 높지만, N이 클 때는 TTFS 코딩의 전력 소비가 가장 낮습니다.
각 코딩 방식의 하드웨어 구현과 면적, 전력 소비를 비교. Rate Coding은 랜덤 숫자 생성기와 비교기를 사용하며, TTFS 코딩은 지수 함수 계산을 위해 ROM을 사용하여 효율성을 높였다. Phase Coding은 가장 적은 NAND 게이트 수를 요구하여 단순한 구조를 보인다. 전력 소비 측면에서, TTFS Coding은 복잡한 구현이 필요하지만 스파이크 수가 많아질수록 전력 소비 효율성이 가장 뛰어났다.
3.4 Input Noise Study
- 세 가지 유형의 노이즈가 포함된 MNIST 데이터셋을 사용 - MNIST 데이터셋에 추가된 노이즈는 AWGN(추가적 백색 가우시안 노이즈), 모션 블러링, R-AWGN(감소된 대비의 AWGN)
- (A): 훈련 단계에서 입력 노이즈를 도입한 후 노이즈가 없는 MNIST 데이터셋으로 추론 => 모션 블러와 R-AWGN은 뉴럴 코딩 방식에 가장 큰 영향 => TTFS 코딩은 모션 블러, R-AWGN에 가장 민감 => Phase 코딩은 모든 유형의 입력 노이즈에 가장 강력한 내성
- (B): 노이즈가 없는 MNIST 데이터셋을 사용하여 훈련하고, 추론 단계에서 입력 노이즈를 도입
코딩 방식의 하드웨어 구현 결과 하드웨어 구현에서 각 코딩 방식에 대해 필요한 게이트 수와 전력 소비를 나열한 표
- TTFS 코딩은 지수 계산을 요구하는 구현 덕분에 전력 소비가 높다. - AWGN 표준 편차가 증가할수록, TTFS 코딩과 버스트 코딩에 큰 영향을 미쳤고, 위상 코딩은 가장 높은 내성
각 코딩 방식의 정확도 손실이 표시
- Phase 코딩은 훈련 및 추론 시에 가장 높은 내성을 유지 - (A): 훈련 단계에서 노이즈가 추가된 경우 정확도 손실 - (B): 추론 시에만 노이즈가 추가된 경우 정확도 손실 => TTFS 코딩과 Rate 코딩은 노이즈에 가장 큰 영향을 받았으며, Phase 코딩은 노이즈에 강한 특성을 유지
Phase 코딩은 훈련 및 추론 단계 모두에서 노이즈에 가장 높은 내성을 보임. TTFS 코딩은 전반적으로 가장 취약한 내성을 보임. TTFS 코딩에서는 첫 스파이크의 시간이 중요한데, 작은 노이즈 값이 큰 오류를 유발할 수 있어 노이즈의 영향을 쉽게 받는다. 따라서, Phase 코딩이 가장 견고한 방식으로 나타났고, TTFS 코딩은 노이즈에 대한 내성이 가장 낮았다.
3.5 Weight Quantization
- Weight Quantization은 메모리 크기와 에너지 소비를 줄이는 데 큰 이점을 제공 - 확률적 반올림 사용(SR) - 작은 가중치 업데이트가 0으로 반올림되지 않도록 비영의 확률을 보장
Weight Quauntization에 따른 정확고 손실의 simulation 결과
- (A): 훈련 중 다양한 비트 폭에서 MNIST 데이터셋을 사용한 정확도 손실 그래프. - (B): 사후 훈련에서 다양한 비트 폭에서 정확도 손실 그래프.
Weight Quantization(가중치 양자화)는 메모리 절약과 에너지 효율성을 크게 향상시키지만, 비트 폭이 감소할수록 정확도 손실이 커진다. 특히, 6비트 이하로 줄어들면 훈련 중 정확도가 크게 떨어지며, 사후 훈련 시 2비트 미만에서 큰 손실이 발생. Rate 코딩이 가장 큰 정확도 손실을 겪는 반면, Burst코딩은 4비트 이하의 비트 폭에서 가장 견고한 성능을 보임.
3.5 Impact of Synaptic Noise and Fault
- 시냅스 노이즈는 주로 시냅스 장치의 프로그래밍 시 발생하며, 훈련 중 각 양자화된 가중치에 가우시안 노이즈를 추가하여 이 노이즈의 영향을 모델링 - 시뮬레이션에서는 4비트 너비에서 σ값을 0에서 100%로 변경하여 MNIST 데이터셋에서 훈련 후 10 에포크 후의 정확도 손실을 측정
각 코딩 방식에 대한 시냅스 노이즈의 영향
=> Phase 코딩은 가장 큰 정확도 손실을 보였고, TTFS 코딩은 가장 높은 내성
다양한 코딩 방식에 따른 정확도 손실
- 사후 훈련 프로그래밍 노이즈의 영향을 연구했을 때, 잘 훈련된 가중치를 SR 방법으로 양자화한 후 시냅스 장치에 매핑하는 동안 프로그래밍 노이즈를 추가 => 8비트 양자화의 경우, 모든σ 값에서 손실이 거의 없었다.
10 에포크 후 MNIST 데이터셋에서의 정확도 손실
Rate 코딩은 결함에 가장 민감한 것으로 나타났으며, 다른 코딩 방식들은 비교적 높은 내성을 보였습니다.
TFS 코딩은 노이즈에 가장 높은 내성을 보였으며, Phase 코딩은 높은 스파이크 활동으로 인해 가장 큰 손실을 겪었다. SAF 결함에 대해서는 Rate 코딩이 가장 큰 손실을 보였으며, Burst 코딩이 상대적으로 높은 내성을 나타냈다. 이를 통해 Rate 코딩은 결함에 대해 가장 취약한 반면, TTFS와 Burst 코딩은 더 견고한 성능을 나타냄
4. Comparison And Discussion
- 다양한 코딩 방식의 종합적인 비교를 위해, 우리는 훈련 및 추론 단계에서의 성능을 10개의 측면으로 요약
각 코딩 방식의 정확도 손실 데이터를 min-max 정규화 방법으로 비교
- (A): 지연 시간은 유효 학습 지연 시간을 의미하며, 가지치기, 양자화, 입력 노이즈, 시냅스 노이즈, 시냅스 결함에 대해 정규화된 평균 손실을 계산
다양한 코딩 방식에 대한 질적 비교
- 많은 체크 표시가 있을수록 해당 코딩 방식의 성능이 더 우수함
Rate Coding
- 훈련 단계에서 입력 노이즈에 높은 내성 - 가장 낮은 정확도와 높은 지연 시간, 그리고 양자화에 의한 최악의 압축 성능
TTFS Coding
- 가장 적은 SOP와 전력 소비량을 가지고 있으며, 시냅스 노이즈에 가장 높은 내성
Phase Coding
- 입력 노이즈에 대해 가장 높은 내성을 보이며, Pruning(가지치기)에서 최저 압축 성능을 보임
Burst Coding
- 짧은 지연 시간과 적은 SOP 수 - 시냅스 결함에 대해 높은 내성을 보이지만, 넓은 면적과 낮은 노이즈 내성이 단점
시냅스 SAF 결함 모델을 고려했을 때 각 코딩 방식의 정확도 손실
- Rate 코딩이 결함에 가장 취약 => 설계 시 성능과 하드웨어 효율성이 중요한 경우, TTFS 코딩이 최선의 선택 => 네트워크 성능이 하드웨어 비이상성에 의해 크게 제한될 경우, Burst 코딩이 더 나은 선택
논문에서는 훈련 및 추론 중 다양한 뉴럴 코딩 방식의 성능을 여러 측면에서 비교하고 논의했다. TTFS 코딩은 계산 효율성과 하드웨어 효율성 측면에서 우수 Phase 코딩은 노이즈 내성이 높아 안정적인 성능 Rate 코딩은 가장 낮은 정확도를 보이지만, 간단한 구조로 구현이 용이 Burst 코딩은 시냅스 결함에 대한 높은 내성
5. Conclusion
- 본 연구에서는 비지도 학습 SNN에서 다양한 뉴럴 코딩 방식을 훈련 및 추론 단계에서 분류 성능, 계산 성능, 하드웨어 구현, 네트워크 압축 효율성, 노이즈 내성, 결함 허용성 등의 여러 측면에서 조사 => 분류 및 계산 성능은 정확도, 지연 시간, SOP(시냅스 연산) 기준으로 분석 => 가지치기와 양자화를 통해 네트워크 압축 효율성을 평가하고 => 하드웨어 구현의 면적과 전력 소비를 분석하여 이 코딩 방식들이 하드웨어 구현에 미치는 영향을 조사 => 실제 응용에서의 입력 노이즈 존재를 고려하여, 각 코딩 방식이 다양한 유형의 입력 노이즈와 그 변동성에 얼마나 민감한지를 평가 => 아날로그 시스템에 존재하는 장치 비이상성으로 인한 시냅스 노이즈와 결함에 대해 각 코딩 방식의 견고성을 비교
이 연구는 비지도 학습 SNN에서 여러 뉴럴 코딩 방식을 평가하고 비교하여, 각 코딩 방식의 고유한 장단점을 분석. 평가 항목에는 분류 성능, 계산 성능, 하드웨어 효율성, 노이즈 내성, 결함 허용성이 포함.