인공지능/이론 정리

최적화 & 최적화 함수

고등어찌짐 2022. 2. 12. 23:19
  • 최적화란 ? 
    최적화란 말 그대로 매개변수가 최적의 상태를 갖도록하는 과정이다. 즉, loss 의 값이 최소가 되는 매개변수의 최적값을 찾는 문제이다. 
     
  • 손실 함수 vs 최적화 함수
    그렇다면 최적화 함수와 로수 함수는 정확히 하는 일이 어떻게 다른걸까 ?
    손실 함수는 말 그대로 손실값을 계산하는 함수이다. 네트워크를 학습할 때, 네트워크가 학습해서 뱉어난 값 A' 와 정답 A 를 비교해 그 손실을 계산한다. 반면, 최적화 함수는 손실값을 줄이기 위해 네트워크 내의 가중치, 편향 값들을 최적의 값들로 조절하는 역할을 맡는다. 손실, 손실함수를 지표로 해 각 최적화 함수마다 특별한 방식으로 매개변수를 최적화해나간다.  

  • SGD
    확률적 경사 하강법. 현 위치에서 가장 큰 기울기로 움직일 수 있는 방향을 선택해 나아간다. 다만 특정 함수의 경우 기울기 방향만으로 최솟값을 찾기 힘든 경우가 존재하고, 무작정 기울기 방향대로 따라내려가기에 탐색 방법이 비효율적일 수 있다. 

  • Momentum
    곡면의 그릇에 공을 떨어트리면 힘을 받아 가속해 내려갔다가, 천천히 그릇 끝으로 올라가는 것처럼 기울기의 방향으로 물체가 힘을 받아 가속된다는 원리를 적용한다. SGD 에 비해 적은 보폭으로 탐색할 수 있다. 

  • AdaGrad
    처음에는 큰 학습률을 사용하다가 학습률을 조금씩 줄여가며 학습하는데, 각각의 매개변수마다 학습률을 최적화해가며 사용한다. 다만, 무한히 학습하면 학습률이 0에 가까워지며 학습되지 않을 수 있는데 이를 개선한 기법이 RMSProp 이다. 

  • Adam
    Momentum 과 AdaGrad 를 융합해 사용하는 방법이다. 

 

 

#참조

밑바닥부터 시작하는 딥러닝

Loss Functions and Optimization Algorithms. Demystified.

https://medium.com/data-science-group-iitr/loss-functions-and-optimization-algorithms-demystified-bb92daff331c