
83번 Linear Backward 는 상위 gradient 가 주어졌다 가정. 이 를 실제로 만들어내는 건 손실 함수 backward. 가장 단순한 경우 회귀용 MSE:
그래디언트:
이걸 계산해 넘겨주면 linear_backward → optimizer step 으로 연결되어 full training loop 완성.
X ── linear_forward ──► ŷ ── mse ──► scalar loss
│ │
▼ ▼
linear_backward ◄──── mse_backward (dŷ)
│
▼
dX, dW, db → optimizer
shape (N, D) 인 경우에도 동일:
여기서는 배치 평균 (N 으로만 나눔) 또는 전체 평균 (N·D) 두 관례가 있습니다. 이 문제에선 PyTorch 기본인 "모든 원소 평균" 사용: 나누는 수는 np.size(y_true).
함수 mse_backward(y_pred, y_true) 를 완성하세요.
y_pred, y_true 같은 shape.| # | 이름 | 검증 |
|---|---|---|
| 1 | shape 유지 | |
| 2 | 완벽 예측 → 0 | |
| 3 | 부호: ŷ > y → grad > 0 | |
| 4 | 스칼라 손계산 | |
| 5 | 2D 배열 |
코드를 작성하고 Run 을 눌러보세요.