Fewer Examples per Step

개념 확인: Stochastic Gradient Descent


관측 일부로 그래디언트를 추정할 때의 계산량과 변동을 계산한다.

문제 1

관측 하나로 추정한 그래디언트

관측 네 개에서 같은 θ = 2일 때 그래디언트의 한 성분이 g₁ = −3, g₂ = 0, g₃ = 2, g₄ = 5다. 학습률은 η = 0.1이다.

  1. 관측을 같은 확률로 하나 고를 때 E[gᵢ]와 전체 그래디언트를 구한다.
  2. SGD로 관측 3을 골라 한 번 갱신한 θ와, 배치 경사하강법으로 한 번 갱신한 θ를 구한다.
  3. 관측 하나의 그래디언트를 같은 확률로 뽑을 때 그 기댓값이 전체 그래디언트와 같은 이유를 적는다.
  4. 같은 θ에서 두 방법의 갱신 방향이 다를 수 있는 이유를 적는다.
해설 펼치기
  1. E[gᵢ] = (−3 + 0 + 2 + 5)/4 = 1이고 전체 그래디언트도 평균이라 1이다.
  2. SGD: 2 − 0.1 × 2 = 1.8. 배치: 2 − 0.1 × 1 = 1.9다.
  3. 각 관측을 1/n 확률로 뽑으므로 기댓값은 Σ(1/n)gᵢ이고, 이는 관측 그래디언트의 평균인 전체 그래디언트의 정의와 같다.
  4. 배치는 전체 평균이라 같은 θ에서 하나로 정해지지만 SGD는 어느 관측을 뽑았는지에 따라 달라진다.
문제 2

계산량과 에포크

관측 n = 50,000개, 특성 p = 100개인 선형 모델이다.

  1. 배치 경사하강법, 미니배치 크기 64, SGD의 한 번 갱신 계산량 규모 Bp를 적는다.
  2. 미니배치 크기 64일 때 한 에포크의 갱신 횟수와 마지막 묶음의 크기를 적는다.
  3. SGD로 한 에포크를 돌면 갱신이 몇 번인지 적는다.
  4. 마지막 작은 묶음의 그래디언트를 평균할 때 나누는 수를 적는다.
해설 펼치기
  1. 배치 5,000,000, 미니배치 6,400, SGD 100이다.
  2. ⌈50,000/64⌉ = 782번이고 마지막 묶음은 50,000 − 781 × 64 = 16개다.
  3. 50,000번이다.
  4. 64가 아니라 실제 관측 수 16으로 나눈다.
문제 3

미니배치 크기와 분산

같은 θ에서 독립적으로 뽑은 관측 그래디언트 한 성분의 분산이 σ² = 36이다.

  1. 미니배치 크기 4와 16일 때 평균 그래디언트의 분산을 구한다.
  2. B = 16일 때 표준편차를 구하고, B를 네 배로 키우면 표준편차가 몇 배가 되는지 적는다.
  3. 미니배치 크기를 크게 할 때 얻는 것과 드는 것을 적는다.
  4. 미니배치를 쓰는 이유를 통계적 이유와 계산상의 이유로 나누어 적는다.
해설 펼치기
  1. B = 4: 36/4 = 9. B = 16: 36/16 = 2.25다.
  2. √2.25 = 1.5다. 분산이 1/4배가 되므로 표준편차는 1/2배다.
  3. 평균의 분산은 줄지만 한 번에 저장할 자료가 늘어 메모리와 한 번 갱신의 계산량이 커진다.
  4. 통계적으로는 그래디언트 평균의 분산을 줄이고, 계산상으로는 행렬 연산 한 번으로 묶어 벡터화·병렬 계산을 활용한다.
문제 4

최솟점 근처의 흔들림

미분 가능한 내부 최솟점에서 두 관측의 그래디언트 성분이 −2와 2다.

  1. 이 점에서 전체 그래디언트를 구한다.
  2. η = 0.5인 SGD가 관측 하나를 고르면 매개변수가 얼마나 움직이는지 적는다.
  3. 학습률을 0.05로 줄이면 같은 상황에서 이동량이 얼마가 되는지 적는다.
  4. 손실 곡선이 평평해졌다는 사실만으로 최솟값 도달을 보장할 수 없는 이유를 적는다.
해설 펼치기
  1. (−2 + 2)/2 = 0이다.
  2. 개별 그래디언트가 0이 아니라 0.5 × 2 = 1만큼 움직인다. 전체 그래디언트가 0이어도 SGD 갱신은 계속된다.
  3. 0.05 × 2 = 0.1이다. 갱신량의 크기는 학습률에 비례한다.
  4. 학습률이 작거나 변동이 커서 개선이 멈춘 것처럼 보일 수 있고, 평평한 구간이나 국소 최솟값일 수도 있기 때문이다.
문제 5

학습 기록과 종료

  1. 두 실험의 손실 곡선을 비교할 때 가로축을 반복 횟수, 에포크, 실행 시간으로 둘 때 각각 고정되는 것과 달라지는 것을 적는다.
  2. 범주별로 정렬된 자료를 섞지 않고 미니배치로 자르면 어떤 문제가 생기는지 적는다.
  3. 검증 손실의 개선이 멈췄을 때 할 수 있는 대응과, 종료 시점 선택에 쓰지 말아야 할 자료를 적는다.
  4. 학습률이 너무 클 때와 너무 작을 때 각각 나타나는 현상을 적는다.
해설 펼치기
  1. 반복 횟수는 갱신 수가 고정되고 사용한 관측 수와 계산량이 달라진다. 에포크는 전체 자료를 쓴 횟수가 고정되고 갱신 수와 실행 시간이 달라진다. 실행 시간은 시간이 고정되고 관측 수와 갱신 수가 달라진다.
  2. 한 배치가 같은 범주로 채워져 연속된 갱신이 자료 순서에 좌우된다.
  3. 미리 정한 기준에 따라 학습 중단을 검토한다. 최종 테스트 자료는 종료 시점 선택에 반복해서 쓰지 않는다.
  4. 너무 크면 발산할 수 있고, 너무 작으면 수렴이 느리다.