ODAI

[Review]Deep learning in spiking neural networks (전반적인 SNN)

Donghun Kang 2024. 10. 3. 15:48

1. Introduction

  • ANNs의 성공
- 딥러닝, 특히 Deep Neural Networks, DNNs 은 최근 몇 년 동안 컴퓨터 비전, 음성 인식 등의 분야에서 뛰어난 성과를 보여줌.
- DNN은 연속적인 활성화 함수(continuous activation function)를 사용하고, 이를 통해 많은 데이터를 학습해 뛰어난 분류 정확도를 달성할 수 있었다. 2012년 AlexNet의 성공이 그 예로, 이미지 분류에서 인간을 능가하는 성능을 보여주었다.
  • ANNs와 SNNs의 차이
- ANNs는 연속적인 활성화를 사용하는 반면, 생물학적 신경망은 스파이크(불연속적인 신호)를 사용
- SNN은 이러한 생물학적 신경 네트워크를 모방하여 스파이크 타이밍과 스파이크 비율을 기반으로 정보를 처리
- 이는 ANNs보다 생물학적으로 더 타당하며, 뇌가 뉴런 수준에서 어떻게 계산을 수행하는지 이해하는 데 중요한 역할
  • SNN의 장점
- SNN은 이벤트 기반(event-driven)이고 시간과 공간에서 스파이크가 희소하게 발생하므로 에너지 효율적
- 이는 생물학적 학습 규칙을 적용할 수 있게 하며, 저전력 뉴로모픽 하드웨어(neuromorphic hardware)를 구축하는 데 유리
  • SNN 학습의 어려움
- 그러나 딥러닝을 SNN에 적용하는 것은 여전히 도전적.
- 스파이킹 뉴런의 전달 함수는 미분이 불가능하기 때문에, 역전파(backpropagation)를 사용하는 것이 어렵다.
  • SNN의 발전 가능성
- 최근에는 여러 학습 방법들이 제안되어 SNN이 ANN에 비해 성능이 뒤처지는 문제를 해결하고 있으며, 시공간 데이터 처리에서 SNN의 장점이 부각되고 있다.
- SNN은 ANN보다 적은 연산으로도 성능을 달성할 수 있는 가능성을 보여주고 있다.

 


 

2. Spiking Neural Network: A biologically inspired approach to information proccessing

 

2.1. SNN architecture

- SNN은 스파이킹 뉴런(spiking neurons)과 이들을 연결하는 시냅스로 구성
- 시냅스는 조정 가능한 스칼라 가중치를 가지며, 이는 학습을 통해 조정

 

  • 입력 데이터 인코딩
- SNN에서는 아날로그 입력 데이터를 스파이크 신호로 변환하는 방법이 필요.
- 이를 위해 비율 코딩(rate-based coding), 시간 코딩(temporal coding), 그리고 인구 코딩(population coding) 등이 사용됨
# 뉴런 모델로는 대표적으로 Leaky Integrate-and-Fire(LIF) 모델이 사용됨.
=> 이 모델은 외부 입력이 뉴런의 막전위에 누적되어 일정 임계값을 넘으면 스파이크를 발생시키는 과정을 모사

 


 

2.2. Learning rules in SNNs

- SNN의 학습은 주로 시냅스 가중치를 조정하는 방식으로 이루어지며, 특히 스파이크 타이밍에 의존하는 학습 규칙이 중요한 역할을 함.
- 대표적인 학습 규칙으로 스파이크 타이밍 의존성 가소성(Spike-Timing Dependent Plasticity, STDP)

 


 

2.2.1. Unsupervised learning via STDP

  • STDP 학습 규칙
- STDP는 뉴런 간의 상대적인 스파이크 타이밍에 따라 시냅스 가중치가 조정되는 학습 규칙.
- STDP는 시냅스 전후 뉴런의 스파이크 타이밍 차이에 따라 가중치를 조정하며, 학습 속도는 주로 시간 차이를 기반으로 지수 함수로 계산. 이러한 조정은 몇 밀리초(ms)의 시간 범위에서 이루어짐.
# LTP (장기 강화) : 시냅스 전 뉴런의 스파이크가 시냅스 후 뉴런보다 먼저 발생하면 시냅스 가중치가 강화
# LTD (장기 억제) : 반대로 시냅스 후 뉴런의 스파이크가 먼저 발생하면 가중치가 약화
  • STDP의 효과
- STDP는 반복적인 스파이크 패턴에 반응하는 뉴런의 선택성을 형성하는 데 기여
- 즉, 반복적으로 특정 패턴이 입력되면 뉴런은 이 패턴에 민감하게 반응하도록 학습
- 이 과정에서 뉴런은 특정 패턴의 첫 번째 스파이크에 주목하게 되며, 이를 통해 패턴 인식의 효율성을 높일 수 있다. (초기 스파이크에 정보가 많이 포함)
- 이는 뉴런이 짧은 지연 시간에 더 빠르게 반응하게 함으로써 신경 처리 속도를 향상시키는 결과를 낳는다.
  • STDP 기반 비지도 학습의 응용
- STDP는 SNN에서 비지도 학습을 통해 입력 패턴을 학습할 수 있는 메커니즘으로 작동.
- 예를 들어, Masquelier et al. (2008) 연구에서는 STDP를 통해 반복적인 시공간 패턴을 단일 뉴런이 학습할 수 있음을 보였다. 이러한 뉴런은 입력된 스파이크 패턴에 맞춰 스파이크 응답 지연 시간을 감소시키며, 패턴 학습의 효율성을 높였다.
  • 네트워크 수준의 STDP 효과
- STDP는 단일 뉴런뿐만 아니라 네트워크 전체에서 신경 처리 효율을 높이는 역할을 한다.
- 특히, STDP를 통해 뉴런은 스파이크 패턴 중에서 중요한 정보가 포함된 부분에 민감하게 반응하도록 학습되며, 이는 더 빠르고 효율적인 패턴 인식을 가능하게 한다.

 


 

