Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Spiking Neural Network

스파이킹 신경망(SNN)은 생물학적 뉴런처럼 시간 정보가 포함된 스파이크로 정보를 전달해 저전력 뉴로모픽 AI를 구현합니다. 뉴런과 학습을 다룹니다.

스파이킹 신경망(SNN)은 뉴런이 스파이크라고 부르는 이산적인 전부 아니면 전무 방식의 이벤트로 소통하는 신경망이며, 생물학적 뉴런의 신호 전달 방식과 더 유사합니다. 각 뉴런은 내부 막전위에 입력 스파이크를 축적하고, 막전위는 서서히 감소합니다. 막전위가 임계값을 넘을 때만 자체 스파이크를 발생시킵니다. 정보는 어떤 뉴런이 언제 발화하는지에 담기므로, SNN은 데이터가 시간에 따라 들어오는 대로 처리하며 스파이크가 발생할 때만 연산합니다. 이벤트 기반 희소성 덕분에 SNN은 뉴로모픽 칩의 저전력 엣지 AI에 적합하며, 비동기 이벤트 형태로 변화량을 보고하는 이벤트 카메라와도 자연스럽게 잘 맞습니다. Wolfgang Maass는 1997년에 SNN을 임계값 유닛과 연속 활성화 네트워크에 이어 신경망 모델의 제3세대로 설명했습니다.

스파이킹 뉴런의 작동 방식#

가장 널리 사용되는 모델은 누설 적분 발화(LIF) 뉴런입니다. 각 시간 단계에서 막전위가 일정 비율만큼 감소하고, 가중치가 적용된 입력 스파이크가 더해집니다. 막전위가 임계값에 도달하면 뉴런은 스파이크를 발생시키고 초기화됩니다. 입력이 약한 뉴런은 임계값에 도달하지 못하고, 입력이 강한 뉴런은 자주 발화하므로 발화 빈도가 입력 강도를 나타냅니다. 아래 시뮬레이션은 서로 다른 상수 입력 전류로 세 개의 LIF 뉴런을 구동합니다.

import torch

# Three leaky integrate-and-fire neurons, each driven by a constant input current
current = torch.tensor([0.15, 0.3, 0.6])
decay, threshold = 0.8, 1.0  # fraction of potential kept per step, firing threshold

potential = torch.zeros(3)
spike_counts = torch.zeros(3)
for step in range(20):
    potential = decay * potential + current  # leak, then integrate the input
    spikes = (potential >= threshold).float()  # fire where the threshold is crossed
    potential = potential * (1 - spikes)  # reset neurons that fired
    spike_counts += spikes

print(f"Spikes in 20 steps: {spike_counts.tolist()}")

Spikes in 20 steps: [0.0, 4.0, 10.0]을 출력합니다. 입력이 0.15이면 막전위가 0.15 / (1 − 0.8) = 0.75에서 안정화되어 임계값보다 낮으므로 해당 뉴런은 발화하지 않습니다. 입력 0.3은 스파이크 4개를 발생시키고, 입력 0.6은 두 단계마다 임계값을 넘어 스파이크 10개를 발생시킵니다. snnTorch 같은 라이브러리는 이와 같은 LIF 계층을 GPU에서 학습할 수 있는 PyTorch 모듈로 제공합니다.

스파이크로 정보를 인코딩하기#

SNN에서 사용하려면 데이터를 스파이크로 변환해야 하며, 인코딩 방식은 정확도와 속도 모두에 영향을 줍니다.

  • 발화율 인코딩: 위 시뮬레이션처럼 값을 발화 빈도로 변환합니다. 견고하지만 값을 정밀하게 표현하려면 많은 시간 단계가 필요합니다.
  • 시간 인코딩: 밝은 픽셀일수록 더 일찍 스파이크를 발생시키는 것처럼 값을 스파이크 발생 시점으로 표현하여, 매우 적은 스파이크로 정보를 전달합니다.
  • 이벤트 센서: 뉴로모픽 비전 카메라는 픽셀의 밝기가 변할 때마다 마이크로초 단위의 타이밍과 고정된 프레임 레이트 없이 스파이크와 유사한 이벤트를 출력하므로, 데이터를 SNN에 직접 입력할 수 있습니다.

