신경망·연습 문제

2-Layer MLP Forward

문제 설명PROBLEM

preview

2-Layer MLP Forward

선형층(82) + ReLU(27) 를 쌓으면 가장 단순한 신경망. 은닉층 하나 짜리 MLP 로 비선형 분류/회귀 가능:

h=ReLU(XW1+b1)\mathbf{h} = \text{ReLU}(X W_1 + \mathbf{b}_1) y=hW2+b2\mathbf{y} = \mathbf{h} W_2 + \mathbf{b}_2

  • W1W_1: (D_in, H), b1b_1: (H,) — 첫 층
  • W2W_2: (H, D_out), b2b_2: (D_out,) — 출력층

Universal approximation: 충분히 큰 H 면 MLP는 연속함수 어느 것이든 근사 가능.

과제

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

  • 반환: 출력 (N, D_out).

테스트 케이스

#이름검증
1shape (N, D_out)
2W1=0, b1=0 → h=0 → y=b2
3양수 은닉값만 통과 (ReLU)입력에 대한 gradient 관계
4알려진 toy 값
5비선형성f(αx) ≠ α·f(x) in general
개념 노트와 실수 포인트

신경망

  • 순전파 → 손실 → 역전파(연쇄법칙) → 갱신.
  • ⚠️ 행렬곱 차원: A(m×n) @ B(n×p) — 안쪽 차원이 같아야 함.
  • 비선형 활성화가 없으면 층을 쌓아도 선형. 가중치 초기화 중요.