Stacking the Layers

개념 확인: Multilayer Perceptrons


은닉층과 비선형 활성함수가 표현력을 바꾸는 방식을 손계산으로 확인한다.

문제 1

배열 모양과 매개변수 수

  1. 특성 p = 5개, 은닉 유닛 K = 3개, 출력 1개인 완전 연결 신경망에서 x, W₁, b₁, h, w₂, b₂의 모양을 적는다.
  2. 1의 신경망의 매개변수 수를 구한다.
  3. 10 → 4 → 2 → 1 구조의 매개변수 수를 층별로 나누어 구한다.
  4. 은닉 유닛 수를 정하는 시점과 선택 기준을 적는다.
해설 펼치기
  1. x는 5 × 1, W₁은 3 × 5, b₁은 3 × 1, h는 3 × 1, w₂는 3 × 1, b₂는 수 하나다.
  2. 가중치 15 + 3 = 18, 절편 3 + 1 = 4로 22개다.
  3. 10 → 4: 40 + 4 = 44. 4 → 2: 8 + 2 = 10. 2 → 1: 2 + 1 = 3. 합은 57이다.
  4. 학습 전에 정하는 하이퍼파라미터이며 검증 성능을 비교해 고른다.
문제 2

활성함수가 없으면

활성함수 없이 h = W₁x + b₁, s = w₂ᵀh + b₂로 계산한다. W₁ = [[1, 2], [0, −1]], b₁ = (1, 0)ᵀ, w₂ = (3, 1)ᵀ, b₂ = −2다.

  1. s를 하나의 선형식 wᵀx + b로 정리해 w와 b를 구한다.
  2. 층을 몇 개 더 쌓아도 활성함수가 없으면 표현력이 늘지 않는 이유를 적는다.
  3. 이런 신경망으로 XOR 네 점을 모두 맞힐 수 있는지 판단한다.
해설 펼치기
  1. 새 wᵀ = w₂ᵀW₁ = (3·1 + 1·0, 3·2 + 1·(−1)) = (3, 5), 새 b = w₂ᵀb₁ + b₂ = 3 − 2 = 1이다.
  2. 선형식의 합성은 다시 선형식이라 결국 단층 선형 모델 wᵀx + b로 정리되기 때문이다.
  3. 맞힐 수 없다. 하나의 선형식은 XOR을 분리할 수 없다.
문제 3

활성함수 고르기

  1. sigmoid(0), ReLU(−2), ReLU(3)의 값을 적는다.
  2. sigmoid와 ReLU의 출력 범위와, |z|가 클 때 도함수가 어떻게 되는지 비교한다.
  3. 은닉층의 활성함수와 이진 분류 출력층의 sigmoid가 맡는 역할의 차이를 적는다.
  4. 은닉 유닛의 값을 ‘새 특성’이라 부르는 이유를 사람이 설계한 특성과 비교해 적는다.
해설 펼치기
  1. 0.5, 0, 3이다.
  2. sigmoid는 (0, 1)이고 양끝에서 도함수가 0에 가깝다. ReLU는 [0, ∞)이고 양수 구간에서 도함수가 1, 음수 구간에서 0이다.
  3. 은닉층 활성함수는 비선형 관계를 표현하게 하고, 출력층 sigmoid는 예측값을 이진 범주의 확률 형태로 만든다.
  4. 입력에서 계산한 중간 표현이며, 사람이 변환식을 정하는 대신 가중치 학습으로 어떤 조합을 만들지 정한다.
문제 4

XOR 순전파 손계산

2-2-1 신경망이 h₁ = ReLU(x₁ + x₂ − 0.5), h₂ = ReLU(x₁ + x₂ − 1.5), s = 2h₁ − 6h₂ − 0.5이고, s ≥ 0이면 +1로 예측한다.

  1. 네 입력 (0, 0), (0, 1), (1, 0), (1, 1)의 h₁, h₂, s, 예측을 구하고 XOR 정답과 비교한다.
  2. 은닉 좌표 (h₁, h₂)에서 네 점이 어떻게 놓이는지 적는다.
  3. ReLU를 빼면 s가 어떤 선형식이 되는지 구하고, 어느 점을 틀리는지 적는다.
  4. ReLU가 달라지게 만든 중간값을 적는다.
해설 펼치기
  1. (0, 0): 0, 0, −0.5 → −1. (0, 1)과 (1, 0): 0.5, 0, 0.5 → +1. (1, 1): 1.5, 0.5, 3 − 3 − 0.5 = −0.5 → −1. 모두 XOR 정답과 같다.
  2. (0, 0)은 (0, 0), (0, 1)과 (1, 0)은 (0.5, 0)에 모이고, (1, 1)은 (1.5, 0.5)에 놓여 은닉 좌표에서 직선으로 나눌 수 있다.
  3. s = 2(x₁ + x₂ − 0.5) − 6(x₁ + x₂ − 1.5) − 0.5 = −4(x₁ + x₂) + 7.5다. (0, 0)에서 7.5라 +1로 틀린다.
  4. (0, 0)에서는 h₁의 활성화 전 값 −0.5와 h₂의 활성화 전 값 −1.5가 0으로 바뀐다. (0, 1)과 (1, 0)에서는 h₂의 활성화 전 값 −0.5가 0으로 바뀐다.
문제 5

넓게, 깊게

다음 문장이 맞는지 판단하고 틀리면 고친다.

  1. 은닉층을 넓게 만드는 것과 깊게 만드는 것은 같은 변화다.
  2. 모델을 크게 만들면 학습 손실과 일반화 성능이 반드시 좋아진다.
  3. 역전파는 매개변수를 갱신하는 최적화 방법이다.
  4. 같은 XOR 분류를 만드는 가중치는 하나뿐이다.
해설 펼치기
  1. 틀렸다. 넓게는 한 층의 유닛 수를 늘려 한 단계의 조합을 늘리고, 깊게는 층 수를 늘려 조합의 조합을 만든다.
  2. 틀렸다. 최적화가 어렵거나 과적합할 수 있으므로 검증 결과와 계산 비용을 함께 비교한다.
  3. 틀렸다. 역전파는 그래디언트를 계산하고, SGD 같은 최적화 방법이 그 값으로 갱신한다.
  4. 틀렸다. 점수는 달라도 네 관측에서 부호가 같으면 같은 분류를 만든다.