이전 단계에서는 로젠브록 함수의 최솟값을 경사하강법으로 구해봤는데, 기울기를 구하는 작업을 5만번 가까이 반복하고 나서야 겨우 목적지에 도달했습니다. 그 예에서 알 수 있듯이 경사하강법은 일반적으로 수렴이 느리다는 단점이 있습니다.
경사하강법을 대체할 수 있는, 수렴이 더 빠른 방법은 여러 가지가 있습니다. 그 중에서 유명한 것이 뉴턴 방법(Newton's method)입니다. 뉴턴 방법으로 최적화하면 더 적은 단계로 최적의 결과를 얻을 가능성이 높아집니다. 예를 들어 이전 단계에서 푼 문제를 뉴턴 방법으로 풀면[그림 29 -1] 의 오른쪽과 같은 결과를 얻을 수 있습니다.
[그림 29-1]을 보면 경사하강법이 '계곡'에서 고전하면서 서서히 목표값에 접근해가는 반면 뉴턴 방법은 계곡을 뛰어넘어 단번에 목적지에 도착합니다. 갱신 횟수는 불과 6회입니다. 경사하강법에서 5만번 가까이 필요했던 갱시이 불과 6회만에 끝나다니, 그적인 차이가 아닐 수 없습니다.
로젠브록 함수에서는 경사하강법과 뉴턴 방법의 갱신 횟수 차이가 아주 크게 나왔습니ㅏㄷ. 물론 이 횟수는 초깃값이나 학습률 등을 어떻게 설정하느냐에 크게 좌우되며, 이렇게 까지 큰차이를 볼 수 없는 경우도 많습니다. 일반적으로 초깃값이 정답에 가까우면 뉴턴 방법이 더 빨리 수령합니다.
댓글 없음:
댓글 쓰기