최적화기
📂머신러닝최적화기
정의
최적화 문제란, 함수 f:Rn→R의 함숫값이 최소가 되도록 하는 x∗를 찾는 것을 말한다.
x∗=xargminf(x)
최적화 문제를 푸는 일련의 알고리즘을 최적화기optimizer라 한다.
설명
머신러닝, 딥러닝에서 함수 f를 손실 함수loss function이라 하고, 이때 x는 신경망의 파라미터, 즉 가중치가 된다.
확률적 경사하강법
딥러닝에서 쓰이는 최적화기는 사실상 거의 모두 확률적 경사하강법이다. 손실함수를 L, 파라미터를 θ라 표기하자. 경사하강법이란 다음과 같은 최적화기를 말한다.
θi+1=θi−α∇L(θi)
모멘텀 기법
모멘텀 기법은 아래와 같이 이전 단계의 그래디언트를 누적시켜 더하는 최적화기를 말한다.
θi+1=θi+αj=0∑iβj∇L(θi)
네스테로프 모멘텀
네스테로프 모멘텀은 모멘텀 기법에서 살짝 변형을 준 것이다. p0=0에 대해서,
pi+1=βpi−α∇L(θi+βpi)
θi+1=θi+pi+1
AdaGrad
AdaGrad는 적응적 학습률을 적용한 최적화기이다. 그래디언트를 ∇Li=∇L(θi)라 간단히 표기하면,
riαiθi+1=(∇Li)⊙(∇Li)=αi−1+δ+riϵ=j=1∑iδ+rjϵ=θi−αi⊙∇Li
RMSProp
RMSProp는 AdaGrad의 변형으로, 더해지는 항을 지수적으로 감소하도록 가중합을 적용한 것이다.
riαiθi+1=(∇Li)⊙(∇Li)=ραi−1+(1−ρ)δ+riϵ=(1−ρ)j=1∑iρi−jδ+rjϵ=θi−αi⊙∇Li
Adam
Adam은 적응적 학습률과 모멘텀을 합친 최적화기이다.
pip^irir^iα^iθi+1=β1pi−1+(1−β1)∇Li−1=1−(β1)ipi=β2ri−1+(1−β2)∇Li⊙∇Li=1−(β2)ir=δ+r^iϵ=θi−αi^⊙pi^
기타
대학원생 하강법
대학원생 하강법은, 대학원생을 최적화기로 사용하는 방법을 말한다. 예로부터 많이 쓰여왔고 지금도 전세계에서 활발히 사용중인 방법이다. 성능은 제각각이지만 가격면에서는 굉장한 효율을 자랑하는 가성비 좋은 최적화기이다.
몬테 카를로
몬테-카를로이란, 무작위로 최대한 많이 해보는 것을 말한다.
그리드 서치
그리드 서치란, 이름 그대로 유클리드 공간 Rn을 격자로 나누어 많은 점에 대해 시도해보며 최적해를 찾는 방법을 말한다.