AI Lab · #01 Perceptron

신경망 학습 한 사이클을
직접 눌러보기

2개의 입력 → 3개의 은닉 노드 → 1개의 출력. 1986년 Rumelhart·Hinton·Williams가 정리한 역전파(backpropagation) 알고리즘으로 가중치가 학습되는 과정을 한 단계씩 직접 실행해 봅니다.

📌 이게 뭐 하는 랩인가 입력값 [0.6, 0.3]을 넣고 목표값 0.8을 만들도록 가중치를 조정하는 작은 신경망입니다. FORWARD 버튼으로 예측값을 계산하고, BACKWARD로 각 가중치의 기울기(기여도)를 거꾸로 추적하고, UPDATE로 가중치를 조정. 이 사이클을 반복하면 손실 L이 점점 줄어듭니다 — 이게 모든 딥러닝의 학습 메커니즘입니다.
📋 사용법
  1. FORWARD를 누르면 입력 x가 가중치를 곱해 가며 출력 ŷ까지 흘러갑니다 — 노드 색이 진해질수록 활성값이 높음.
  2. BACKWARD를 누르면 손실 L의 기울기가 출력 → 입력 방향으로 거꾸로 흘러, 각 가중치 옆에 빨간 Δ값(이게 ∂L/∂w)이 표시됩니다.
  3. UPDATE를 누르면 모든 가중치가 w ← w − η·Δ 만큼 조정됩니다.
  4. 다시 FORWARD를 누르면 새 가중치로 손실이 더 작아진 것을 확인 — 이게 학습 한 사이클.
  5. 자동학습 10회로 사이클이 자동 반복되며 손실이 점진적으로 줄어드는 것을 확인하세요.
2 → 3 → 1 신경망 — Forward / Backward / Update 한 사이클
목표 y 0.80
학습률 η 1.0
FORWARD 버튼을 눌러 한 단계씩 진행하세요.
노드 색 = 현재 활성값(진할수록 큼). 연결선 굵기 = |w|, 색 = 부호(파랑+/빨강−). BACKWARD 후 각 w 옆 빨간 Δ값이 기울기.

이게 왜 중요한가

지금 우리가 쓰는 ChatGPT, Claude, Stable Diffusion, 자율주행, 사진 자동 분류 — 이 모든 것이 똑같은 학습 사이클로 만들어졌습니다. 위 시뮬레이션은 가중치가 2×3 + 3×1 = 9개지만, GPT-4는 약 1.8조 개입니다. 단 사이클 자체는 정확히 동일합니다.

PyTorch로 옮기면 loss.backward() 한 줄이 BACKWARD 단계 전체를, optimizer.step()이 UPDATE 단계를 처리합니다. 모델 크기가 수억 배 커져도 1986년의 알고리즘 골격은 그대로입니다.

슬라이더로 학습률 η를 바꿔보세요. 너무 크면(η=3) 손실이 발산하고, 너무 작으면(η=0.1) 학습이 거의 안 됩니다. 실제 GPT-4도 학습률을 어떻게 잡느냐가 성공의 절반입니다.

📖
관련 글로 돌아가기
AI 진화사 EP01 — AI는 두 번 죽었다 (1958→1986)