optimizer 2

신경망 학습 - (4 - 3) AdaGrad(Adaptive Gradient)

지난 글 Momentum에 이어서 이번에는 AdaGrad라는 매개변수의 Optimizer에 대해서 알아보도록 하겠습니다. AdaGrad란? Adaptive Gradient의 줄임말로서 지금까지 많이 변화한 매개변수는 적게 변화하도록, 반대로 적게 변화한 매개변수는 많이 변화하도록 learning late의 값을 조절하는 개념을 기존의 SGD에 적용한 것입니다. AdaGrad의 장점 SGD에서 비등방성 함수의 경우 비효율적이라고 얘기하면서 예시를 보여드렸습니다. 지그재그로 계속 이동하게되어 실제 손실함수의 최솟값으로 이동하는데 비효율적인데 만약 학습률(learning late)을 낮춘다면 어떻게 될까요? SGD에서 손실함수의 기울기(gradient)는 벡터의 방향성을, 학습률은 벡터의 크기를 의미하는 바가..

Machine Learning 2020.01.28

신경망 학습 - (4 - 1) 확률적 경사 하강법, SGD( Stochastic Gradient Descent )

글의 목적 지난 글 동안 매개변수의 최적값을 찾아내기 위해서 손실함수를 미분하여 가장 낮은 경사를 따라 내려가는 경사하강법(Gradient Descent)을 사용했습니다. 이번에는 최적값을 찾아내기 위한 여러가지 Optimizer중 SGD에 대해서 알아보도록 하겠습니다. 여기서 Optimizer는 매개변수가 기울기를 이용해서 최적값을 찾아가는 방법을 통틀어서 말한 것입니다. 확률적 경사 하강법, SGD( Stochastic Gradient Decent ) 1. 개념 SGD의 개념은 기존의 GD를 알고있다면 이해하기 쉽습니다. GD는 위 사진처럼 매번 모든 트레이닝 데이터에 대한 손실함수를 구하고 기울기를 구하는 과정입니다. 이런 과정은 보다 정확하게 최적값을 찾을 수 있겠지만 현실적으로 트레이닝 데이터는..

Machine Learning 2020.01.21