SNN(Spike Neural Network)와 STDP(Spike-timing-dependent plasticity)의 이해
SNN과 STDP를 이용한 인공신경망 이해
1. 목적
Spiking Neural Networks(SNN)와 Spike-Timing-Dependent Plasticity(STDP)는 생물학적 신경망의 동작을 모방하여 신경망 학습과 정보 처리를 개선하는 데 중요한 역할을 한다. 이 글에서는 SNN의 동작 원리, STDP 메커니즘, 그리고 관련된 수학적 모델을 소개하고, SNN이 기존의 인공신경망(ANN)과 비교하여 가지는 장점과 한계를 논의하고자 한다.
2. 막전위의 동역학 (Membrane Potential Dynamics)
2.1 막전위 변화의 기본 수식
막전위 $V_m(t)$의 변화는 다음의 기본 방정식으로 나타낼 수 있다:
$$
I(t) - \frac{V_m(t)}{R_m} = C_m \frac{dV_m(t)}{dt}
$$
- $I(t)$: 시간에 따른 입력 전류를 의미한다. 신경세포로 들어오는 외부 자극을 나타낸다.
- $V_m(t)$: 시간에 따른 막전위로, 신경세포 내부와 외부 사이의 전위차를 의미한다.
- $R_m$: 막의 저항으로, 신경세포 막을 통해 흐르는 전류에 대한 저항 특성을 나타낸다.
- $C_m$: 막의 정전용량으로, 신경세포 막이 전하를 저장하는 능력을 나타낸다.
- $\frac{dV_m(t)}{dt}$: 시간에 따른 막전위의 변화율을 나타내며, 막전위가 시간에 따라 어떻게 변하는지를 설명한다.
이 방정식은 뉴런이 외부 자극을 받았을 때, 시간이 지남에 따라 막전위가 어떻게 변화하는지를 설명한다. 이 변화는 뉴런이 스파이크를 발화할지 여부를 결정하는 중요한 요소다.
2.2 전위 변화의 시간적 해석
막전위의 시간적 변화는 다음과 같은 수식으로 설명할 수 있다:
$$
V_m(t) = V_{\infty} + \left( V_m(0) - V_{\infty} \right) e^{-t/\tau_m}
$$
- $V_{\infty}$: 정상 상태에서의 전위를 나타내며, $V_{\infty} = I(t) R_m$로 정의된다.
- $\tau_m$: 막의 시간 상수로, 전위 변화의 속도를 결정한다. 이는 $\tau_m = R_m C_m$으로 계산된다.
이 수식은 뉴런이 특정 임계값에 도달할 때 스파이크를 발화할지 여부를 결정하는 중요한 요소다. 시간이 지남에 따라 막전위가 어떻게 변하는지를 수학적으로 설명하며, 이는 SNN에서 매우 중요한 역할을 한다.
3. 스파이크 발생 메커니즘과 주요 모델
3.1 Leaky Integrate-and-Fire (LIF) 모델
Leaky Integrate-and-Fire (LIF) 모델은 가장 간단하고 널리 사용되는 Spiking Neuron 모델이다. 이 모델에서 뉴런의 막전위는 입력 신호에 비례하여 증가하고, 일정한 임계값에 도달하면 스파이크를 발화한다.
LIF 모델에서 막전위의 변화는 다음과 같은 방정식으로 표현된다:
$$
\tau_m \frac{dV_m(t)}{dt} = -V_m(t) + RI(t)
$$
- $\tau_m = R_m C_m$: 막 시간 상수로, 뉴런의 전위 변화 속도를 결정한다.
- $V_m(t)$: 시간에 따른 막전위를 의미한다.
- $R$: 저항으로, 뉴런의 막에 흐르는 전류에 대한 저항을 나타낸다.
- $I(t)$: 시간에 따른 입력 전류를 나타낸다.
이 모델은 뉴런이 스파이크를 발화한 후, 막전위가 $V_{\text{reset}}$으로 초기화되고, 잠시 동안 새로운 스파이크를 발화하지 못하는 불응기(refractory period)를 겪는 과정을 설명한다.
3.2 Izhikevich 모델
Izhikevich 모델은 Hodgkin-Huxley 모델의 정밀함과 LIF 모델의 단순함 사이의 절충안으로, 다양한 뉴런 발사 패턴을 간단한 방정식으로 표현할 수 있다. 이 모델의 기본 방정식은 다음과 같다:
$$
\frac{dV}{dt} = 0.04V^2 + 5V + 140 - u + I
$$
- $V$: 막전위로, 시간에 따른 뉴런의 전위 상태를 의미한다.
- $u$: 복원 변수로, 뉴런이 스파이크를 발사한 후 복원되는 속도를 조절한다.
- $a, b, c, d$: 뉴런의 다양한 동작 패턴을 설명하는 모델 매개변수다.
이 모델은 복잡한 뉴런의 발사 패턴을 비교적 단순한 수식으로 표현할 수 있어, 신경과학 연구에서 많이 사용된다.
3.3 Hodgkin-Huxley 모델
Hodgkin-Huxley 모델은 뉴런의 막전위 변화와 이온 채널의 동역학을 매우 정밀하게 모사하는 모델이다. 이 모델은 생물학적 사실성을 높이기 위해 고안되었으며, 뉴런의 전기적 활동을 정확히 재현하는 데 사용된다.
3.3.1 기본 개념
Hodgkin-Huxley 모델은 뉴런의 막전위를 조절하는 주요 이온 채널, 즉 나트륨(Na(^+))과 칼륨(K(^+)) 이온의 흐름을 모델링한다. 이온의 흐름은 전압 의존성 게이트에 의해 조절되며, 이 게이트는 시간에 따라 변하는 막전위에 의해 열리거나 닫힌다.
3.3.2 핵심 방정식
Hodgkin-Huxley 모델은 뉴런의 막전위 변화를 다음과 같은 미분 방정식으로 설명한다:
$$
C_m \frac{dV_m(t)}{dt} = I_{\text{Na}}(t) + I_{\text{K}}(t) + I_{\text{leak}}(t) + I_{\text{ext}}(t)
$$
여기서:
- $C_m$: 막의 정전용량.
- $I_{\text{Na}}(t)$: 나트륨 이온 전류.
- $I_{\text{K}}(t)$: 칼륨 이온 전류.
- $I_{\text{leak}}(t)$: 기타 이온에 의한 누출 전류.
- $I_{\text{ext}}(t)$: 외부 자극에 의한 전류.
각 이온 전류는 다음과 같이 정의된다:
$$
I_{\text{Na}}(t) = g_{\text{Na}}(t) \cdot (V_m(t) - E_{\text{Na}})
$$
$$
I_{\text{K}}(t) = g_{\text{K}}(t) \cdot (V_m(t) - E_{\text{K}})
$$
$$
I_{\text{leak}}(t) = g_{\text{leak}} \cdot (V_m(t) - E_{\text{leak}})
$$
- $g_{\text{Na}}(t)$, $g_{\text{K}}(t)$, $g_{\text{leak}}$: 각각 나트륨, 칼륨, 그리고 누출 전류의 전도도.
- $E_{\text{Na}}$, $E_{\text{K}}$, $E_{\text{leak}}$: 각각의 역치 전위(reversal potential).
이 방정식들은 뉴런의 전기적 활동을 매우 정밀하게 모사하며, 신경과학 연구에서 중요한 역할을 한다.
4. 시냅스 동역학 (Synaptic Dynamics)
Spiking Neural Networks(SNN)의 핵심은 시냅스를 통한 뉴런 간의 연결이다. 시냅스를 통해 전파되는 신호는 다음 뉴런의 입력 전류로 작용하며, 이 과정은 시냅스 가중치 $w_j$에 의해 결정된다.

