본문 바로가기
  • All Access to Logical Insight
Paper/SH

Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity [SH]

by 차돌이5 2024. 3. 4.

1.     Introduction

포유류의 neocortex(피질)10~20watt의 적은 전력 소비로 일치하지 않는 패턴을 인식한다. 데이터를 많이 사용하는 기업들은 energy 소모는 매우 중요한 요소이다. 따라서, 기업들은 칩의 전력 소모를 줄이는 것에 노력한다. 뉴로모픽 하드웨어의 SNNspike를 전송하는데 적은 nJ 또는 적은 pJ를 소모한다. 그리고 시냅스 당 아주 적은 power를 소모한다. 이러한 몇몇 뉴로모픽 시스템은 on-chip learning 매커니즘을 제공한다.

하지만 SNN을 사용하여 MNIST를 학습시켜 좋은 성능 수치를 얻는 것은 아직까지는 어려운 과제이다. Machine LearningSNN을 설계하는 2가지 주요 접근이 존재한다. (1) “Spike-based leaning”이라고 불리는 STDP의 다양한 변형을 사용하여 SNNweight를 학습. (2) “Rate-based learning”이라고 불리는 backpropagation을 사용하여 rate-based neural network를 학습하여 얻어진 weight를 사용하는 방식  

해당 논문에서는 STDP를 사용한 unsupervised 방식으로 학습하는 SNN가 제시된다. 구체적으로 말해서 label을 사요하지 않고 network weightinput structure을 학습한다. MNIST dataset은 전처리를 진행하지 않는다. 이 접근 방식의 성능은 network의 뉴런의 수와 잘 확장(well scale)된다. 그리고 6400개의 learning neuron을 사용하여 95%의 성능을 얻게 된다.

다음 섹션에서는 neuron model, synapse model, train and evaluation process를 포함한 architecture에 대해 설명한다. 섹션3에서는 시뮬레이션 결과를 보여주며, 섹션4에서는 다른 acrchitecture와 비교에 대한 결과를 보여준다.

 


 

2.      Methods

우리의 SNN을 시뮬레이션하기 위해 PythonBRIAN simulator를 사용하였다. Single neuronsingle synapse에 대한 역학을 소개하고, network architecture와 사용된 mechanism을 소개한다. 결론적으로는 MNIST trainingclassification 절차를 설명한다.


A.    Neuron and Synapse Model

Neuron dynamics를 모델링하기 위해 우리는 Leaky integrate and fire model을 사용하였다. 다음은 membrane potential V에 대한 식이다.

Erest : resing membranse potential

Eexc : excitatory sunapseequilibrium

Einh : inhibitory synapseequilibrium potential

ge : ecxitatory synapse conductance

gi : inhibitory synapseconductance

 

 

 

생물학에서도 time constant(타우)  사용한다. 이 시간 상수는 inhibitory neuron보다 excitatory neuron에서 더 길다. 뉴런의 membrane potential membrane potential(Vthres)을 넘으면, 뉴런은 fire하고 해당 뉴런의 membrane potentialVreset으로 초기화된다. 초기화(reset) 이후 몇 ms동안 뉴런은 refactory period에 진입하게되고 다시 spikefire할 수 없다.

 

Synapse는 conductance의 변화에 의해 모델링된다. 구체적으로 말해서, presynaptic spikesynapse로 도착하게 되면 synapse는 자신의 conductance를 즉각적으로 증가시킨다. 그렇지 않다면 conductance exponential하게 감소한다. 만약 presynaptic neuronexcitatory하면, ge dynamics는 다음과 같다.

 

 

(타우)ge는 exitatory postsynaptic potentialtime constant이다. 비슷하게, 만약 presynaptic neuroninhibitory하면, conductance gi inhibitatory postsynaptic potentialtime constant constant (타우)ge를 사용한 (2)와 동일한 식이 적용된다.

우리는 시뮬레이션에 사용되는 대부분의 parameter값들에 대해 생물학적으로 타당한 범위를 지정하였다. 이에는 membrane, synapse, learning window의 시간 상수도 포함된다. 다만, Excitatory neuronmembrane voltage의 시간 상수는 예외이다. Excitatory neuron membrane potential의 시간 상수를 100ms로 증가함으로써, 우리는 classification 정확도를 높일수 있었다.

 

 


 

 

 

B.    Network Architecture

 

