사업계획

[이석중의 알기쉬운 인공지능] 인공 신경망의 학습 방법: 경사 하강법(Gradient Descent, GD) 이해하기 (3)

玄曄 2021. 9. 30. 20:14

[momentum과 AdaGrad 방법]

 

 

인공 신경망의 학습이란 신경망을 구성하는 많은 변수들이 최적이 되도록 변수의 값을 조금씩 변경시켜가는 최적화 과정이며, 이것은 마치 아주 제한적 범위만을 볼 수 있는 여행자가 네비게이션이나 지도의 도움 없이 길을 찾아가는 것과 유사하다.

최적 지점이 어디인지 정확하게 알 수 없기 때문에 그 여행자는 오직 경사(gradient)가 낮아지는 방향으로 이동한다. 이것이 경사 하강법의 원리이며, 수식으로 표현하면 “θ = θ - α▽J(θ)”가 된다. 여기서 θ는 변수, J(θ)는 비용함수, ▽J(θ)는 비용함수의 경사, α는 학습률(learning rate)을 의미하며, 수식 내용을 보면 변수의 갱신에 있어 경사가 중요한 역할을 한다는 것을 알 수 있다.

위 수식에서 살펴본 것처럼, 경사 하강법은 개념이 간단하고 결과도 우수하기 때문에 널리 사용되는 최적화 알고리즘이다. 그렇지만 실제 사용할 때는 몇 가지 제약과 어려움 있어 개선된 방법들이 나왔으며, 이번 연재에서는 momentum과 AdaGrad 방법에 대하여 살펴보기로 한다.

경사 하강법의 수식을 보면, 같은 방향으로 움직인다고 할지라도 변수를 최대로 갱신할 수 있는 크기는 기울기와 학습률의 곱에 의해서 결정이 되기 때문에, 뻔한 경우에도 더 빠르게 이동할 방법이 없다. 경사면에서 공을 굴리면 관성을 받아 속도가 빨라지듯이, 같은 방향으로 계속 움직이는 경우는 관성을 고려하여 좀 더 빠르게 이동할 수 있다면 훨씬 효과적이다.


그래서 나온 방식이 바로 momentum GD이다. 여기서 momentum은 관성, 가속도의 의미로 사용된다. 수식은 “v = βv + α▽J(θ), θ = θ – v”이다. 변수를 갱신할 때 경사만 보는 것이 아니라, 이전 이동 방향까지 고려한다.

이동 방향이 같은 경우에는 점점 빠르게 이동이 가능하여 단순 경사 하강법을 사용하는 것보다 훨씬 빠르게 최적 지점을 찾아갈 수 있고, 방향이 바뀌는 경우는 일종의 완충(damping) 역할을 해주기 때문에 진동을 줄이는 효과까지 덤으로 얻을 수 있다. β는 과거 이동을 몇 개까지 고려할 것인지를 결정해주는 역할을 하며, β가 클수록 과거 이동을 더 많이 참고하게 된다. 보통 β는 0.9를 사용하는 것이 일반적이다.

학습률(learning rate)은 학습 속도와 질을 결정하는 중요한 시스템 변수(hyper parameter)이다. 이 값이 너무 크면 학습 속도는 빨라지나 발산으로 인해 학습이 제대로 되지 못할 가능성이 있으며, 이 값이 너무 작으면 학습 속도가 느려져 학습 시간이 길어지는 문제가 있다. 그래서 학습 초기에는 큰 값을 사용하다가, 학습이 어느 정도 되었다고 판단을 하면 값을 줄이는 방식으로 몇 개의 값을 지정해 사용하는 방식이 일반적이다.

AdaGrad는 학습률을 고정시켜 사용하는 것이 아니라, 자동으로 학습률을 조절하여 학습 효과를 개선하는 방식으로 2011년에 발표가 되었다. 기본적인 아이디어는 지금까지 변화가 많았던 변수들은 최적 근처에 있을 확률이 높기 때문에 학습률 값을 낮게 설정해주고, 변화가 적은 변수들을 빠른 최적화가 필요하다고 판단하여 학습률을 크게 설정하는 방식이다.


AdaGrad는 모든 변수에 동일한 학습률을 적용하는 것이 아니라 변수의 특성에 맞게 학습률을 조절할 수 있다는 큰 장점이 있지만, 학습이 오래 진행될 경우에는 변수의 갱신이 거의 이뤄지지 않는다는 단점이 있다. 그래서 이런 문제점을 해결하기 위해 AdaDelta와 RMSProp과 같은 방식이 발표되었으며 이런 방식은 추후에 살펴볼 예정이다.

요약하면, 기본적인 경사 하강법의 한계를 해결하기 위해 많은 최적화 방법이 발표되었으며, 그 중 Momentum 방식은 이전 이동의 방향성을 고려하여 학습 속도를 빠르게 개선한 방식이고, AdaGrad는 학습률(learning rate) α를 효과적으로 조절하는 방식을 사용하였다.

출처 : YTIMES청년신문(http://www.ytimes.co.kr)