생물신경모사 컴퓨팅 · Mahowald & Douglas 1991 → Maass 1997 → 현재까지

SNN Spiking Neural Networks

한 줄 요약: 뇌처럼 이산적인 스파이크(전기 펄스)로 정보를 처리하는 신경망 — 기존 ANN보다 생물학적으로 정확하고, 이론적으로 에너지 효율이 훨씬 높다.

왜 SNN인가 — ANN의 한계

우리가 흔히 쓰는 ANN(Artificial Neural Network)은 뉴런을 극도로 단순화한 모델이다. 각 뉴런은 입력의 가중 합을 받아 ReLU, sigmoid 같은 연속 활성화 함수를 통과시켜 실수값을 출력한다. 이 모델은 수학적으로 다루기 쉽고 역전파가 간단하지만, 실제 뇌와는 다음과 같이 다르다.

ANN 뉴런

  • 출력: 연속적인 실수값 (예: 0.73)
  • 처리: 레이어마다 동기적으로 전체 계산
  • 시간: 개념 없음 — 레이어 인덱스만 존재
  • 메모리: 상태 없음 (feedforward 기준)
  • 연산: 부동소수점 곱셈 수십억 번

SNN 뉴런 (생물뇌 모방)

  • 출력: 이산적인 스파이크 (0 또는 1)
  • 처리: 이벤트 발생 시에만 비동기적으로 계산
  • 시간: 실제 시간 축 위에서 동작
  • 메모리: 막전위(membrane potential) 상태 유지
  • 연산: 스파이크 시에만 덧셈 (곱셈 없음)
에너지 효율의 핵심: ANN은 행렬 곱셈이 핵심 연산으로 항상 부동소수점 곱셈(FLOP)이 필요하다. SNN은 스파이크(0 또는 1)가 있을 때만 가중치를 더하면 된다 — 곱셈이 없다. 뇌에서 뉴런은 전체 시간의 1~5%만 발화(firing)하므로, 이론적으로 ANN 대비 100배 이상 에너지 절약이 가능하다.

LIF 뉴런 — 가장 널리 쓰이는 모델

생물 뉴런을 컴퓨터로 시뮬레이션하는 모델은 여러 가지가 있지만, 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) 동안에는 어떤 자극이 와도 다시 발화하지 않는다.

LIF 뉴런 직접 시뮬레이션

입력 전류와 파라미터를 바꿔가며 뉴런이 어떻게 발화하는지 확인해 보세요.

1.50 nA
15 ms
-55 mV
발화 횟수: 0
발화율: 0 Hz
현재 V: -65.0 mV

스파이크 인코딩 — 정보를 어떻게 담는가

연속적인 값(예: 빛의 밝기, 소리의 크기)을 스파이크 열(spike train)로 변환하는 방법은 여러 가지가 있다. 어떤 인코딩 방식을 쓰느냐에 따라 SNN의 동작 방식이 크게 달라진다.

Rate Coding (발화율 코딩): 정보를 단위 시간당 스파이크 수(발화율, Hz)로 표현한다. 예를 들어 밝은 빛 → 100Hz, 어두운 빛 → 10Hz. 가장 직관적이고 안정적이지만, 정보 하나를 읽으려면 충분한 시간(수십~수백ms)을 기다려야 한다. 현재 SNN 연구의 대부분이 이 방식을 사용한다.

STDP — 생물학적 학습 규칙

Spike-Timing Dependent Plasticity (STDP)는 뇌에서 관찰된 헵비안 학습(Hebbian learning)의 구체적 형태다. "함께 발화하는 뉴런은 함께 연결된다(Neurons that fire together, wire together)"는 원칙을 스파이크 타이밍으로 정밀화한 것이다.

Δt = t_post − t_pre Δw LTP (시냅스 강화) pre → post 순서 LTD (시냅스 약화) post → pre 순서 Δw=0 0 +Δt (pre 먼저) −Δt (post 먼저)

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이다. 이 그래디언트를 그대로 역전파에 쓰면 학습이 불가능하다.

방법 1: Surrogate Gradient

순전파(forward)에서는 실제 스파이크 함수(Heaviside)를 쓰고, 역전파(backward)에서는 미분 가능한 대리 함수로 그래디언트를 근사한다.

흔히 쓰이는 대리 함수: 시그모이드, 삼각형 함수, 아크탄젠트.

