snnTorch로 배우는 스파이킹 신경망(SNN) 튜토리얼 시리즈. 뉴런 모델과 입력 인코딩에서 시작해, 국소 학습 규칙(STDP, 3-factor R-STDP, e-prop)과 예측 부호화까지 노트북 01–06으로 이어집니다.
| # | 파일 | 내용 |
|---|---|---|
| 01 | 01_snn_neuron_and_encoding.ipynb |
SNN 뉴런 모델과 입력 인코딩 |
| 02 | 02_stdp_unsupervised.ipynb |
STDP 기반 비지도 학습 |
| 03 | 03_three_factor_rstdp.ipynb |
3-factor 보상 변조 STDP (R-STDP) |
| 04 | 04_gradient_backprop.ipynb |
gradient 기반 SNN 학습 (surrogate·BPTT·e-prop·feedback alignment·DECOLLE) |
| 05 | (작성 예정) | 생물학적 방법만으로 복잡한 과제 학습·추론 |
| 06 | 06_predictive_coding.ipynb |
예측 부호화 (predictive coding) |
- Python 3.11
- PyTorch 2.12 — Apple Silicon에서는 MPS 백엔드 사용
- snnTorch 1.0
- 그 외: matplotlib, numpy, JupyterLab, ipykernel
프로젝트 루트에서 아래 순서대로 실행합니다.
# 1. 가상환경 생성 & 활성화
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
# 2. 패키지 설치
pip install torch snntorch matplotlib numpy jupyterlab ipykernel
# 3. Jupyter 커널 등록
python -m ipykernel install --user --name snn-tutorial --display-name "Python (snn-tutorial)"
# 4. JupyterLab 실행
jupyter lab설치 확인:
python -c "import torch, snntorch; print('torch', torch.__version__, '| snntorch', snntorch.__version__, '| MPS', torch.backends.mps.is_available())"
# 예시 출력: torch 2.12.1 | snntorch 1.0.0 | MPS TrueJupyterLab이 열리면 노트북을 01 → 06 순서로 열고, 커널을 Python (snn-tutorial) 로 선택하세요.