Working Backwards

개념 확인: Backpropagation


연쇄법칙으로 손실을 각 매개변수로 미분하고 학습 종료 시점을 판단한다.

문제 1

한 뉴런의 연쇄법칙

z = wᵀx + b, a = ReLU(z), L = ½(a − y)²이다. w = (2, −1), x = (1, 3), y = 1이다.

  1. b = 1.5일 때 z, a, L을 구한다.
  2. ∂L/∂a, ∂a/∂z, δ = (∂L/∂a)·g′(z)를 구하고 ∂L/∂w와 ∂L/∂b를 구한다.
  3. b = 0.5로 바꾸면 z와 모든 그래디언트가 어떻게 되는지 적고 이유를 설명한다.
  4. 가중치 미분과 절편 미분이 다른 곳을 적는다.
해설 펼치기
  1. z = 2 − 3 + 1.5 = 0.5, a = 0.5, L = ½(0.5 − 1)² = 0.125다.
  2. ∂L/∂a = a − y = −0.5, ∂a/∂z = 1(z > 0), δ = −0.5다. ∂L/∂w = δx = (−0.5, −1.5), ∂L/∂b = δ = −0.5다.
  3. z = −0.5, a = 0이므로 ∂L/∂a = a − y = −1이다. 하지만 ∂a/∂z = 0이라 δ = −1 × 0 = 0이고, ∂L/∂w = (0, 0), ∂L/∂b = 0이다.
  4. ∂z/∂wⱼ = xⱼ라 가중치 미분은 δ에 xⱼ를 곱하고, ∂z/∂b = 1이라 절편 미분은 δ 그대로다.
문제 2

계산 그래프

  1. 순전파와 역전파가 계산 그래프 위에서 진행하는 방향과 각각 전달하는 정보를 적는다.
  2. L = a(u) + b(u), a(u) = u², b(u) = 3u일 때 u = 2에서 dL/du를 구한다.
  3. 은닉 유닛 하나가 다음 층의 여러 유닛에 연결될 때 그 유닛의 미분값을 어떻게 구하는지 적는다.
  4. 순전파에서 계산한 h를 저장해 두는 이유를 적는다.
해설 펼치기
  1. 순전파는 입력에서 출력으로 각 연산의 값을, 역전파는 출력에서 입력 방향으로 미분값을 전달한다.
  2. da/du = 2u = 4, db/du = 3이므로 dL/du = 4 + 3 = 7이다.
  3. 각 연결에서 돌아온 미분값을 모두 더한다.
  4. ∂L/∂w₂를 계산할 때 h가 필요하므로 다시 계산하지 않고 재사용해 중복 계산을 줄인다.
문제 3

은닉층을 거슬러 미분하기

h₁ = ReLU(x₁ + x₂), h₂ = ReLU(x₁ + x₂ − 1), s = h₁ − 4h₂ − 0.5, L = ½(s − y)²이다. 입력 x = (1, 0.5), 정답 y = 1이다.

  1. z₁, z₂, h₁, h₂, s, L을 구한다.
  2. ∂L/∂s, ∂L/∂w₂,₁, ∂L/∂w₂,₂, ∂L/∂b₂를 구한다.
  3. ∂L/∂h₁, ∂L/∂h₂와 ∂L/∂z를 구한다.
  4. ∂L/∂W₁과 ∂L/∂b₁을 구한다.
  5. 다른 매개변수는 그대로 두고 η = 0.1로 w₂,₁ = 1, w₂,₂ = −4만 한 번 갱신한다.
해설 펼치기
  1. z₁ = 1.5, z₂ = 0.5, h₁ = 1.5, h₂ = 0.5, s = 1.5 − 2 − 0.5 = −1, L = ½(−2)² = 2다.
  2. ∂L/∂s = s − y = −2, ∂L/∂w₂,₁ = −2 × 1.5 = −3, ∂L/∂w₂,₂ = −2 × 0.5 = −1, ∂L/∂b₂ = −2다.
  3. ∂L/∂h₁ = −2 × 1 = −2, ∂L/∂h₂ = −2 × (−4) = 8이고, z₁, z₂가 모두 양수라 ReLU 미분값이 1이므로 ∂L/∂z = (−2, 8)이다.
  4. ∂L/∂W₁ = (∂L/∂z)xᵀ = [[−2, −1], [8, 4]], ∂L/∂b₁ = (−2, 8)ᵀ다.
  5. w₂,₁: 1 − 0.1 × (−3) = 1.3, w₂,₂: −4 − 0.1 × (−1) = −3.9다.
문제 4

비용과 검산

  1. 매개변수 57개인 신경망에서 중앙차분으로 모든 미분값을 구하려면 순전파가 몇 번 필요한지 적고, 역전파의 비용과 비교한다.
  2. 문제 3의 ∂L/∂w₂,₁을 ε = 10⁻⁶ 중앙차분으로 대조하면 어떤 값에 가까워야 하는지 적는다.
  3. 연쇄법칙 결과와 중앙차분 결과가 크게 다를 때 확인할 것을 세 가지 적는다.
  4. 미니배치 세 관측의 그래디언트 성분이 2, −1, 5일 때 미니배치 평균 손실의 그래디언트 성분을 구한다.
해설 펼치기
  1. 매개변수마다 순전파 두 번이라 114번이고 비용은 O(PC)다(P는 매개변수 수, C는 순전파 한 번의 비용). 역전파는 순전파 한 번과 역전파 한 번으로 모든 미분값을 구해 O(C)다.
  2. 연쇄법칙으로 구한 −3에 가까워야 한다.
  3. 구현 오류, 차분 간격 ε, ReLU의 z = 0처럼 미분이 정의되지 않는 지점이다.
  4. (2 − 1 + 5)/3 = 2다. 같은 θ에서 구한 관측별 그래디언트를 평균한다.
문제 5

언제 멈출까

에포크별 손실 기록이다.

에포크123456
학습 손실0.900.600.450.350.280.22
검증 손실0.950.700.580.550.600.68
  1. 검증 손실을 기준으로 할 때, 검증 손실이 가장 작은 에포크와 그 기준으로 고를 가중치를 적는다.
  2. 5·6 에포크에서 나타나는 현상과 그 해석을 적는다.
  3. 학습을 멈출 시점을 정할 때 쓰는 자료와, 최종 성능 평가에만 쓰는 자료를 적는다.
  4. 역전파와 SGD가 한 번의 학습 갱신에서 각각 맡는 일을 적는다.
해설 펼치기
  1. 4 에포크(0.55)다. 검증 손실이 가장 작았던 4 에포크의 가중치를 선택한다.
  2. 학습 손실은 계속 줄지만 검증 손실은 0.60, 0.68로 커져 과적합을 의심할 수 있다.
  3. 종료 시점은 검증 자료로 정하고, 테스트 자료는 모델 선택을 마친 뒤 최종 성능 평가에만 쓴다.
  4. 역전파는 연쇄법칙으로 각 매개변수의 그래디언트를 계산하고, SGD는 그 값으로 매개변수를 갱신한다.