$$\widetilde{\frac{dS}{dV}} = \frac{1}{(1+|\pi V|)^2}$$

현재 SNN 학습의 주류 방법으로, 성능이 가장 높다.

방법 2: ANN → SNN 변환

일반 ANN을 학습한 뒤, 그 가중치를 SNN으로 변환한다. ANN의 ReLU 활성화 = SNN의 발화율로 대응시킬 수 있다.

학습이 쉽고 안정적이지만, 변환 후 추론에 많은 timestep이 필요하고 정확도가 다소 낮아질 수 있다.

방법 3: STDP (비지도)

역전파 없이 생물학적 STDP 규칙만으로 학습. 레이블 없이 패턴을 스스로 발견한다.

생물학적으로 타당하지만, 대규모 과제에서 정확도가 낮다.

방법 4: BPTT

SNN을 시간축으로 펼쳐서(unroll) RNN처럼 취급하고 BPTT(Backpropagation Through Time)를 적용. Surrogate Gradient와 결합해 사용하는 경우가 많다.

ANN vs SNN 성능/효율 비교

항목 ANN (GPU) SNN (Neuromorphic) 비고 핵심 연산 부동소수점 곱셈 정수 덧셈 (스파이크 시에만) 에너지 효율 낮음 (수백W) 매우 높음 (수mW) ~100배 차이 시간 처리 별도 처리 필요 자연스럽게 내장 학습 난이도 쉬움 (역전파 직접 가능) 어려움 (surrogate gradient 등 필요) 정확도 (현재) 매우 높음 비슷해지는 중 (격차 좁혀짐) 하드웨어 NVIDIA GPU, TPU Intel Loihi, IBM TrueNorth

뉴로모픽 하드웨어

SNN의 에너지 효율 장점은 일반 GPU/CPU에서는 실현되지 않는다 — GPU는 병렬 부동소수점 연산에 최적화되어 있기 때문이다. SNN의 장점을 실제로 활용하려면 뉴런과 시냅스를 하드웨어 회로로 직접 구현한 뉴로모픽 칩이 필요하다.

Intel Loihi 2 (2021)

  • 128개 뉴로모픽 코어
  • 코어당 최대 8,192 뉴런
  • 프로그래밍 가능한 학습 규칙
  • on-chip STDP 지원
  • 소비 전력: ~1W

IBM TrueNorth (2014)

  • 4,096개 뉴로코어
  • 100만 뉴런 / 2.56억 시냅스
  • 실시간 추론에 70mW
  • GPU 대비 같은 성능에 1/1000 전력
  • 한계: 학습 불가, 추론 전용

주요 응용 분야

이벤트 카메라 (Event Camera)

픽셀별로 밝기 변화가 있을 때만 비동기적으로 이벤트를 발생시키는 카메라. SNN과 자연스럽게 결합된다. 고속 물체 추적, 드론 장애물 회피에 활용. 일반 카메라 대비 1000배 빠른 반응속도, 극히 낮은 전력 소비.

에지 AI / IoT

배터리로 수개월~수년 동작해야 하는 기기(스마트 센서, 보청기, 이식형 의료기기)에서 항상 켜져 있는 저전력 추론. 수mW 이하의 소비 전력으로 음성 인식, 제스처 인식 가능.

신경과학 시뮬레이션

실제 뇌 동작을 시뮬레이션해서 신경 질환 메커니즘을 이해하거나 뇌-컴퓨터 인터페이스(BCI)를 개발. Human Brain Project, Blue Brain Project 등에서 SNN 기반 시뮬레이션 활용.

강화학습 / 로봇공학

실시간으로 환경과 상호작용하며 낮은 지연시간이 필요한 로봇 제어. SNN의 비동기적 이벤트 기반 처리가 센서 입력 즉각 처리에 유리. 소비 전력이 낮아 소형 자율 로봇에 적합.

SNN의 한계 (2024년 현재): 딥러닝 수준의 정확도를 달성하기 위해 매우 많은 timestep이 필요하고 학습이 여전히 어렵다. 뉴로모픽 하드웨어는 범용 GPU 대비 생태계(프레임워크, 모델)가 빈약하다. 현재 컴퓨터비전 SOTA와의 정확도 격차가 좁혀지고 있지만, 대규모 LLM 같은 복잡한 태스크에는 아직 갈 길이 멀다.