2.2.2. Probabilistic characterization of unsupervised STDP

  • 뇌의 확률적 계산
- 뇌는 감각 자극을 처리할 때 확률적 베이지안 분석(Bayesian analysis)을 사용한다는 연구가 있다.
- 베이지안 분석에서는 새로운 관측을 바탕으로 숨겨진 원인(예: 특정 물체의 존재)을 추론하고, 이를 통해 확률적으로 입력 데이터를 해석.
- STDP는 이러한 확률적 계산을 기반으로 신경망에서 학습이 이루어질 수 있는 메커니즘으로 설명.
  • Nessler et al. (2009) 연구
- Nessler et al. (2009) 연구에서는 STDP를 사용한 네트워크가 확률적 승자독식(Winner-Take-All, WTA) 회로와 결합되면 다중항 혼합 모델(multinomial mixture model)의 매개변수를 학습할 수 있음을 보여주었다.
- 이 모델은 생물학적으로 타당한 신경망 모델로 설계되었다.
- 이 연구에서 사용된 STDP 규칙은 시냅스 전 뉴런이 시냅스 후 뉴런보다 약간 더 먼저 스파이크를 발생시키면 LTP가 발생하고, 반대의 경우 LTD가 발생한다.
- 이는 숨겨진 변수의 확률 분포를 추정하는 기대 최대화(Expectation Maximization, EM) 알고리즘의 E-step과 M-step을 구현하는 역할을 한다.
  • 확장된 WTA 회로와 HMM
- 이후 연구에서는 WTA 회로를 액체 상태 머신(Liquid State Machine, LSM)과 같은 리저버 컴퓨팅 모델(reservoir computing model)에 통합하여, STDP가 시공간 입력 패턴의 통계적 구조를 학습할 수 있도록 확장되었다.
- 이 모델에서는 신경망이 Hidden Markov Model (HMM)의 상태 공간에서 샘플을 생성하는 것으로 해석될 수 있으며, 이를 통해 더욱 복잡한 시공간 패턴을 학습할 수 있다.
  • STDP의 확률적 특성을 이용한 다른 연구
- Tavanaei & Maida (2015b, 2018b) 연구에서는 확률적 STDP 규칙을 기반으로 하여 스파이킹 신경망에서 시간적 패턴 인식 및 음성 인식 작업을 수행할 수 있는 방법을 제안했다.
- 이 연구는 Gaussian 혼합 모델(GMM)에서 학습된 EM 알고리즘을 사용해 SNN이 복잡한 시공간 패턴을 학습하도록 했다.
- Rezende et al. (2011) 연구에서는 스파이킹 뉴런이 감각 자극을 처리할 때 확률적 숨겨진 원인을 모델링할 수 있는 생물학적으로 타당한 학습 규칙을 제안했다.
- 이 규칙은 Kullback-Leibler divergence를 최소화하는 방향으로 학습이 이루어지며, 신경망이 관찰된 스파이크 시퀀스와 모델 시퀀스를 일치시키도록 학습된다.
  • 확률적 STDP의 응용
- 확률적 STDP 규칙은 다양한 신경망 모델에서 적용될 수 있으며, HMM, 마르코프 연쇄 몬테카를로(Markov Chain Monte Carlo, MCMC) 샘플링 등의 학습 방법론과 결합하여 신경망의 성능을 향상시킬 수 있다.

 

Summary
=> STDP는 확률적 성격을 띠며, 이를 통해 SNN은 숨겨진 확률적 원인이나 패턴을 학습할 수 있다. 이를 바탕으로 신경망이 감각 자극을 확률적으로 해석하고 처리할 수 있는 능력을 갖추게 된다.

 


 

2.2.3. Supervised learning 

  • 지도 학습의 기본 원리
- 지도 학습은 정답(레이블)이 있는 데이터셋을 사용하여 뉴런들이 원하는 출력을 생성하도록 학습하는 방식
- 즉, 입력에 대한 출력 스파이크 패턴을 목표 출력에 맞추기 위해 가중치가 조정된다.
- 전통적인 신경망에서는 역전파(backpropagation) 알고리즘을 통해 출력과 목표 출력 간의 오차를 최소화하는 방식으로 학습이 이루어진다.
- 하지만 SNN에서는 스파이크 신호가 비미분 가능하기 때문에 기존의 역전파(backpropagation) 알고리즘을 그대로 사용할 수 없다는 점이 어려움을 초래
  • SNN에서의 역전파 문제
SNN에서 역전파를 적용하기 어려운 두 가지 중요한 문제점이 있다.
1. 미분 불가능성: 스파이킹 뉴런의 활성화 함수는 Dirac 델타 함수처럼 불연속적이기 때문에 미분이 불가능
2. 가중치 전송 문제(Weight Transport Problem): 역전파 알고리즘은 피드백 가중치와 피드포워드 가중치가 정확히 일치해야 하지만, 생물학적으로 이러한 대칭적인 가중치 연결이 뇌에서 구현된다는 증거는 부족
  • 대체 기법
이 문제들을 해결하기 위한 여러 가지 대체 기법들이 제안되었다.
1. 대리 미분(Surrogate Gradient Descent)
SNN에서는 미분 불가능한 스파이크를 대신하여 뉴런의 막전위(membrane potential)를 사용해 미분 가능한 신호로 취급하여 학습하는 기법이 제안되었다. 이를 통해 SNN에서도 역전파 알고리즘을 사용할 수 있다.
2. 무작위 피드백 가중치(Random Feedback Weights)
Lillicrap et al. (2016) 연구에서는 무작위 피드백 가중치를 사용해도 일부 작업에서는 역전파 알고리즘이 여전히 좋은 성능을 낼 수 있음을 보여주었다. 이는 대칭적인 가중치가 필요하지 않다는 점에서 생물학적으로 더 타당한 방법일 수 있다.
3. 거울 STDP(Mirrored STDP)
Burbank (2015) 연구에서는 STDP를 기반으로 한 자동인코더(autoencoder)를 만들었으며, 이는 대칭적인 피드백 연결을 제공해 역전파와 유사한 학습을 가능하게 했다.
  • SpikeProp: 최초의 SNN 지도 학습 알고리즘
