micrograd 바로 쓰기 — Value와 미니 신경망
micrograd 바로 쓰기
micrograd는 딥러닝의 기초인 자동 미분을 손으로 만져보고 싶을 때 가장 가볍게 쓸 수 있어요. 설치 한 줄이면 끝이고, Value 객체와 nn 모듈만 알면 곧바로 미니 신경망을 돌릴 수 있어요. 다시 말해 PyTorch처럼 생긴 API 위에서 역전파가 어떻게 흐르는지 그대로 따라가 볼 수 있어요.
핵심 개념
engine.Value— 스칼라 값 하나와 그 그래디언트를 감싸는 객체예요.nn—Neuron,Layer,MLP같은 PyTorch 스타일의 작은 신경망 구성 요소예요.backward()— DAG를 역순으로 훑으며 체인 룰로 그래디언트를 누적해요.
예제: 추적과 시각화
trace_graph.ipynb는 graphviz 시각화를 만들어 줘요. 아래는 2차원 뉴런 하나에 draw_dot을 호출한 모습이에요. 각 노드에 왼쪽 숫자(데이터)와 오른쪽 숫자(그래디언트)가 함께 표시돼요.
from micrograd import nn
n = nn.Neuron(2)
x = [Value(1.0), Value(-2.0)]
y = n(x)
dot = draw_dot(y)
테스트
단위 테스트는 PyTorch를 참조값으로 사용해서 그래디언트의 정확성을 검증해요. PyTorch를 설치한 뒤:
python -m pytest