우리가 흔히 쓰는 ANN(Artificial Neural Network)은 뉴런을 극도로 단순화한 모델이다. 각 뉴런은 입력의 가중 합을 받아 ReLU, sigmoid 같은 연속 활성화 함수를 통과시켜 실수값을 출력한다. 이 모델은 수학적으로 다루기 쉽고 역전파가 간단하지만, 실제 뇌와는 다음과 같이 다르다.
생물 뉴런을 컴퓨터로 시뮬레이션하는 모델은 여러 가지가 있지만, Leaky Integrate-and-Fire (LIF)가 단순성과 표현력의 균형이 가장 좋아서 SNN 연구의 표준으로 쓰인다.
막전위(membrane potential)의 변화 방정식:
$$\tau_m \frac{dV}{dt} = -(V - V_{\rm rest}) + R \cdot I(t)$$발화(firing) 조건:
$$V \geq V_{\rm th} \;\Rightarrow\; \text{스파이크 발생},\quad V \leftarrow V_{\rm reset}$$막전위가 임계값 $V_{\rm th}$(보통 −55mV)를 넘으면 스파이크(action potential)를 발생시키고, 즉시 리셋 전위 $V_{\rm reset}$으로 돌아간다. 이후 불응기(refractory period) 동안에는 어떤 자극이 와도 다시 발화하지 않는다.
입력 전류와 파라미터를 바꿔가며 뉴런이 어떻게 발화하는지 확인해 보세요.
연속적인 값(예: 빛의 밝기, 소리의 크기)을 스파이크 열(spike train)로 변환하는 방법은 여러 가지가 있다. 어떤 인코딩 방식을 쓰느냐에 따라 SNN의 동작 방식이 크게 달라진다.
Spike-Timing Dependent Plasticity (STDP)는 뇌에서 관찰된 헵비안 학습(Hebbian learning)의 구체적 형태다. "함께 발화하는 뉴런은 함께 연결된다(Neurons that fire together, wire together)"는 원칙을 스파이크 타이밍으로 정밀화한 것이다.
STDP 수식:
$$\Delta w = \begin{cases} A_+ \, e^{-\Delta t / \tau_+} & \Delta t > 0 \text{ (pre가 먼저 발화)} \\ -A_- \, e^{\;\Delta t / \tau_-} & \Delta t < 0 \text{ (post가 먼저 발화)} \end{cases}$$SNN 훈련의 핵심 난제는 스파이크 함수가 미분 불가능하다는 것이다. 스파이크는 $V \geq V_{th}$일 때 1, 아니면 0이 나오는 헤비사이드(Heaviside) 계단 함수다:
$$S(V) = \begin{cases} 1 & V \geq V_{th} \\ 0 & V < V_{th} \end{cases} \quad \Rightarrow \quad \frac{dS}{dV} = \delta(V - V_{th})$$$\delta$ 함수(디랙 델타)는 $V = V_{th}$ 지점에서 무한대, 나머지에서 0이다. 이 그래디언트를 그대로 역전파에 쓰면 학습이 불가능하다.
순전파(forward)에서는 실제 스파이크 함수(Heaviside)를 쓰고, 역전파(backward)에서는 미분 가능한 대리 함수로 그래디언트를 근사한다.
흔히 쓰이는 대리 함수: 시그모이드, 삼각형 함수, 아크탄젠트.
$$\widetilde{\frac{dS}{dV}} = \frac{1}{(1+|\pi V|)^2}$$현재 SNN 학습의 주류 방법으로, 성능이 가장 높다.
일반 ANN을 학습한 뒤, 그 가중치를 SNN으로 변환한다. ANN의 ReLU 활성화 = SNN의 발화율로 대응시킬 수 있다.
학습이 쉽고 안정적이지만, 변환 후 추론에 많은 timestep이 필요하고 정확도가 다소 낮아질 수 있다.
역전파 없이 생물학적 STDP 규칙만으로 학습. 레이블 없이 패턴을 스스로 발견한다.
생물학적으로 타당하지만, 대규모 과제에서 정확도가 낮다.
SNN을 시간축으로 펼쳐서(unroll) RNN처럼 취급하고 BPTT(Backpropagation Through Time)를 적용. Surrogate Gradient와 결합해 사용하는 경우가 많다.
SNN의 에너지 효율 장점은 일반 GPU/CPU에서는 실현되지 않는다 — GPU는 병렬 부동소수점 연산에 최적화되어 있기 때문이다. SNN의 장점을 실제로 활용하려면 뉴런과 시냅스를 하드웨어 회로로 직접 구현한 뉴로모픽 칩이 필요하다.
픽셀별로 밝기 변화가 있을 때만 비동기적으로 이벤트를 발생시키는 카메라. SNN과 자연스럽게 결합된다. 고속 물체 추적, 드론 장애물 회피에 활용. 일반 카메라 대비 1000배 빠른 반응속도, 극히 낮은 전력 소비.
배터리로 수개월~수년 동작해야 하는 기기(스마트 센서, 보청기, 이식형 의료기기)에서 항상 켜져 있는 저전력 추론. 수mW 이하의 소비 전력으로 음성 인식, 제스처 인식 가능.
실제 뇌 동작을 시뮬레이션해서 신경 질환 메커니즘을 이해하거나 뇌-컴퓨터 인터페이스(BCI)를 개발. Human Brain Project, Blue Brain Project 등에서 SNN 기반 시뮬레이션 활용.
실시간으로 환경과 상호작용하며 낮은 지연시간이 필요한 로봇 제어. SNN의 비동기적 이벤트 기반 처리가 센서 입력 즉각 처리에 유리. 소비 전력이 낮아 소형 자율 로봇에 적합.