AI Fundamentals/11기 - Let's AI 2023

[Let's AI] 3-1. Gradient Descent

Jae. 2023. 6. 26. 20:23
728x90

 1. 미분

 

- Why: 변수의 움직임에 따른 함수값의 변화를 관찰하기 위해 사용

- What : 함수 f의 점 (x,f(x))에서의 접선의 기울기

- When :

  • 함수값을 증가(함수를 최대화) : x + f'(x) -> concave functioin에서 주로 이용 (gradient ascent)
  • 함수값을 감소(함수를 최소화) : x - f'(x) -> convex functioin에서 주로 이용 (gradient descent)

 

2. Differentiation Introduction

 

3. Usage of differentiation

 

  1) 함수값의 증가 : x + f'(x) -> Objective function을 최대화시킬 때 사용

  2) 함수값의 감소 : x - f'(x) -> Objective function을 최소화시킬 때 사용 

4. Gradient Descent(Ascent)

 

  • 일반적으로는 stationary point (f'(x)=0 or grad f = 0)에서 움직임을 멈춘다
  • 즉, local min/max 인지 saddle point인지 구별할 수 없다 

5. Algorithm Code

  • 컴퓨터로 계산할 때 미분이 정확히 0이 되는 것은 불가능하므로 eps 보다 작을 때 종료하는 조건이 필요하다
  • 이 부분이 x − λf′(x) 을 계산하는 부분. lr 은 학습률로서 미분을 통해 업데이트하는 속도를 조절한다
  • 종료조건이 성립하기 전까지 미분값을 계속 업데이트한다

 

6. Multi-variable Case (다변수 함수)

 

  • partial derivative of f at x_i : i번째 좌표축과 평행한 방향으로 x_i에서의 f의 순간변화율

7. Gradient

  • 점 x에서 각 변수에 대한 편미분이 원소로 구성된 vector
  • gradient f의 방향 = 함수 f를 최대로(빨리) 증가시키는 공간상에서의 방향
  • - (gradient f의 방향) = 함수 f를 최대로(빨리) 감소시키는 공간상에서의 방향

8. Algorithm (Multi-Variable case)

728x90