SNN[Spiking Neural Network]에 대해 알아보자

Park sangwon·2024년 7월 12일

평소 인공신경망에 관심이 있어 인공신경망이 인간의 뇌 뉴런의 구조를 따라했다는 것은 알고 있었지만, 최근 생명과학과에서 배운 내용 중 흥분성 시냅스, 억제성 시냅스에 관련된 내용과 인공신경망을 연관지은 논문이 있는지 찾아보던 도중 NN(Neural Network)보다 더 실제 두뇌와 비슷한 SNN(Spiking Neural Network)에 대해서 알게 되어 내용을 정리해보고자 한다.

본 블로그는 학생이 직접 공부하고 남기는 기록으로써 잘못된 내용이 있다면 댓글 달아주시면 감사하겠습니다.


Spiking Neural Network

Spiking Neural Network은 생물의 신경망을 모방한 모델으로 일반적인 NN과는 다르게 실제 생명체의 뇌에서 신경이 전달 될 때 역치 이상의 자극이 주어져야만 신경 전도가 일어나는 것 처럼 일정 threshold 이상의 값에만 반응하여 Spike라고 부르는 출력이 생성되는 것이 측징이다. 당연히 NN과는 다르게 정보가 이산적으로 전달된다.

위의 그림은 두개의 뉴런이 연결되어있고, pre 뉴련이 post 뉴런에게 3번의 Spike를 보내고 있다. 사진의 파란색으로 채색된 그래프는시간에 따른 post Neuron의 활동전위를 나타내고 세번째 Spike가 임계값(threshold)인 u_th(생명과학에서는 역치 이상의 자극)을 넘게되고, 그와 동시에 post Neuron의 활동전위 값이 0으로 초기화 되는 것을 볼 수 있다. 그 동시에 또한 post Neuron이 Spike를 생성했음을 아래의 그래프에서 볼 수 있다.


여러개의 Pre Neuron들이 연결되어 있을 때에도 동일하다. 시간축에 따라 Pre Neuron들의 Spiking을 받고 Post Neuron의 활동전위가 임계값을 넘게 되면 Post Neuron은 Spiking을 생성해 낸다 위 그림애서 refractory preiod라고 적혀있는 것은 한국말로 불응기를 뜻하며 실제 뉴런에서와 비슷하게 Post Neuron들의 Spike가 들어오더라도 반응하지 않는 순간을 뜻한다.


SNN의 장단점

1. 낮은 전력 소모

뉴런 자체의 연산은 모르지만, SNN 네트워크 내부의 레이어에서의 정보의 전달은 아날로그적으로 일어난다. 무거운 행렬연산이 필요한 다른 tensor 기반의 인공신경망에 비해서 회로 레벨에서 직접적으로 신경망 구동을 설계할 수 있고 SNN이 상용화 될 경우 Robotics와 Edige computing 시장에서 매우 활발하게 사용될것으로 예상된다.

2. Bio-Plasuible

Spiking을 이용하여 정보를 전달한다는 컨셉은 실제 동물의 뇌의 작동 방식에서 영감을 받았다. tensor 기반 인공신경망인 경우 구조적으로 동물의 신경망에서 영감을 받았다고 할 수 있지만 신경망을 학습 할때 경사하강법과 같은 Global Optimization Rule을 사용한다는 점에서 생물학적으로 타당하다고 할 수 없다. 생물학적으로 가장 올바른 모델 중 하나인 Hodgkin-Huxely model의 경우 머신러닝을 위해서가 아니라 실제 생물의 활동전위를 수학적으로 모델링하기 위해 고안된 만큼 SNN은 생물학에 뿌리를 두고 있다. 동물 뇌의 학습 방법에 대한 연구가 진행됨에 따라 SNN의 잠재능력 또한 커질 수 있다는 특징이 있다. 이러한 특징은 농물의 뇌를 컴퓨터로 모델링 및 시뮬레이션하는 분야에 관심이 있는 머신러닝 연구자들로 하여금 관심을 가지게 한다. 특히 나 같은 경우...

단점 : 효과적인 학습방법이 없다

이러한 장정들이 있음에도 여전히 상용화 되고있지 못한 이유는 아직까지 효과적인 SNN의 지도학습방법을 찾지 못했다는 것이다. STDP, ReSuMe, Dopamine-modulates STDP등 다양한 학습 방법이 존재하지만 DNN만큼 경제적이고 효율적인 수준은 아니다. 하지만 DNN 또한 1950년에 고안되었지만 Gradient vanishing(그레디언트 소실 문제), 데이터 부족 등의 이유로 3번의 시대적 비수기를 겪고나서야 본격적으로 상용화 되기 시작한 것과 같이 SNN만의 특징들이 그 메리트를 잃지 않는 한 SNN의 상용화를 위한 연구개발은 계속 될 것이다.


참고 문헌

  1. https://jinprelude.github.io/posts/SNN-Basic-Tutorial-1-Spiking-Neural-Network%EB%9E%80/
  2. https://pubs.aip.org/aip/jap/article-abstract/124/15/152002/347817/Tutorial-Neuromorphic-spiking-neural-networks-for?redirectedFrom=fulltext

0개의 댓글