← 문제 목록/Tanh MLP Backward Pass (역전파) [medium]
문제 해설

Tanh MLP Backward Pass (역전파) [medium]

신경망 · medium

preview

Tanh MLP Backward Pass [medium]

v1 Tanh MLP 의 forward 가 아래라면:

h=tanh(XW1+b1),y=hW2+b2h = \tanh(X W_1 + b_1), \quad y = h W_2 + b_2

이번엔 역전파: upstream gradient Ly\frac{\partial L}{\partial y} 가 주어질 때 모든 파라미터·입력 gradient 를 구합니다.

핵심 공식

tanh(z)=1tanh2(z)\tanh'(z) = 1 - \tanh^2(z) 를 이용해 chain rule:

  • LW2=hTLy\frac{\partial L}{\partial W_2} = h^T \cdot \frac{\partial L}{\partial y}
  • Lb2=nLyn\frac{\partial L}{\partial b_2} = \sum_n \frac{\partial L}{\partial y_n}
  • Lh=LyW2T\frac{\partial L}{\partial h} = \frac{\partial L}{\partial y} W_2^T
  • Lz1=Lh(1h2)\frac{\partial L}{\partial z_1} = \frac{\partial L}{\partial h} \odot (1 - h^2)
  • LW1=XTLz1\frac{\partial L}{\partial W_1} = X^T \cdot \frac{\partial L}{\partial z_1}
  • Lb1=nLz1,n\frac{\partial L}{\partial b_1} = \sum_n \frac{\partial L}{\partial z_1, n}
  • LX=Lz1W1T\frac{\partial L}{\partial X} = \frac{\partial L}{\partial z_1} W_1^T

과제

함수 mlp_backward_tanh(X, W1, b1, W2, b2, dy) 를 완성하세요.

  • 반환: (dX, dW1, db1, dW2, db2) 튜플.
  • 각 gradient shape = 대응 parameter shape.

테스트 케이스

#이름검증
1반환 shape 일치
2dy=0 → 모든 grad=0
3dW2 = h^T · dy
4db2 = dy.sum(axis=0)
5dX 수치 미분 일치finite difference
6dW1 수치 미분 일치
7tanh 포화 영역 gradient 감쇠
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.