- SpikeProp(2002년)은 SNN에서 역전파를 사용한 최초의 알고리즘.
- 이 알고리즘은 스파이크 타이밍을 고려한 손실 함수를 정의하여 출력 스파이크와 목표 스파이크 간의 차이를 최소화하는 방식으로 학습이 이루어짐
- 이 알고리즘은 XOR 문제와 같은 비선형적으로 분리 가능한 문제를 해결할 수 있었다.
- 이후 Multi-SpikeProp과 같은 다중 스파이크 코딩 기법이 추가로 개발
  • 최근의 지도 학습 알고리즘
ReSuMe (Remote Supervised Learning)
ReSuMe는 Widrow-Hoff(델타) 규칙을 SNN에 적용한 알고리즘으로, STDP와 반-STDP(anti-STDP)를 결합하여 목표 출력과 관찰된 출력 간의 오차를 최소화하는 방식으로 학습이 이루어짐
Chronotron
Tempotron의 한계를 보완한 Chronotron은 Victor-Purpura 거리 메트릭(VP distance metric)을 사용해 출력 스파이크 패턴과 목표 패턴 간의 차이를 최소화하는 방식으로 학습. 이 방식은 시간 기반 스파이크 코딩 문제에 적합
SPAN (Spike Pattern Association Neuron)
SPAN은 Widrow-Hoff 규칙을 SNN에서 사용할 수 있도록 스파이크 신호를 연속적인 아날로그 신호로 변환하여 학습을 진행하는 방식. 이 기법을 통해 스파이크 신호를 보다 쉽게 학습할 수 있다.

 

Summary

=> SNN에서 지도 학습은 스파이크 패턴과 목표 패턴 간의 오차를 최소화하기 위해 다양한 방법이 연구되고 있으며, 전통적인 역전파의 문제를 해결하기 위한 대체 알고리즘들이 개발
SpikeProp, ReSuMe, Chronotron, SPAN과 같은 알고리즘들이 대표적인 지도 학습 기법으로 사용되고 있으며, 이를 통해 SNN에서도 높은 성능을 달성할 수 있는 가능성을 보여주고 있다.

 


 

3. Deep learning in SNNs

3.1. Deep, fully connected SNNs

  • Fully Connected SNN의 구조와 학습
- Fully connected SNN은 여러 층의 뉴런이 완전 연결된 형태로 구성.
- 각 뉴런은 스파이크를 발생시키며, 층 간의 시냅스는 스파이크의 전달을 담당
- 이 구조는 기존의 딥러닝 모델인 인공신경망(ANN)의 완전 연결 네트워크와 유사하지만, 뉴런 간의 정보 전달이 스파이크를 통해 이루어진다는 차이가 있다.
- 딥러닝 SNN을 구현하기 위해서는 스파이크를 기반으로 한 학습 규칙이 필요하며, STDP와 같은 생물학적 학습 규칙을 통해 학습이 이루어진다.
  • STDP 및 확률적 경사 하강법을 통한 학습
- 여러 연구에서는 STDP와 확률적 경사 하강법(stochastic gradient descent)을 결합하여 깊은 SNN을 학습시켰다. 
- 이는 각 층에서 스파이크 타이밍에 따라 시냅스 가중치를 조정하는 방식으로 학습이 진행
- Diehl & Cook (2015)의 연구에서는 2층 SNN을 STDP를 통해 학습시키는 방식이 제안되었으며, MNIST 데이터셋에서 95%의 인식률을 달성했다.
- 이는 SNN이 특정 패턴을 인식하는 데 있어 충분한 성능을 발휘할 수 있음을 보여준다.
  • 역전파(backpropagation)를 이용한 SNN 학습
- 최근 연구에서는 SNN에 역전파(backpropagation)를 적용하려는 시도도 이루어졌다.
- Lee et al. (2016)은 뉴런의 막전위(membrane potential)를 미분 가능한 신호로 취급하여, 이를 통해 역전파 알고리즘을 SNN에 적용했다.
- 이 연구에서는 MNIST 데이터셋에서 98.88%의 높은 성능을 기록했으며, 이는 기존의 딥러닝 신경망과 비교할 만한 성능을 보여준다.
- 또한, Neftci et al. (2017)은 이벤트 기반 역전파(event-driven random backpropagation, eRBP) 알고리즘을 제안하여, 신경망의 모든 학습 정보가 국소적으로 제공되도록 했다.
- 이 방식은 SNN에서 역전파를 더욱 효율적으로 적용할 수 있도록 설계되었다.
  • ANN-to-SNN 변환 기법
- ANN을 사전에 학습한 후 SNN으로 변환하는 기법도 제안되었다.
- 이 기법은 ANN-to-SNN 변환으로 불리며, 전통적인 딥러닝 방식으로 학습된 ANN을 스파이킹 방식으로 변환하여 사용
- Diehl et al. (2015)은 이 변환 기법을 사용해 MNIST에서 98%의 성능을 달성했으며, SNN이 더 적은 연산으로도 높은 성능을 낼 수 있는 가능성을 보여주었다.
- Neil et al. (2016)**은 다양한 모델을 사용해 ANN-to-SNN 변환 기법의 성능과 연산 효율성을 비교했고, SNN이 적은 연산으로도 뛰어난 성능을 달성할 수 있음을 시사했다.

 

Summary

Deep, fully connected SNN은 완전 연결 신경망 구조를 스파이킹 방식으로 구현한 모델.
STDP와 backpropagation 알고리즘을 적용하여 SNN을 학습할 수 있으며, ANN-to-SNN 변환 기법도 제안되어 SNN의 성능과 효율성을 높이는 데 기여하고 있다.
SNN은 딥러닝에서 요구되는 복잡한 학습 과정을 처리하면서도 에너지 효율성을 극대화할 수 있는 가능성을 가지고 있다.

 


 