이미지 1: 단기 시냅스 가소성
4.1 시냅스 전위의 합성
시냅스 입력은 여러 입력 스파이크의 시간적 합성으로 이루어지며, 이를 다음과 같은 수식으로 나타낼 수 있다:
$$
I(t) = \sum_{j} w_j \cdot \sum_{t_j^f} \delta(t - t_j^f)
$$
여기서:
- $w_j$: 시냅스 가중치로, 시냅스의 강도를 나타낸다.
- $t_j^f$: 뉴런 $j$가 스파이크를 발생시킨 시간이다.
- $\delta(t - t_j^f)$: 디랙 델타 함수로, 특정 시간에 스파이크가 발생했음을 나타낸다.
이 방정식은 시냅스를 통해 전달되는 신호가 어떻게 뉴런의 막전위에 반영되는지를 설명한다.
5. 학습 규칙 (Learning Rules) - STDP
5.1 STDP 메커니즘
Spike-Timing Dependent Plasticity(STDP)는 프리시냅틱 뉴런과 포스트시냅틱 뉴런 간의 스파이크 발생 시간 차이에 따라 시냅스 강도가 변화하는 학습 규칙이다. STDP는 시냅스 가소성(synaptic plasticity)의 중요한 메커니즘 중 하나로, 다음과 같은 수식으로 표현된다:
$$
\Delta w =
\begin{cases}
A_+ \cdot e^{-\Delta t / \tau_+}, & \text{if } \Delta t > 0 \ (\text{pre precedes post}) \
A_- \cdot e^{\Delta t / \tau_-}, & \text{if } \Delta t \leq 0 \ (\text{post precedes pre})
\end{cases}
$$
이미지 2: STDP 그래프
- $\Delta t = t_{\text{post}} - t_{\text{pre}}$: 포스트시냅틱 뉴런과 프리시냅틱 뉴런 간의 스파이크 시간 차이로, 시냅스 강도 변화의 방향과 크기를 결정한다.
- $A_+$, $A_-$: 각각 LTP와 LTD의 학습률을 나타내며, 시냅스 강화 및 약화의 크기를 조절한다.
- $\tau_+$, $\tau_-$: 시간 상수로, 학습 효과가 얼마나 빠르게 감소하는지를 나타낸다.
STDP 메커니즘을 통해 뉴런 간의 시공간적 상관관계에 따라 시냅스 연결이 강화되거나 약화된다.
5.2 장기 강화 (Long-Term Potentiation, LTP)와 장기 저하 (Long-Term Depression, LTD)
LTP(Long-Term Potentiation)는 특정 시냅스에서 반복적인 활성화가 일어날 때 시냅스 연결이 지속적으로 강화되는 현상을 의미한다. LTP는 신경망이 특정 입력 패턴을 학습하고 기억을 형성하는 데 중요한 역할을 한다.
$$
\Delta w = A_+ \cdot e^{-\Delta t / \tau_+}, \quad \text{where } \Delta t > 0
$$
LTD(Long-Term Depression)는 시냅스가 적게 활성화되거나 비활성화될 때 시냅스 연결이 약화되는 현상을 설명한다. LTD는 신경망의 과도한 흥분성을 억제하고 균형을 유지하는 데 중요한 역할을 한다.
$$
\Delta w = A_- \cdot e^{\Delta t / \tau_-}, \quad \text{where } \Delta t \leq 0
$$
이미지 3: LTD와 LTP
5.3 STDP의 다양한 그래프
STDP는 다양한 외부 입력, 신경전달물질, 발달 단계 등의 요인에 따라 여러 형태의 그래프를 그릴 수 있다. 이러한 다양한 STDP의 형태와 영향을 미치는 요인들은 뉴런 간의 연결 강도를 조절하는 데 중요한 역할을 한다.
이미지 4: STDP의 다양한 그래프 1
이미지 5: STDP의 다양한 그래프 2
6. Spiking Neural Networks (SNN)
6.1 SNN과 ANN의 비교
Spiking Neural Networks(SNN)는 전통적인 Artificial Neural Networks(ANN)와는 구조적 및 기능적으로 상이한 신경망 모델이다. ANN은 동기적 처리를 수행하지만, SNN은 비동기적으로 스파이크를 발생시키며 정보 처리를 수행한다.
동기적 vs. 비동기적 처리
- ANN: 모든 뉴런이 동시에 활성화되어 동일한 시간에 작업을 수행한다.
- SNN: 특정 뉴런만이 스파이크를 발생시키며, 각 뉴런이 독립적으로 작동하여 정보 처리가 비동기적으로 이루어진다.
Sparse 특성
- ANN: 모든 뉴런이 동시에 활성화되므로 연산량이 많고 에너지 소모가 크다.
- SNN: 특정 뉴런만이 활성화되고 나머지 뉴런은 비활성 상태로 남아 Sparse한 네트워크 구조를 형성한다. 이는 에너지와 계산 자원을 효율적으로 사용할 수 있게 한다.
시간 정보 처리
- ANN: 연속적인 실수 값을 입력으로 받아 처리하지만, 시간 정보나 이산적 이벤트를 직접적으로 처리하는 데 한계가 있다.
- SNN: 스파이크 발생 시점에 중요한 정보를 담아 시계열 데이터나 실시간 데이터를 효율적으로 처리할 수 있다.
6.2 STDP와 SNN의 학습 메커니즘
Spike-Timing-Dependent Plasticity(STDP)는 SNN에서 뉴런 간 시냅스 강도가 스파이크 발생 시점에 따라 변화하는 중요한 학습 메커니즘이다. STDP는 두 뉴런 간 스파이크 타이밍 차이에 따라 시냅스 가중치를 조정하며, 시간적으로 가까운 스파이크가 더 강한 연결을 형성하도록 한다.
STDP의 동작 원리
- 시간 의존적 학습: 프리시냅스 뉴런이 포스트시냅스 뉴런보다 먼저 스파이크를 발사하면, 그 연결 강도는 강화된다. 반대로, 포스트시냅스 뉴런이 먼저 스파이크를 발사하면, 그 연결 강도는 약화된다.
STDP의 장점
- 시간적 패턴 학습: STDP를 통해 SNN은 시간적 패턴을 효과적으로 학습할 수 있다.
- 자율 학습: STDP는 외부 감독 없이 자율적으로 학습이 이루어지도록 하여, SNN이 비지도 학습 환경에서도 효과적으로 동작할 수 있게 한다.
6.3 Surrogate Gradient를 활용한 SNN 학습
Surrogate Gradient(대리 기울기) 방법은 스파이킹 신경망(Spiking Neural Networks, SNNs)에서 비분화성(non-differentiability) 문제를 해결하기 위해 도입된 기법이다. SNN에서 뉴런 $i$의 스파이크 출력 $S_i(t)$는 다음과 같이 표현된다:
$$
S_i(t) = \Theta(U_i(t) - \vartheta)
$$
여기서:
- $U_i(t)$: 시간 $t$에서 뉴런 $i$의 막전위(membrane potential)다.
- $\vartheta$: 스파이크 발생을 위한 임계값이다.
- $\Theta(x)$: 단위 계단 함수(Heaviside step function)로, $x \geq 0$일 때 $1$, 그렇지 않으면 $0$을 반환한다.
스파이킹 뉴런의 비선형성으로 인해 단위 계단 함수 $\Theta$는 비분화성이 나타난다. 이로 인해 기울기 기반 학습에서 기울기를 계산하는 것이 불가능해진다. 이 문제를 해결하기 위해, Surrogate Gradient 방법에서는 매끄러운(smooth) 함수의 기울기를 대리 기울기로 사용한다.
예를 들어, 시그모이드 함수 $\sigma(x)$를 사용한 대리 기울기는 다음과 같이 정의된다:
$$
g(x) = \frac{\partial \sigma(x)}{\partial x} = \sigma(x)(1 - \sigma(x))
$$
여기서:
- $\sigma(x)$: 시그모이드 함수로, $\sigma(x) = \frac{1}{1 + \exp(-x)}$로 정의된다.
- $g(x)$: 대리 기울기로, 실제로는 $\Theta(x)$의 기울기를 대신하여 사용된다.
따라서, SNN에서 뉴런 $i$의 대리 출력 $\hat{S}_i(t)$에 대한 기울기는 다음과 같이 표현된다:
$$
\frac{\partial \hat{S}_i(t)}{\partial U_i(t)} \approx g(U_i(t) - \vartheta)
$$
이 방법을 통해 SNN에서도 기존의 기울기 기반 최적화 알고리즘(BPTT 등)을 사용할 수 있게 된다.
7. Liquid Neural Networks (LNN)
7.1 LNN의 개요
Liquid Neural Networks(LNN)는 신경과학의 원리를 머신러닝 모델에 통합함으로써 기존 딥러닝 모델보다 더 컴팩트하고, 지속 가능하며, 설명 가능한 모델을 목표로 한다. LNN은 연속 시간 동안 뉴런 상태의 변화를 모델링하며, 비선형 동역학을 통해 복잡한 시계열 데이터를 효과적으로 처리할 수 있다.
7.2 SNN과 LNN의 차이점
LNN과 SNN은 모두 생물학적 신경계를 모방하려는 시도에서 비롯되었지만, 접근 방식에는 중요한 차이점이 존재한다.
모델링 방식
- SNN: 뉴런의 발화를 이산적 이벤트로 모델링하며, 특정 임계값을 초과했을 때 스파이크를 발생시킨다.
- LNN: 연속적인 미분 방정식을 통해 뉴런 상태의 변화를 모델링하며, 시간에 따른 연속적 변화를 포착한다.
시간 처리 방식
- SNN: 스파이크의 발생 시점이 중요하며, 비동기적 이벤트 기반 처리를 수행한다.
- LNN: 연속적 시간 모델을 사용하여 뉴런 상태를 처리하며, 시간의 흐름에 따른 변화를 정교하게 표현한다.
복잡성 처리
- SNN: 상대적으로 단순한 뉴런 발화 메커니즘을 모사하지만, 에너지 효율성이 뛰어나다.
- LNN: 복잡한 비선형 동역학을 적용하여, 더욱 복잡한 시계열 데이터 처리에 적합하다.
7.3 LNN의 주요 특성 요약
LNN은 연속적 시간 모델링과 비선형 동역학을 통해 복잡한 시계열 데이터 및 인과 관계를 정밀하게 포착할 수 있다. 이는 강력한 메모리 및 상태 안정성을 제공하며, 기존 딥러닝 모델이 효과적으로 처리하기 어려운 문제를 해결하는 데 유리하다.
8. 결론
SNN은 생물학적인 뇌의 동작을 모방하려는 시도로, 막전위의 동역학, 스파이크 발생 메커니즘, 시냅스 동역학, 학습 규칙 등 다양한 수식적 모델이 결합되어 있다. 이러한 수식적 접근을 통해 SNN은 시공간 데이터 처리, 복잡한 패턴 인식 등에 강력한 성능을 발휘할 수 있는 잠재력을 가지고 있다. 그러나 실제로 이를 구현하고 응용하기 위해서는 더욱 발전된 학습 알고리즘과 하드웨어의 지원이 필요하다.
LNN은 이러한 생물학적 신경계 모델과는 다른 접근 방식으로, 연속적 시간 모델링을 통해 뉴런 상태의 변화를 정교하게 처리하며, 복잡한 시계열 데이터 및 인과 관계를 포착하는 데 유리하다. LNN은 기존 딥러닝 모델보다 더 컴팩트하고 지속 가능하며, 설명 가능한 모델을 목표로 한다. 이러한 특성으로 인해 LNN은 기존 모델이 처리하기 어려운 문제를 해결하는 데 중요한 역할을 할 수 있다.
출처 및 공부자료
- SNN torch 구현하기
- YouTube - SNN : Spiking Neural Network (3) SNN 기본 | 연세대학교 CogSci:IN
- SNN 튜토리얼
- Liquid Neural Networks
- Spiking Neural Networks and Their Applications: A Review
- Timing to be precise? An overview of spike timing-dependent plasticity, brain rhythmicity, and glial cells interplay within neuronal circuits
- Surrogate Gradient Learning in Spiking Neural Networks