Network3개의 layer로 구성되어있다. 첫번째 layer28x28 뉴런을 포함하는 input layer이다. 두번째 layer는 가변적인 수의 excitatory neuron과 동일한 수의 inhibitory neuron을 포함하는 processing layer이다. 각각의 inputPoisson spike-train이다. 그리고 이 spike_train은 두번째 layerexcitatory neuron에 공급된다. 각 뉴런의 rate는 이미지의 해당 픽셀의 강도에 비례한다.

두 번째 layerexcitatory neuron11 방식으로 inhibitory neuron에 연결된다. 구체적으로 말하면, 각각의 excitatory neuron의 각각의 spike는 연결된 inhibitory neuron spike를 유발한다. 각각의 inhibitory neuron은 연결을 받는 excitatory neuron을 제외한 모든 exciatory neuron에 연결된다. 이러한 연결성은 측면(lateral) inhibiton을 제공하고 excitatory neuron 사이의 경쟁을 유발한다.

 

 

 


 

 

 

C.    Learning

 

 

Input neuron들에서 excitatory neuron들까지의 모든 synapse들은 STDP를 사용하여 학습된다. 시뮬레이션 속도를 높이기 위해, weight dynamics synaptic trace를 사용하여 연산된다. 이는 synaptic weight외에도 각각의 synapse는 다른 값인 presynaptic trace xpre를 추적(trace)한다. 그리고 이 xpre는 최근 presynaptic spike history를 모델링한다. (타우)xpre가 감소하는 시간 상수일 때 xpreexponential하게 감소한다.

 

Presynaptic spike synapse에 도착하는 모든 시간에 trace1씩 증가한다. Postsynaptic spikesynapse에 도착할때는 weight 변화량은 presynapric trace를 기반으로 연산된다.

 

xtar이 높을수록, synaptic weight는 더 낮아질것이다. xtar값은 postsynaptic 뉴런의 발화를 드물게 유도하는 presynaptic 뉴런이 점점 더 연결이 끊겨지도록 보장하며, 특히 presynaptic 뉴런이 드물게 활성화되는 경우에 특히 유용하다. Input에 약간의 노이즈를 추가하고 weight 감소 메커니즘을 learning 규칙에 추가함으로써 관련 없는 input을 연결 해제하는 이와 비슷한 효과를 얻을 수 있다. 그러나 우리의 시뮬레이션에서는 시뮬레이션 시간 증가하는 cost가 발생한다. Learning rule은 사각형의 learning window 말고 exponential learning rule을 사용한다. 그리고 이는 생물학적으로 더 타당하며 일부 neuromorphic system에서 사용 가능한 학습 매커니즘과 더 유사하다.

 

 

 

 


 

 

 

 

D.    Homoeostasis(항상성, 균일성)

 

Input의 비균일성(비항상성) excitatory neuron들의 firing rate가 다르게 되도록 한다. 그리고 측면(lateral) inhibition은 이러한 다른 firing rate의 차이를 더 크게 한다. 그러나, 모든 뉴런이 대략적으로 동일한 firing rate를 가지는 것이 바람직하다. 이렇게 동일한 firing rate를 가지는 것은 single neuron이 응답 pattern을 지배는하는 것을 방지하고 뉴런의 receptive field가 차이 나도록 보장하기 위함이다.  각각의 excitatory neuronmembrane thresold Vthresh뿐만 아니라 Vthresh+θ로 결정된다. 여기서 θ는 뉴런이 fire할때마다 증가하며 아래 식에 의해 exponential하게 감소한다.

 

tau_delta감소의 시간 상수이다. 그러므로 뉴런이 더 많이 fire 할수록, membrane threshold가 높아지며, 결과적으로 뉴런은 미래에 spike하기 위해 더 많은 input을 필요로 하게 된다. 이러한 mechanism을 사용하면, 뉴런의 firing rate는 제한된다. 왜냐하면 conductance기반의 synapse 모델은 최대 membrane potential excitatory reversal potentialEexc로 제한하기 때문이다. 구체적으로 말하자면, 뉴런의 membrane potentialEexc와 인접하거나 더 높으면, 뉴런은 θ값이 충분히 감소할때까지 fire를 줄이거나 아니면 심지어 완전히 fire하지 않게 된다.

 

 

 


 

 

 

 

E.    Input Encoding