3.2. Spiking CNNs

  • Spiking CNN의 구조
- Convolutional Neural Networks(CNNs)는 이미지나 영상 인식과 같은 작업에 많이 사용되며, 계층적으로 특징을 추출하는 네트워크 구조
- Spiking CNN(SCNN)은 CNN 구조를 스파이킹 방식으로 변환한 신경망
- CNN에서 사용하는 필터(또는 커널)를 통해 입력 데이터의 특징을 추출하며, 이 과정은 스파이크 방식으로 변환되어 SCNN에서 구현
- 특징을 추출하는 각 계층은 스파이킹 뉴런으로 구성되며, 이 뉴런들은 스파이크 패턴을 학습하고 출력
  • CNN에서 스파이킹 신경망으로의 변환
- 전통적인 CNN에서는 연속적인 활성화 값과 미분 가능한 활성화 함수를 사용하지만, SCNN에서는 스파이크로 변환된 신호를 처리
- SCNN에서의 첫 번째 계층은 주로 단순한 시각적 특징(예: 에지(edge)나 패턴)을 인식하며, 이후 계층에서는 점차 더 복잡하고 추상적인 특징을 학습
- 이는 생물학적으로도 유사한 처리 방식으로, 인간 시각 시스템의 초기 단계와 유사
  • STDP를 사용한 Spiking CNN 학습
- STDP(Spike-Timing Dependent Plasticity)는 Spiking CNN에서도 학습 규칙으로 사용
- STDP를 통해 각 계층의 뉴런들은 입력 스파이크의 타이밍에 따라 가중치를 조정하고 학습
- 예를 들어, Kheradpisheh et al. (2016)의 연구에서는 MNIST 데이터셋을 기반으로 STDP를 사용한 SCNN을 학습시켰으며, 이 모델은 98.4%의 인식률을 달성했다.
- 이 모델은 첫 번째 계층에서 Difference-of-Gaussian(DoG) 필터를 사용하여 기본적인 시각적 특징을 추출한 후, 이후의 층에서 복잡한 특징을 학습하는 구조
  • Spiking CNN에서의 풀링(Pooling)
- 풀링 계층은 CNN의 중요한 구성 요소로, 추출된 특징 맵을 줄이기 위해 사용
- SCNN에서도 풀링은 중요한 역할을 하며, 일반적으로 최대 풀링(max pooling)이나 평균 풀링(average pooling)과 같은 방법이 사용
- 이러한 풀링 과정을 통해 SCNN은 입력 데이터의 크기를 줄이고, 계산 효율성을 높이는 동시에 학습된 특징의 불변성을 확보
  • 역전파(backpropagation) 기반 Spiking CNN 학습
- Spiking CNN에서도 역전파(backpropagation) 알고리즘을 적용하려는 시도들이 있다.
- 전통적인 CNN에서 사용되는 미분 가능한 활성화 함수를 대신하여, 스파이킹 신호의 막전위(membrane potential)를 활용하여 역전파를 적용할 수 있다.
- Lee et al. (2016)은 역전파를 통해 Spiking CNN을 학습시키는 방법을 제안했으며, 이는 기존 CNN과 유사한 수준의 성능을 보였다.
- 이 연구에서는 MNIST에서 98.88%의 성능을 기록했으며, 이는 전통적인 딥러닝 모델과 비슷한 성능
  • ANN-to-SNN 변환 기법을 사용한 Spiking CNN
- 전통적인 CNN을 사전에 학습한 후, 이를 스파이킹 방식으로 변환하는 ANN-to-SNN 변환 기법도 Spiking CNN에 적용될 수 있다.
- Cao et al. (2015)은 CNN에서 학습한 가중치를 Spiking CNN으로 변환하여, 이미지 분류 작업을 수행
- 이 방식은 효율적이며, CNN의 성능을 유지하면서도 스파이킹 방식의 이점을 활용할 수 있다.
- Rueckauer et al. (2017)는 이러한 변환 기법을 CIFAR-10 및 ImageNet과 같은 복잡한 데이터셋에 적용해, SNN에서도 높은 성능을 달성할 수 있음을 보여주었다.
  • Spiking CNN의 장점
- SCNN은 CNN과 비교했을 때 에너지 효율성이 뛰어나다는 장점이 있다.
- 스파이크 신호는 시간적으로 희소(sparse)하게 발생하므로, 계산량을 줄이고 전력 소모를 줄일 수 있다.
- 특히, SCNN은 이벤트 기반의 센서와 잘 결합되어 실시간 처리에 유리하며, 자율 주행과 같은 응용 분야에서 사용할 수 있다.

 

Summary

Spiking CNN(SCNN)은 전통적인 CNN의 구조를 스파이킹 방식으로 변환하여, 이미지 및 영상 인식 작업에서 사용될 수 있는 강력한 도구
SCNN은 STDP를 통해 학습할 수 있으며, 역전파와 같은 전통적인 딥러닝 학습 방법도 일부 적용 가능
ANN-to-SNN 변환 기법을 사용하면, 사전에 학습된 CNN을 Spiking CNN으로 변환하여 에너지 효율적인 방식으로 높은 성능을 달성할 수 있다.

 


 

3.3. Spiking deep belief networks

  • Deep Belief Networks(DBNs)의 개요
- Deep Belief Networks(DBNs)는 여러 층의 Restricted Boltzmann Machines(RBMs)로 구성된 심층 신경망.
- 각 RBM은 입력 데이터를 학습하고, 다음 층으로 특징을 전달하는 계층적 학습 구조를 가진다.
- RBM은 확률적(binary) 뉴런을 사용하여 입력 데이터를 처리하고 학습하며, DBN은 이러한 RBM들을 층층이 쌓아 더 복잡한 데이터를 학습할 수 있다.
- DBNs는 레이어별로 사전 학습(pre-training)을 수행한 후, 전체 네트워크에 대해 미세 조정을 통해 학습을 완료하는 방식으로 동작
- 이 방법은 대규모 비지도 학습을 수행할 수 있는 장점
  • Spiking DBNs의 구현
