Tech & TIL

03-Gradient Descent (Mild ver.) 본문

Boostcamp - AI tech/Math for AI

03-Gradient Descent (Mild ver.)

Jadon Yang 2021. 8. 6. 19:44

Boostcamp - AI Tech

 

부스트캠프

개발자의 지속 가능한 성장을 위한 학습 커뮤니티

boostcamp.connect.or.kr

Table of Contents

  1. 미분이란?
  2. 미분은 어디에 쓸까?
  3. 변수가 벡터라면?

미분이란?

미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용되는 기법이다.

미분은 함수 f 의 주어진 점 (x, f(x)) 에서의 접선의 기울기 를 구한다. 미분이 가능하려면 연속함수 모양이어야 한다.

미분은 어디에 쓸까?

한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가 또는 감소 하는지 알 수 있다.

증가시키고 싶다면 미분값을 더하고

감소시키고 싶으면 미분값을 빼면 된다.

 

미분값을 더하면 경사상승법(gradient ascent) 라 하며 극대값 의 위치를 구할 때 사용한다. 목적함수를 최대화 할때 사용한다.

미분값을 빼면 경사하강법(gradient descent) 라 하며 함수의 극소값 의 위치를 구할 때 사용한다.

 

미분값을 더하거나 빼면서 경사하강/상승 방법을 사용하면 어느 순간 극값에 도달하여 움직임을 멈추게 된다. 미분값이 0에 가까워 지면 더하거나 빼도 이동을 하지 않는다.

변수가 벡터라면?

벡터가 입력인 다변수 함수의 경우 편미분(partial differentiation)을 사용한다.

각 변수 별로 편미분을 계산한 그레디언트 벡터를 이용하여 경사하강/경사상승법에 사용할 수 있다.

앞에 보이는 기호는 "nabla" 라 부른다.

앞서 사용한 미분값인 f'(x) 대신 그레디언트 벡터를 사용하여 변수 x = (x1, x2, .... , xd) 를 동시에 업데이트 가능하다.

 

'Boostcamp - AI tech > Math for AI' 카테고리의 다른 글

AI Engineer는 수학을 얼마나 알아야 할까?  (0) 2021.08.07
02-Matrix  (0) 2021.08.06
01-Vector  (0) 2021.08.06
Comments