AI ResearchEN

역전파를 처음부터: Chain Rule, 계산 그래프, 위상 정렬

microgpt.py의 backward() 15줄이 작동하는 원리. 고등학교 미분부터 시작해 chain rule, 계산 그래프, 위상 정렬, 역전파까지 연결합니다.

역전파를 처음부터: Chain Rule, 계산 그래프, 위상 정렬

역전파를 처음부터: Chain Rule, 계산 그래프, 위상 정렬

microgpt.py의 backward() 함수는 15줄입니다. 하지만 이 15줄이 딥러닝 전체를 떠받치는 핵심 알고리즘 -- 역전파(backpropagation) -- 의 완전한 구현입니다.

이 글에서는 "왜 위상 정렬이 필요한가?"와 "chain rule이 뭔가?"를 고등학교 미분부터 시작해 microgpt.py의 backward()까지 연결합니다.

딥러닝의 핵심 질문

신경망을 학습시킨다는 것은 이런 뜻입니다:

  1. 입력을 넣고 출력을 계산한다 (forward pass)
  2. 출력이 정답과 얼마나 다른지 측정한다 (loss)
  3. 각 파라미터가 loss에 얼마나 기여했는지 계산한다 (gradient)
  4. loss를 줄이는 방향으로 파라미터를 조금씩 수정한다 (update)

3번이 어렵습니다. 파라미터가 4,192개(microgpt.py)든 70억 개(LLaMA)든, 각각에 대해 "이 파라미터를 살짝 바꾸면 loss가 얼마나 변하는가?"를 계산해야 합니다.

🔒

이어서 읽으려면 로그인이 필요합니다

무료 회원가입으로 전체 콘텐츠를 확인하세요.

관련 포스트