- Spiking DBNs는 DBN의 구조를 스파이킹 뉴런으로 변환하여 적용한 모델
- 이 과정에서 RBM의 확률적 뉴런 대신 stochastic integrate-and-fire 뉴런을 사용하여 스파이킹 신호를 처리
- Neftci et al. (2014)는 STDP(Spike-Timing Dependent Plasticity) 학습 규칙을 사용해 RBM에서 학습을 구현할 수 있음을 보였고, 이는 전통적인 RBM에서 사용하는 Contrastive Divergence(CD) 학습 규칙과 유사한 역할
- 이 연구는 스파이킹 RBM이 확률적 RBM과 같은 통계적 특성을 학습할 수 있음을 보여주었으며, 이를 통해 DBN을 스파이킹 방식으로 변환할 수 있는 기반을 마련=
  • Spiking DBNs의 ANN-to-SNN 변환 기법
- 기존의 DBN을 학습한 후, 이를 스파이킹 방식으로 변환하는 ANN-to-SNN 변환 기법도 Spiking DBNs에 적용 가능
- O'Connor et al. (2013)은 기존 DBN을 SNN으로 변환한 후, 스파이킹 방식으로 MNIST 데이터셋에서 높은 성능을 달성했다.
- 이후 연구에서는 변환된 Spiking DBN의 전력 소비와 효율성을 개선하기 위해, 하드웨어 구현에 적합한 방식으로 변환 방법을 발전시켰다.
- 이러한 방식은 SNN이 더 적은 연산으로도 높은 성능을 유지할 수 있도록 설계되었다.
  • Spiking DBNs의 응용과 성능
- Spiking DBNs는 MNIST와 같은 이미지 분류 작업에서 우수한 성능을 발휘
- 이는 SNN이 낮은 전력으로도 높은 성능을 달성할 수 있음을 보여주는 사례
- Stromatias et al. (2015)는 Spiking DBN의 성능을 CIFAR-10과 같은 더 복잡한 데이터셋에서도 검증했으며, 이는 하드웨어에서 효율적인 신경망 구현에 대한 가능성을 보여주었다.
  • Hopfield 네트워크와 Spiking DBNs
- 최근 연구에서는 **Hybrid Boltzmann Machines(HBMs)**와 Hopfield Networks 간의 유사성을 기반으로 한 스파이킹 DBN이 제안
- HBM은 연속적인 값의 은닉 유닛을 사용하는 RBM으로, Hopfield 네트워크와 유사한 패턴 인식 능력을 가지고 있다.
- HBM과 Hopfield 네트워크의 열역학적 등가성을 활용해, 더 적은 시냅스를 사용해 패턴을 학습할 수 있는 가능성이 제시되었다. 이는 스파이킹 DBNs가 더 효율적으로 작동할 수 있는 방향을 제시

 

Summary

Spiking Deep Belief Networks(SDBNs)는 기존의 DBN 구조를 스파이킹 신경망으로 변환한 모델
RBM에서 STDP를 사용하여 학습을 수행하며, ANN-to-SNN 변환 기법을 통해 기존의 학습된 DBN을 스파이킹 방식으로 변환할 수 있다.
SDBNs는 이미지 분류와 같은 작업에서 우수한 성능을 보이며, 특히 하드웨어에서의 에너지 효율성을 높이는 데 강점




3.4. Recurrent SNNs

  • Recurrent SNN의 개념
- Recurrent Neural Networks(RNNs)는 순차적 데이터나 시계열 데이터를 처리하기 위해 뉴런들이 순환 연결을 가지는 구조
- RNN에서는 이전 시간의 상태가 현재 상태에 영향을 미치므로, 시간에 따른 의존성을 모델링할 수 있다.
- Recurrent Spiking Neural Networks(RSNNs)는 이러한 RNN 구조를 스파이킹 방식으로 변환한 신경망
- RSNN은 과거의 스파이크 정보를 뉴런의 상태에 저장하고, 이를 활용하여 미래의 입력에 반응할 수 있다.
  • Gated SNNs (Gated Recurrent Networks)
- Gated SNNs는 기존의 Long Short-Term Memory(LSTM) 뉴런을 스파이킹 방식으로 변형한 구조로, 긴 시계열 의존성을 학습할 수 있는 메커니즘을 제공
- Gated SNN은 입력 게이트, 출력 게이트, 망각 게이트 등 다양한 게이트 메커니즘을 사용하여 정보를 선택적으로 전달하거나 잊어버릴 수 있도록 한다. 이를 통해 시간에 따라 정보를 유지하거나 갱신할 수 있다.
- Gated SNNs는 복잡한 시계열 데이터를 처리하는 데 효과적이며, 일반적인 RNN보다 더 안정적인 학습을 가능하게 한다.
  • Liquid State Machines(LSMs) 및 Reservoir Computing
- Liquid State Machines(LSMs)는 RSNN의 한 유형으로, Reservoir Computing 개념을 기반으로 한다.
- 이는 복잡한 동적 시스템에서 시간을 표현할 수 있는 특성을 가지며, 뉴런 간의 순환 연결이 매우 밀접한 방식으로 이루어진다.
- LSM은 입력 패턴을 일종의 "액체 상태"에 저장하고, 시간에 따라 이 상태를 변형시키는 방식으로 작동
- 이때 저장된 상태는 뉴런의 순환 연결을 통해 강화되거나 변형
- Reservoir Computing은 LSM의 원리에서 발전된 개념으로, 고정된 네트워크(리저버)에서 입력 신호를 처리하고, 그 출력을 학습하는 방식
- 리저버는 복잡한 비선형 변환을 수행하는 네트워크로 작동하며, 입력 신호에 대한 높은 표현력을 가진다.
  • LSM의 장점과 응용
