모두를 위한 딥러닝

[DL] 모두를 위한 딥러닝 2

승무_ 2022. 3. 29. 22:21

먼저 쉬운 이해를 위해 위의 식을 아래의 식으로 간단하게 나타낸다.

Cost function의 그래프는 어떠한 모양을 가지고 있을까?

위의 그래프에 따르면 W=1 일 경우 최소값을 갖게됨을 알 수 있다.

어떻게 하면 최소값을 찾을 수 있을까?

 

Gradient descent algorithm (경사 하강법 알고리즘)

  • 랜덤한 값으로 초기값을 설정한다.
  • Cost function의 미분값을 이용하여 Cost값을 감소시키는 방향으로 값을 약간 수정한다.
  • 반복한다.

Cost를 쉽게 미분하기 위해 수정한다.

W에 알파값(learning_rate)과 Cost의 미분값을 곱하여 뺀 후 업데이트 하는 방식을 사용한다.

(기울기가 음수: 앞으로 이동 / 기울기가 양수: 뒤로 이동)

즉 하강하는 방향으로 이동한다.

 

미분을 계산하면 위의 식과 같다.

 

초기값의 설정에 따라 찾아가는 최저점이 달라질 수 있다.

 

이러한 Cost function구조는 초기값이 어디이건 간에 항상 같은 최저점을 찾는다.


Cost Function 그래프 그리기


경사 하강법의 구현(w:=w-w의미분)


Tensorflow 기능을 이용해 구현한 경사 하강법 (위의 w갱신하는거를 함수화)