SNN 학습#

스파이크는 거의 모든 곳에서 도함수가 0인 계단 함수이므로, 표준 역전파는 이를 통과해 그래디언트를 전달할 수 없습니다. 이를 해결하는 세 가지 방법이 있습니다. ANN-SNN 변환은 ReLU 활성화를 사용하는 일반 네트워크를 학습한 뒤 각 활성화를 발화율로 변환합니다. 대리 그래디언트 학습은 순방향 패스에서는 하드 스파이크를 유지하되 역방향 패스에서는 부드러운 함수의 도함수를 대신 사용하고, 순환 신경망(RNN)처럼 시간에 따른 역전파로 학습합니다. 스파이크 타이밍 의존 가소성(STDP)은 입력 스파이크가 출력 스파이크보다 먼저 발생할 때 시냅스를 강화하는 생물학적 영감의 국소 규칙이며, 레이블 없이 학습합니다. 최근의 고정확도 SNN 대부분은 대리 그래디언트를 사용해 직접 학습하며, 변환된 네트워크보다 훨씬 적은 시간 단계가 필요합니다. 기존 모델에서 출발할 때는 변환이 가장 간단한 방법입니다.

뉴로모픽 하드웨어#

SNN은 전용으로 설계된 칩에서 에너지를 가장 많이 절약합니다. 뉴로모픽 프로세서는 메모리를 다수의 소형 코어 옆에 배치하고, 스파이크 메시지로 통신하며 스파이크가 도착할 때만 연산합니다. 스파이크는 이진 값이므로 시냅스 이벤트마다 곱셈 대신 덧셈이 필요합니다. IBM의 TrueNorth(2014)는 단일 칩에 뉴런 100만 개를 집적했고, 맨체스터 대학교의 SpiNNaker는 대규모 ARM 코어 어레이를 사용합니다. Intel의 Loihi 2는 Loihi 2 프로세서 1,152개와 뉴런 11억 5천만 개를 탑재한 2024년 연구 시스템 Hala Point의 기반입니다. 밀집 행렬 연산에 맞춰 제작된 표준 GPU에서는 SNN이 일반적으로 동등한 기존 네트워크보다 느리게 실행됩니다.

SNN과 기존 신경망 비교#

  • 신호: 합성곱 신경망(CNN)과 트랜스포머를 포함한 기존 네트워크는 한 번의 순방향 패스에서 모든 뉴런에 연속값을 전달합니다. SNN은 여러 시간 단계에 걸쳐 이진 스파이크를 전달하며, 대부분의 뉴런은 각 시점에 비활성 상태입니다.
  • 정확도: 기존 네트워크는 표준 이미지 벤치마크에서 여전히 앞서고 있습니다. SNN은 주로 대리 그래디언트 학습과 기존 모델에서 차용한 아키텍처를 통해 격차를 좁혀 왔습니다.
  • 효율성: 뉴로모픽 하드웨어에서 실행되는 SNN은 이벤트 카메라 스트림이나 상시 작동 오디오처럼 희소하고 이벤트 기반인 입력에서 에너지를 훨씬 적게 사용합니다.

응용 분야#

  • 이벤트 기반 비전 및 로보틱스: 2024년 Science Robotics 연구에서 TU Delft 연구진은 Intel의 Loihi에서 완전한 스파이킹 비전 및 제어 네트워크를 탑재한 드론을 비행시켰습니다. 이 네트워크는 원시 이벤트 카메라 데이터를 초당 200회로 동작 명령에 매핑했습니다.
  • 상시 센싱: 키워드 감지, 제스처 인식, 센서 이상 감지는 아무 변화가 없을 때 전력을 거의 소비하지 않는 SNN의 이점을 얻습니다.
  • 객체 감지: Xinhao Luo, Man Yao와 동료들이 개발한 ECCV 2024 스파이킹 감지기 SpikeYOLO는 Ultralytics 코드베이스를 기반으로 하며 스파이크 기반 블록으로 Ultralytics YOLOv8 아키텍처를 단순화합니다. 정수값 학습과 스파이크 기반 추론으로 COCO에서 mAP50-95 48.9%를 달성했습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요