- LSM은 실시간 데이터 처리에 매우 적합하며, 특히 시공간적 데이터를 처리하는 데 강점을 가지고 있다.
- LSM은 복잡한 신호를 저장하고 변환하는 기능을 통해, 음성 인식, 뇌파 신호 분석, 로봇 제어 등 다양한 응용 분야에서 사용될 수 있다.
- Klampfl and Maass (2013)는 LSM을 사용하여 시공간 패턴을 학습하는 연구를 수행했으며, 이는 신경망이 반복적이고 동적인 데이터를 처리할 수 있음을 보여주었다.
  • Spiking RNN에서의 학습
- Spiking RNNs에서의 학습은 일반적으로 STDP와 같은 생물학적으로 타당한 학습 규칙을 사용하여 이루어진다.
- 그러나 순환 연결을 가진 구조에서 STDP를 적용하는 것은 복잡한 문제를 야기할 수 있다.
- 일부 연구에서는 역전파(bptt: backpropagation through time)와 같은 전통적인 학습 알고리즘을 변형하여 Spiking RNN에 적용하려는 시도가 있었다.
- 하지만 역전파를 사용하는 방법은 스파이크 기반 신경망에서 미분이 불가능한 문제를 해결해야 하기 때문에 여전히 도전 과제로 남아 있습니다.
  • RSNN의 응용
- RSNN은 주로 음성 인식, 시간 순서 데이터 분석, 생체 신호 처리, 예측 모델링 등과 같은 분야에서 응용
- RSNN의 순환 구조는 과거의 정보를 유지하고, 이를 바탕으로 현재와 미래의 데이터를 처리하는 데 강점을 가지므로, 연속적인 데이터 처리에 유리

 

Summary

Recurrent Spiking Neural Networks(RSNNs)는 순환 연결을 통해 과거 정보를 저장하고, 시계열 데이터나 순차적 데이터를 처리할 수 있는 구조.
Gated SNNs와 Liquid State Machines(LSMs)는 RSNN의 주요 구조 중 하나로, 긴 시계열 의존성을 처리하고, 시공간적 데이터를 효율적으로 처리하는 데 강점을 가지고 있다.
RSNN은 음성 인식, 생체 신호 분석 등 다양한 분야에서 응용될 수 있으며, 실시간 데이터 처리에 적합한 신경망 모델




3.4.1. Gated SNNs

  • Gated SNN의 개념
- Gated SNNs는 스파이킹 뉴런의 출력과 상태를 조절하기 위해 게이트(gates)라는 메커니즘을 사용
- 이러한 게이트는 특정 정보가 흐를 수 있도록 열리거나 닫히는 역할을 하여, 불필요한 정보를 걸러내고 중요한 정보를 기억할 수 있도록 도와줌.
- 이는 기존의 LSTM과 유사한 방식으로, 긴 시계열 데이터 또는 시간 의존성이 큰 데이터를 처리하는 데 유리
  • 게이트의 종류
Gated SNNs는 주로 다음과 같은 세 가지 주요 게이트를 사용
입력 게이트(Input Gate)
현재 입력 정보가 네트워크에 전달될지 여부를 결정/ 이를 통해 새로운 입력이 네트워크의 상태에 반영될지를 제어
망각 게이트(Forget Gate)
이전 상태 정보를 잊을지 여부를 결정/ 불필요하거나 오래된 정보를 삭제함으로써 네트워크가 유연하게 새로운 데이터를 처리
출력 게이트(Output Gate)
현재 상태가 출력으로 전달될지 여부를 결정/ 중요한 정보만 출력으로 내보내며, 이를 통해 출력의 정확성을 높임.
  • Gated SNN의 장점
- Gated SNNs는 시간에 따른 장기 의존성(long-term dependencies)을 잘 처리할 수 있다는 장점
- 이는 일반적인 스파이킹 신경망이 짧은 시간 의존성만을 처리하는 데 반해, Gated SNN은 긴 시간 동안 정보를 유지하고 처리
- 이러한 게이트 메커니즘을 통해 불필요한 정보를 제거하고 중요한 정보만을 기억하여, 효율적이고 정확한 시간 의존성 데이터 처리가 가능
  • Gated SNN의 학습
- Gated SNN에서의 학습은 주로 STDP와 같은 학습 규칙을 사용하여, 스파이크 타이밍에 따라 가중치를 조정하는 방식으로 이루어진다.
- 기존의 역전파(backpropagation) 알고리즘도 일부 변형된 방식으로 적용될 수 있으며, 이를 통해 게이트 메커니즘을 효과적으로 학습할 수 있다.
  • Gated SNN의 응용
- Gated SNN은 음성 인식, 자연어 처리, 시계열 데이터 분석 등과 같이 시간 의존성이 큰 데이터를 처리하는 작업에 적합
- 특히 긴 시간 동안 데이터를 처리해야 하는 작업에서 Gated SNN은 일반적인 SNN보다 더 정확하고 효율적인 성능을 발휘할 수 있다.

 

Summary
Gated Spiking Neural Networks(Gated SNNs)는 입력, 망각, 출력 게이트 메커니즘을 도입하여 긴 시간 의존성을 처리할 수 있는 스파이킹 신경망.
이러한 게이트는 중요 정보를 기억하고 불필요한 정보를 제거하여, 시계열 데이터나 시간 의존성이 큰 작업에서 강점
Gated SNN은 음성 인식, 자연어 처리와 같은 다양한 응용 분야에서 활용될 수 있으며, 특히 장기 기억이 필요한 작업에 적합




3.4.2. Liquid state machines and reservoirs

  • Liquid State Machines(LSMs) 개념
- LSMs는 동적이고 복잡한 시공간 데이터를 처리하기 위한 Recurrent Neural Networks(RNNs)의 한 형태로, 뉴런들 간의 순환 연결을 통해 시계열 데이터의 상태를 저장하고 처리하는 신경망
- LSM의 주요 아이디어는 입력 데이터를 액체 상태처럼 비선형적으로 변환하고, 그 결과를 출력 뉴런을 통해 학습하고 처리하는 것
- LSM에서 각 뉴런은 시계열 데이터에 대한 상태를 기록하고, 이를 바탕으로 미래의 입력에 반응할 수 있다.
  • Reservoir Computing
