← 문제 목록/MSE Loss Backward
문제 해설

MSE Loss Backward

역전파 · easy

preview

MSE Loss Backward

83번 Linear Backward 는 상위 gradient dYdY 가 주어졌다 가정. 이 dYdY 를 실제로 만들어내는 건 손실 함수 backward. 가장 단순한 경우 회귀용 MSE:

L=1Ni(y^iyi)2L = \frac{1}{N} \sum_{i} (\hat y_i - y_i)^2

그래디언트: Ly^i=2N(y^iyi)\frac{\partial L}{\partial \hat y_i} = \frac{2}{N} (\hat y_i - y_i)

이걸 계산해 넘겨주면 linear_backward → optimizer step 으로 연결되어 full training loop 완성.

파이프라인

X ── linear_forward ──► ŷ ── mse ──► scalar loss
              │                 │
              ▼                 ▼
    linear_backward  ◄──── mse_backward (dŷ)
              │
              ▼
            dX, dW, db → optimizer

다차원

y^,y\hat y, y shape (N, D) 인 경우에도 동일: Ly^i,j=2ND(y^i,jyi,j)\frac{\partial L}{\partial \hat y_{i,j}} = \frac{2}{N \cdot D} (\hat y_{i,j} - y_{i,j}) 여기서는 배치 평균 (N 으로만 나눔) 또는 전체 평균 (N·D) 두 관례가 있습니다. 이 문제에선 PyTorch 기본인 "모든 원소 평균" 사용: 나누는 수는 np.size(y_true).

과제

함수 mse_backward(y_pred, y_true) 를 완성하세요.

  • y_pred, y_true 같은 shape.
  • 반환: 같은 shape — 2(y^y)/Ntotal2 (\hat y - y) / N_\text{total}.

테스트 케이스

#이름검증
1shape 유지
2완벽 예측 → 0
3부호: ŷ > y → grad > 0
4스칼라 손계산
52D 배열
코드 작성
Loading...
실행 결과

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