본문 바로가기
개발 Tools/파이썬_Deep learning & ML

딥러닝을 위한 기초 개념 Gradient decent

by 전컴반 2022. 5. 12.
반응형
Gradient decent

 

최적화 알고리즘이다. 기본 개념은 함수의 기울기(경사)를 구하고 경사의 절댓값이 낮은 쪽으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것이다.

Gradient decent는 cross entropy 같은 방법으로 에러를 측정한 뒤에 W를 업데이트하여 에러를 줄이는 방법으로 사용된다.

 

초기값을 잘 잡아야 한다. 이차함수(convx) 라면 시작이 어디든 최솟값을 찾아갈 수 있다 하지만 경사 하강법은 초기값이 어디냐에 따라 달라진다.

 

어떻게 찾아가는지 알아보자. 이때 점점 이동해야 하는데 어느 방향으로 갈지, 얼마나 갈지를 정해야 한다. 

아래 수식이 Gradient decent라고 보면 된다.

 

 

얼마나 가야 할지는 내가 정한다. 하이퍼 파라미터( n )라고 부른다.

어느 방향으로 갈지는 미분을 통해 알 수 있는데 미분 부호의 반대 방향으로 움직여야 한다. 생각해보자.

기울기가 양수(+)라면, 우린 왼쪽 (x가 작아지는)으로 가야 한다.

기울기가 음수(-)라면, 우린 오른쪽 (x가 커지는)으로 가야 한다. 

그러니 미분한 값의 부호에 반대 부호를 곱해줘야 한다. 

 

 

이렇게 정하면 이제 W를 변경하면서 E를 줄이는 방향으로 간다. 

 

이렇게 하여 에러의 최솟값을 구할 수 있다. (테일러급수를 이용하여 근사했다.)

 

 

 

반응형

댓글