- Reservoir Computing은 LSM과 유사한 개념으로, 복잡한 비선형 입력을 처리하는 고정된 신경망 구조(리저버)를 사용
- 리저버는 입력 데이터를 복잡한 상태 공간으로 매핑하는 역할을 하며, 이때 가중치가 고정된 상태에서 학습은 출력 계층에서만 이루어진다.
- 리저버(Reservoir)는 다양한 입력 패턴을 비선형적으로 변환하여 복잡한 시공간 패턴을 인코딩할 수 있도록 설계
- 리저버 안에서 입력이 고정된 방식으로 전파되기 때문에, 출력 뉴런들은 리저버에서 얻어진 정보로 학습을 진행
  • LSM의 동작 원리
- LSM은 이벤트 기반으로 작동하며, 입력 데이터를 순환적으로 전달하면서 이를 네트워크 내부의 동적 상태(dynamical state)에 저장
- 이렇게 저장된 상태는 시계열 데이터를 처리하는 데 중요한 역할
- LSM의 특성상, 같은 입력이라도 다른 시간대에 전달될 경우 서로 다른 반응을 생성할 수 있으며, 이는 LSM이 시공간적 데이터를 효율적으로 처리할 수 있게 하는 원동력
  • LSM의 장점
1. 비선형 변환
LSM은 입력 데이터를 매우 복잡한 비선형 방식으로 처리하므로, 단순한 신경망보다 더 높은 표현력을 가진다.
2. 실시간 처리
LSM은 이벤트 기반 시스템에서 매우 적합하며, 실시간 데이터 처리 및 응답에 탁월한 성능을 발휘
3. 적은 학습 비용
리저버의 가중치는 고정되어 있기 때문에 학습은 주로 출력 계층에서만 이루어지며, 이는 LSM의 학습 비용을 줄이는 데 기여
  • LSM의 응용
- LSM은 시공간적 데이터 처리에서 중요한 역할을 할 수 있으며, 특히 음성 인식, 뇌파 신호 분석, 로봇 제어 등에서 응용되고 있다.
- Klampfl and Maass (2013) 연구에서는 LSM을 사용해 복잡한 시공간 패턴을 학습하는 방법을 제안했으며, 이는 신경망이 복잡한 동적 데이터를 효과적으로 처리할 수 있음을 보여주었다.
  • LSM의 학습 방법
- LSM에서 학습은 리저버 내부에서 이루어지지 않으며, 주로 출력 뉴런에서 이루어진다.
- 리저버는 고정된 상태에서 비선형 변환을 수행하고, 출력 계층은 이 변환된 상태를 학습하여 최종 출력을 생성
- 학습 과정은 출력 계층에서만 이루어지기 때문에, LSM은 매우 빠르고 효율적인 학습을 제공할 수 있다.

 

Summary

Liquid State Machines(LSMs)와 Reservoir Computing은 시공간적 데이터를 처리하는 데 강점을 가진 순환 신경망 모델. 
LSM은 입력 데이터를 비선형적인 상태로 변환하여 복잡한 시계열 패턴을 처리하며, 실시간 데이터 처리 및 응답에 매우 적합한 모델.
리저버 구조는 고정된 상태에서 작동하며, 출력 계층에서만 학습이 이루어지기 때문에 빠르고 효율적인 학습이 가능.
LSM은 음성 인식, 뇌파 신호 분석 등에서 효과적으로 응용될 수 있다.




3.5. Performance comparisions of contemporary models

  • SNN과 ANN 성능 비교
- SNN은 에너지 효율성에서 ANN보다 더 뛰어난 성능을 발휘하는 반면, 정확도(accuracy) 면에서는 여전히 뒤처질 수 있다.
- 이는 SNN이 스파이크 신호의 비연속성과 복잡한 학습 규칙 때문에 발생하는 문제
- 그러나, 최근 몇 년간 SNN의 성능이 향상되어 일부 작업에서는 ANN에 근접하거나 동일한 수준의 성능을 달성하고 있다.
  • MNIST 데이터셋에서의 성능
- MNIST 데이터셋을 사용한 다양한 연구 결과에서, Spiking CNN과 ANN-to-SNN 변환 모델들이 특히 뛰어난 성능을 보였다.
- Diehl et al. (2015) 연구에서는 ANN을 SNN으로 변환한 모델이 98.6%의 정확도를 달성했으며, 이는 ANN에 비해 계산 효율성 면에서 큰 개선을 보여준다.
- Lee et al. (2016) 연구에서는 역전파(backpropagation)를 사용한 Spiking CNN이 MNIST 데이터셋에서 98.88%의 정확도를 달성했다. 이는 전통적인 CNN과 거의 동일한 성능
  • CIFAR-10 데이터셋에서의 성능
- CIFAR-10은 MNIST보다 더 복잡한 이미지 분류 데이터셋으로, SNN은 이 데이터셋에서 ANN보다 다소 낮은 성능을 기록하는 경향
- ANN-to-SNN 변환 방법을 통해 CIFAR-10에서 90% 이상의 성능을 달성한 연구도 있지만, ANN과 비교할 때 여전히 약간의 성능 저하가 있음을 확인할 수 있다.
  • 실시간 응용에서의 성능
- SNN의 에너지 효율성과 실시간 처리 능력 덕분에, 자율 주행, 드론 제어, 로봇 제어와 같은 실시간 응용 분야에서 SNN이 우수한 성능을 발휘할 수 있다.
- 특히, 이벤트 기반 센서(event-based sensors)와 결합하면, 매우 적은 전력으로 실시간 데이터를 처리할 수 있다.
- LSM과 같은 모델은 시계열 데이터 처리에서 높은 성능을 발휘하며, 실시간 응용에서 특히 유리
  • Spiking DBNs의 성능
