본문 바로가기

AI Theory/key concept of AI

[모두의 딥러닝] 경사 하강법

선형 회귀의 y = ax+b 식에서 기울기 a를 너무 크게 잡거나 작게 잡으면 오차가 커진다.

이러한 a와 오차 간의 관계는 2차 함수 그래프로 표현할 수 있다.

가장 오목한 부분이 오차가 가장 작은 부분, m이다.

m을 구하기 위해서는 그래프의 임의의 값에서 m으로 수렴하도록 하는 과정이 필요하다.

이러한 과정을 컴퓨터가 판단하기 위해서는 그래프 내 임의의 현재 위치와 m 사이의 거리를 컴퓨터가 계산할 수 있어야 한다.

 

이러한 계산은 미분을 통해 구할 수 있다.

위의 2차함수 그래프를 미분하여 그래프의 순간 변화율(기울기)를 구할 수 있다.

이 값이 0인 곳이 바로 기울기가 0인 m의 위치이다.

 

경사하강법(gradiant decent)

그래프에서 미분 기울기를 이용해 오차를 비교하여 가장 작은 방향으로 이동시키는 방법

 

경사 하강법의 과정

1. a1에서의 미분을 구한다.

2. 구해진 기울기의 반대방향으로 얼마간 이동시킨 a2 위치에서 미분한다.

3. 같은 방법으로 이동한 a3에서의 미분값을 구한다.

4. 미분값이 0이 나올때까지 위의 과정을 반복한다.

 

학습률(learning rate)

그래프 내 위치를 변경시킬 때 얼마나 이동시킬지를 잘 결정해야함.

이때 이동거리를 정해주는 것이 학습률

 

코딩으로 경사하강법 수행하기