Networkinput60,000개의 training example10,000개의 test example을 포함하는 MNIST dataset을 기반으로 한다. 그리고 각 example0~9 digit28x28piexel을 가지는 image이다. Input350ms 동안 포아송 분포된 spike-train 형태로 제공된다. 이때 firing rateMNIST 이미지의 픽셀 강도에 비례한다. 특히, 최대 픽셀 강도인 2554로 나누어서, input firing rate0~63.75Hz가 된다. 추가적으로 만약 두 번째 layer에 있는 excitatory neuron350ms동안 5개 이하의 spike fire하게 되면, 최대 input firing rate32Hz 증가하게 되며 example 픽셀은 다시 350ms동안 제시된다. 이러한 과정은 해당 example이 제시되는 전체 시간 동안 최소 다섯 번의 fire이 발생할 때 까지 반복된다.

 

 

 


 

 

 

 

F.    Training and Classification

Networktrain하기 위해서 60,000개의 MNIST training setnetwork10번 제공한다. 새로운 image를 제공하기 전에, 모든 뉴런의 변수가 정지 상태(resting value)로 감소되는 데 150ms 동안 어떠한 input도 없는 단계가 존재한다.(adaptive threshold 제외) Training이 다 끝나고 나면, 훈련 세트의 한 번 제시 동안 숫자 class 10가지 중 가장 높은 응답을 기반으로 learing rate0으로 설정하고, 각각의 neuronspiking threshold를 고정하고, 각각의 neuron class를 할당한다. 이 단계가 유일하게 label이 사용된다. 구체적으로 설명하면, synaptic weighttraining동안에는 label을 사용하지 않는다.

Class가 할당된 뉴런의 응답은 MNIST test set에서 network classification 정확도를 측정하는데 사용된다. 예측된 숫자(0~9)는 각 클래스 당 뉴런의 응답을 평균하여 평균 firing rate가 가장 높은 class를 선택하여 결정된다.

 

 

 

 


 

 

 

3.     Result

 

우리는 100개의 excitatory 뉴런을 가진 네트워크를 train test하여 MNIST 훈련 세트의 40,000개의 예제를 제공했다. Input에서 excitatory까지 연결의 재배열된 weight의 결과는 Fig. 2 A에 나타난다. 각 뉴런에 대해 784차원의 input 벡터는 원형의 input을 학습하는 것을 시각화하기 위해 28x28 행렬로 재배열된다.

 

추가적으로 100개의 뉴런 네트워크에 대해, 400, 1600 6400개의 excitatory 뉴런을 가진 세 가지 다른 네트워크를 훈련 및 테스트하여 각각 전체 MNIST 훈련 세트를 3, 7 15회 제공했다. 이렇게 생성된 네트워크는 각각 82.9%, 87.0%, 91.9% 95.0%의 평균 classification 정확도를 달성했다. 정확도는 MNIST 테스트 세트의 10,000개의 예제를 열 번 제시한 후에 평균화되었다.(Fig.2 B) MNIST 테스트 세트의 강도 이미지가 포아송 분포의 spike-train으로 변환되므로, 정확도는 서로 다른 스파이크 타이밍에 따라 달라질 수 있다. 그러나 전체 테스트 세트를 열 번 제시할 때(동일한 훈련된 네트워크를 사용하여) 성능의 표준 편차는 작다(±0.1%), Fig. 2 B의 오차 막대에 표시되어 있다.

 

모든 시뮬레이션에서는 동일한 뉴런, 시냅스, 그리고 STDP 파라미터가 사용되었다(adaptive threshold inhibition strength 파라미터는 제외). Adaptive threshold 의 시간 상수는 제시된 예제 당 약 5회의 스파이크가 발생하도록 선택되었다.

 

선택된 STDP rule의 장점은 excitatory 뉴런에 의해 받은 각 스파이크에 대해 추가적인 하나의 덧셈만이 필요하다는 것이다(presynaptic trace를 업데이트하는 데에는 필요). Postsynaptic 뉴런의 firing rate가 상당히 낮기 때문에, postsynaptic 뉴런의 fire을 위한 더 복잡한 STDP 업데이트는 많은 계산 자원을 필요로하지 않는다.

선택된 architecture의 견고함을 learning rule의 정확한 형태와 비교하기 위해서 우리는 두개의 서로 다른 STDP learning rule test했다. 첫번째는  weight 변화를 계산하기 위해 exponential weight dependence를 사용한다.

두 번째 규칙은 presynaptic trace 뿐만 아니라 postsynaptic trace도 사용합니다. postsynaptic tracepresynaptic trace 와 동일한 방식으로 작동하지만 증가는 postsynaptic spike에 의해 trigger된다. 또한, 이 학습 규칙에서는 가중치 변경이 presynaptic postsynaptic 스파이크에 대해 발생합니다