1. 1차원 LIF 모델의 한계점
이전 튜토리얼 3에서 다룬 단순화된 1차 LIF 뉴런(1st-order LIF neuron, snn.Leaky) 모델은
입력 스파이크가 도착하면 막 전위(Membrane Potential)가 즉각적으로 상승하고, 이후 시간에 따라 지수함수적으로 감소(Exponential Decay)하는
형태를 가집니다.
하지만 실제 생물학적 뉴런에서는 스파이크가 도착하더라도 전위가 즉각적으로 수직 상승하지 않습니다. 대신 시냅스(Synapse)에서 신경전달물질이 수용체에 결합하고, 이온 채널이 열리면서 시냅스 틈(Synaptic Cleft)으로 전류가 흘러 들어가는 과정이 존재하기 때문에 전위 상승 역시 점진적으로 나타납니다. 이러한 '시냅스 전류의 느린 동역학(Dynamics)'을 반영한 것이 2차 Spiking Neuron 모델입니다.
2. Synaptic Conductance-based Neuron Model (2차 LIF)
2차 LIF 모델(Synaptic 모델)에서는 회로가 단순히 하나의 RC로만 구성되어 있지 않습니다. 입력 스파이크가 직접 막 전위를 올리는 대신, 먼저 시냅스 전류(Synaptic Current) $I_{syn}(t)$를 일시적으로 상승시킵니다. 그리고 이 전류가 다시 막 전위 $U(t)$를 천천히 상승하게 만듭니다.
수학적으로 두 개의 감쇠율(decay rates)인 $\alpha$(시냅스 전류 감쇠율)와 $\beta$(막 전위 감쇠율)을 가지며, 이를 수식으로 나타내면 다음과 같습니다.
$$ I_{syn}[t+1] = \alpha I_{syn}[t] + W X[t+1] $$
$$ U[t+1] = \beta U[t] + I_{syn}[t+1] - S[t] U_{thr} $$
- $\alpha$ (alpha): 시냅스 전류의 감쇠율 (Synaptic Current Decay)
- $\beta$ (beta): 막 전위의 감쇠율 (Membrane Potential Decay)
- $W X[t+1]$: $t+1$ 시점의 입력 스파이크에 가중치를 곱한 값
- $S[t]$: 이전 시점에서의 출력 스파이크 발생 유무 (1 or 0)
3. snnTorch를 이용한 snn.Synaptic 클래스 구현
snnTorch에서는 snntorch.Synaptic 클래스를 통해 2차 LIF 뉴런을 손쉽게 구현할 수 있습니다.
import snntorch as snn
import torch
# 두 개의 Decay Rate 설정
alpha = 0.9 # 시냅스 전류 감쇠율
beta = 0.85 # 막 전위 감쇠율
# Synaptic Neuron 인스턴스화
syn_neuron = snn.Synaptic(alpha=alpha, beta=beta)
# 입력 스파이크 및 초기 상태 텐서 생성
num_steps = 100
spike_in = torch.cat([torch.zeros(10), torch.ones(1), torch.zeros(89)]) # 10번째 스텝에서 스파이크 1개 발생
# State 초기화 (전압 U, 시냅스 전류 I)
syn, mem = syn_neuron.init_synaptic()
# 결과 저장을 위한 리스트
mem_rec = []
syn_rec = []
# 시간 스텝별 시뮬레이션
for step in range(num_steps):
spk_out, syn, mem = syn_neuron(spike_in[step], syn, mem)
syn_rec.append(syn.item())
mem_rec.append(mem.item())
결과 해석
위 코드를 실행하여 mem_rec(막 전위 기록)의 그래프를 그려보면,
스파이크가 들어온 시점 이후 막 전위가 1차 모델처럼 절벽처럼 솟구치는 것이 아니라,
alpha의 영향을 받아 곡선을 그리며 서서히 최대 정점에 도달한 뒤 beta에 의해 다시 점진적으로 감소하는
매끄러운 곡선 형태(Alpha function 형태)를 띠는 것을 확인할 수 있습니다.
언제 1차(Leaky)를 쓰고 언제 2차(Synaptic)를 써야 할까요?
일반적으로 시간적 특징(Temporal features) 처리가 매우 중요하거나 신호가 복잡하게 얽힌 경우 시냅스 전류의 메모리 효과가 있는 2차 모델이 성능 향상에 도움이
됩니다.
반면, 모델의 계산 복잡도를 최대한 낮추고 빠르게 학습시켜야 하는 환경에서는 단순한 1차 Leaky 모델이 선호됩니다.
본인의 데이터셋 특성에 맞춰 두 가지 모델 중 적합한 것을 사용할 수 있도록 snnTorch 모듈이 디자인되어 있습니다.