Walking Downhill

개념 확인: Gradient Descent


목적함수를 반복 갱신으로 줄이며 학습률과 최솟값의 성질을 확인한다.

문제 1

목적함수와 argmin

  1. 관측 네 개의 손실이 4, 1, 0, 7일 때 평균 손실로 정의한 목적함수 J의 값과 각 관측에 곱하는 가중치를 적는다.
  2. J(θ) = (θ − 3)² + 2일 때 argmin J(θ)와 min J(θ)를 각각 적는다.
  3. 최소제곱 선형 회귀, 로지스틱 회귀, 신경망 가운데 닫힌 해가 있는 모델과 일반적으로 반복 최적화를 쓰는 모델을 구분한다.
해설 펼치기
  1. (4 + 1 + 0 + 7)/4 = 3이고 모든 관측에 같은 가중치 1/4을 곱한다.
  2. argmin은 목적함수를 최소화하는 매개변수라 θ = 3, min은 최솟값이라 2다.
  3. 최소제곱 선형 회귀는 닫힌 해가 있어 행렬 분해 등으로 계산할 수 있다. 로지스틱 회귀와 신경망은 일반적으로 닫힌 해가 없어 반복 최적화를 쓴다.

오개념 점검: argmin은 값이 아니라 그 값을 만드는 매개변수다.

문제 2

학습률에 따른 1차원 갱신

f(x) = (x − 1)², f′(x) = 2(x − 1), 시작점 x₀ = 5, 갱신 규칙 x ← x − η f′(x)다.

  1. η = 1/4일 때 세 번 갱신한 x 값을 차례로 적는다.
  2. η = 1/2일 때 첫 갱신 뒤 x와 그 뒤의 갱신량을 적는다.
  3. η = 1.25일 때 세 번 갱신한 x 값을 적고, 최솟점까지의 거리 |x − 1|이 어떻게 변하는지 적는다.
  4. 기울기를 빼는 이유를 f′의 부호로 설명한다.
해설 펼치기
  1. 5 → 3 → 2 → 1.5다. 매번 최솟점 1까지의 거리가 반으로 준다.
  2. 5 − ½·8 = 1이 되고, f′(1) = 0이라 이후 갱신량은 0이다.
  3. 5 → −5 → 10 → −12.5다. |x − 1|이 4, 6, 9, 13.5로 매번 1.5배 커져 발산한다.
  4. f′ > 0이면 오른쪽으로 올라가므로 왼쪽으로, f′ < 0이면 오른쪽으로 가야 감소한다. 기울기의 반대 방향이 감소 방향이다.
문제 3

종료 조건과 하이퍼파라미터

  1. 매개변수 θ, 학습률 η, 최대 반복 수, 종료 허용 오차를 매개변수와 하이퍼파라미터로 나누고 각각을 정하는 방법을 적는다.
  2. 종료 조건으로 쓸 수 있는 판정량 네 가지를 적는다.
  3. J의 변화가 허용 오차보다 작아졌다는 사실만으로 최솟점에 도달했다고 할 수 없는 이유를 적는다.
  4. 학습 중 목적함수 값과 갱신 폭을 기록하는 이유를 적는다.
해설 펼치기
  1. θ는 매개변수로 학습 자료를 보고 반복 갱신한다. η, 최대 반복 수, 허용 오차는 하이퍼파라미터로 학습 전에 정하거나 검증 결과로 고른다.
  2. J의 변화, 그래디언트의 크기, θ의 변화, 반복 횟수다.
  3. 학습률이 매우 작거나 평평한 구간에서는 최솟점에서 멀리 있어도 변화가 작을 수 있다.
  4. 목적함수 값이 줄지 않고 커지거나 갱신 폭이 갱신마다 커지면 발산 징후이므로 학습률을 줄여 다시 실행한다. 매개변수 크기는 0에서 시작한 정상 수렴에서도 커질 수 있어 발산의 기준으로 쓰지 않는다.
문제 4

볼록성과 최솟값

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

  1. 볼록 함수에서는 모든 국소 최솟값이 전역 최솟값이다.
  2. 볼록 함수이면 최솟점은 반드시 하나다.
  3. 비볼록 함수에서 경사하강법은 초기값과 관계없이 같은 최솟점에 도달한다.
  4. 비볼록 함수에서 여러 초기값으로 반복하면 전역 최솟점에 반드시 도달한다.
해설 펼치기
  1. 맞다.
  2. 틀렸다. 볼록성만으로 최솟점의 유일성이나 최솟값의 존재가 보장되지 않는다. 최솟점이 여러 개일 수도 있다.
  3. 틀렸다. 초기값에 따라 서로 다른 국소 최솟점에 도달할 수 있다.
  4. 틀렸다. 여러 초기값으로 비교하는 것은 도움이 되지만 전역 최솟점 도달을 보장하지 않는다.
문제 5

선형 회귀에서 한 번 갱신하기

관측 3개, 특성 1개와 절편 열(첫 열은 1)인 자료와 시작 매개변수다. J(θ) = (1/n)‖Xθ − Y‖², ∇J = (2/n)Xᵀ(Xθ − Y)다.

관측x₀x₁y
1112
2123
3135
  1. θ = (0, 0)ᵀ에서 Xθ − Y, Xᵀ(Xθ − Y), ∇J를 계산한다(소수 둘째 자리까지).
  2. η = 0.1로 한 번 갱신한 θ를 구한다.
  3. X, θ, Xθ − Y, ∇J의 배열 모양을 적고 ∇J의 모양이 θ와 같아야 하는 이유를 적는다.
  4. 관측 n개, 특성 p개일 때 한 번 갱신의 계산량을 적는다.
해설 펼치기
  1. Xθ − Y = (−2, −3, −5)ᵀ, Xᵀ(Xθ − Y) = (−10, −23)ᵀ, ∇J = (2/3)(−10, −23)ᵀ ≈ (−6.67, −15.33)ᵀ다.
  2. θ − 0.1∇J ≈ (0.67, 1.53)ᵀ다.
  3. X는 3 × 2, θ는 2 × 1, Xθ − Y는 3 × 1, ∇J는 2 × 1이다. 매개변수마다 하나씩 편미분을 모아 θ에서 빼므로 같은 모양이어야 한다.
  4. 그래디언트 계산이 O(np), θ 갱신이 O(p)라 대체로 O(np)가 지배적이다.