- Spiking DBNs는 MNIST와 같은 이미지 분류 작업에서 우수한 성능을 보여주었으며, 일부 변형된 DBN 모델들은 전통적인 DBN에 가까운 성능을 보였다.
- 다만, Spiking DBN은 여전히 ANN 기반의 DBN에 비해 학습 시간이 길고, 최적화에 많은 시간이 소요될 수 있다.
  • 에너지 효율성과 계산 비용
- SNN은 에너지 효율성에서 매우 큰 장점을 가지고 있다.
- 스파이킹 뉴런의 희소성(sparsity) 덕분에, ANN과 비교해 훨씬 적은 전력으로 동작할 수 있다.
- 특히 Neuromorphic Hardware(뉴로모픽 하드웨어)와 결합하면, SNN은 매우 적은 에너지를 소모하면서도 효율적인 계산을 수행할 수 있으며, 이는 SNN이 실시간 응용에 적합한 이유 중 하나
 
  • 향후 성능 향상 가능성
- 연구자들은 다양한 학습 알고리즘과 네트워크 구조를 실험하면서 SNN의 성능을 계속해서 개선하고 있으며, SNN이 ANN과 같은 정확도에 도달할 수 있는 가능성이 열려 있다.
- 하드웨어 발전과 효율적인 학습 방법이 결합되면, SNN은 더욱 빠르고 정확하게 동작할 수 있을 것으로 기대

 

Summary

SNN은 ANN에 비해 에너지 효율성과 실시간 처리 면에서 장점이 있지만, 정확도에서는 여전히 다소 뒤처질 수 있다.
그러나 Spiking CNN, ANN-to-SNN 변환 기법, Spiking DBNs와 같은 모델들은 일부 작업에서 ANN과 거의 동일한 성능을 보였으며, 특히 MNIST와 같은 데이터셋에서 좋은 성과를 냈다.
향후 SNN의 성능은 하드웨어 발전과 새로운 학습 기법을 통해 더욱 향상될 가능성이 있다.




4. Summary

  • SNN의 주요 특징
- SNN은 스파이크(불연속적 신호)를 기반으로 동작하며, 이는 생물학적 신경망을 모방한 것으로 더 현실적인 뇌 모델링이 가능
- SNN의 뉴런은 이벤트 기반으로 신호를 처리하여 에너지 효율성을 극대화
- 이는 스파이크가 발생할 때만 계산을 수행하므로, 연속적인 활성화를 사용하는 ANN에 비해 전력 소모가 적다.
  • 학습 방법
- SNN에서는 Spike-Timing Dependent Plasticity(STDP)와 같은 생물학적 학습 규칙이 주로 사용되며, 이 규칙은 뉴런 간의 스파이크 타이밍에 따라 시냅스 가중치를 조정
- 그러나 SNN에서 역전파(backpropagation)를 적용하는 것은 여전히 어려운 과제
- 이를 극복하기 위해 대리 미분(surrogate gradients)과 같은 대체 학습 방법이 제안되었으며, 일부 연구에서는 ANN과 유사한 성능을 달성하기도 했다.
  • 딥러닝과 SNN의 결합
- Spiking CNNs, Spiking DBNs, Recurrent SNNs와 같은 딥러닝 아키텍처들이 SNN에 도입되면서, SNN의 학습 성능이 크게 향상
- 특히 ANN-to-SNN 변환 기법을 통해 기존의 ANN을 SNN으로 변환함으로써, 더 적은 계산량으로도 높은 성능을 유지할 수 있는 가능성이 제시
  • SNN의 응용 분야
- SNN은 특히 실시간 처리가 중요한 응용 분야에서 큰 잠재력을 가지고 있다.
- 자율 주행, 드론, 로봇 제어, 이벤트 기반 센서와 같은 분야에서 SNN은 낮은 전력으로 높은 처리 성능을 제공
- Liquid State Machines(LSMs)와 Reservoir Computing은 시공간적 데이터를 처리하는 데 강점을 보이며, 복잡한 신호 처리 및 실시간 응답에 적합
  • SNN의 도전 과제
- SNN은 ANN에 비해 여전히 정확도 면에서 도전 과제가 남아 있다.
- 특히 더 복잡한 데이터셋(CIFAR-10 등)에서는 ANN과 비슷한 성능을 내기 위해서는 더 많은 연구가 필요
- 또한, SNN의 학습 효율성을 개선하기 위한 방법론이 필요
- 특히, 생물학적 타당성을 유지하면서도 딥러닝 수준의 학습 성능을 달성하기 위한 연구가 계속 진행 중
  • 향후 연구 방향
- SNN은 계속해서 발전할 가능성이 크며, 특히 하드웨어적인 개선과 새로운 학습 알고리즘의 도입이 큰 변화를 가져올 것으로 예상
- Neuromorphic Hardware와의 결합을 통해, SNN은 더 적은 전력으로 더 높은 성능을 달성할 수 있을 것으로 기대
- 이는 대규모 데이터 처리 및 실시간 응용에서 SNN의 가능성을 더욱 확장시킬 것

 

Summary

SNN은 에너지 효율성과 실시간 처리 능력에서 ANN보다 뛰어난 성능을 발휘할 수 있으며, 특히 생물학적 신경망을 모방한 학습 방식이 중요한 역할.
STDP와 같은 학습 규칙, Spiking CNNs, Spiking DBNs와 같은 딥러닝 아키텍처들이 SNN의 성능을 크게 향상시키고 있으며, 실시간 응용에서 큰 잠재력을 보여주고 있다.
앞으로 더 많은 연구와 하드웨어 발전을 통해 SNN은 더욱 강력한 신경망 모델로 자리 잡을 가능성이 있다.

 


  • 원문

전반적인 SNN.pdf
1.91MB

 


 

  • PPT

전반적인 SNN PDF.pdf
7.20MB