- 최적화란 ?
최적화란 말 그대로 매개변수가 최적의 상태를 갖도록하는 과정이다. 즉, loss 의 값이 최소가 되는 매개변수의 최적값을 찾는 문제이다.
- 손실 함수 vs 최적화 함수
그렇다면 최적화 함수와 로수 함수는 정확히 하는 일이 어떻게 다른걸까 ?
손실 함수는 말 그대로 손실값을 계산하는 함수이다. 네트워크를 학습할 때, 네트워크가 학습해서 뱉어난 값 A' 와 정답 A 를 비교해 그 손실을 계산한다. 반면, 최적화 함수는 손실값을 줄이기 위해 네트워크 내의 가중치, 편향 값들을 최적의 값들로 조절하는 역할을 맡는다. 손실, 손실함수를 지표로 해 각 최적화 함수마다 특별한 방식으로 매개변수를 최적화해나간다. - SGD
확률적 경사 하강법. 현 위치에서 가장 큰 기울기로 움직일 수 있는 방향을 선택해 나아간다. 다만 특정 함수의 경우 기울기 방향만으로 최솟값을 찾기 힘든 경우가 존재하고, 무작정 기울기 방향대로 따라내려가기에 탐색 방법이 비효율적일 수 있다. - Momentum
곡면의 그릇에 공을 떨어트리면 힘을 받아 가속해 내려갔다가, 천천히 그릇 끝으로 올라가는 것처럼 기울기의 방향으로 물체가 힘을 받아 가속된다는 원리를 적용한다. SGD 에 비해 적은 보폭으로 탐색할 수 있다. - AdaGrad
처음에는 큰 학습률을 사용하다가 학습률을 조금씩 줄여가며 학습하는데, 각각의 매개변수마다 학습률을 최적화해가며 사용한다. 다만, 무한히 학습하면 학습률이 0에 가까워지며 학습되지 않을 수 있는데 이를 개선한 기법이 RMSProp 이다. - Adam
Momentum 과 AdaGrad 를 융합해 사용하는 방법이다.
#참조
밑바닥부터 시작하는 딥러닝
Loss Functions and Optimization Algorithms. Demystified.
'인공지능 > 이론 정리' 카테고리의 다른 글
Convolution Layer 구현하기 (0) | 2022.03.06 |
---|---|
오버피팅 방지와 하이퍼파라미터 최적화 (0) | 2022.02.16 |
신경망 학습 : 손실함수, 활성화함수, 파라미터 (0) | 2022.01.13 |
편미분 그라디언트 함수 구현 - 기울기, 경사법 (0) | 2022.01.11 |
배치용 교차 엔트로피 오차 구현하기 (0) | 2022.01.11 |