
v1 2-layer MLP 를 깊게 쌓으면 vanishing gradient 로 학습 불가. ResNet (He et al. 2016) 의 해법: skip connection.
핵심: 입력 x 를 출력에 더함. 가 0 에 가까우면 — identity 를 기본으로 학습 가능.
X shape (N, D).W1 shape (D, H), b1 (H,) — 확장.W2 shape (H, D), b2 (D,) — 복원 (입력과 같은 차원).(N, D).D 가 일관되어야 skip x + ... 가능.
함수 residual_block(X, W1, b1, W2, b2) 를 완성하세요.
(N, D) 출력.X + ReLU(X @ W1 + b1) @ W2 + b2.| # | 이름 | 검증 |
|---|---|---|
| 1 | shape = X.shape (skip 요건) | |
| 2 | W2=0, b2=0 → y = x (identity) | residual 로 identity 복원 |
| 3 | X=0, b1=0 → y = b2 | |
| 4 | skip 없는 v1 MLP 와 출력 다름 (일반적) | |
| 5 | 벡터화 처리 (N=1 vs N>1 일관) | |
| 6 | gradient flow: d_y/d_x ≥ 1 방향 | skip 이 identity gradient 제공 |
| 7 | 수치 미분 일치 (Jacobian 검증) |
코드를 작성하고 Run 을 눌러보세요.