RMSProp(Root Mean Square Prop) 모멘텀을 이용해서 경사하강법을 빠르게 할 수 있었다. 그리고 경사하강법을 빠르게 할 수 있는 알고리즘이 또 있다. 바로 RMSProp이다. 이것은 도함수의 제곱을 지수가중평균하는 것이다. ✋ 잠깐 여기서 다시 기억해보자. 경사하강법에서 빨리 최솟값에 도달하려면 진동하고있는 수직의 학습률은 느리게 최솟값을 향해 나아가야하는 수평방향의 학습률은 빠르게 해야한다. 어떻게 작동하는지? # 지수 가중 평균법 : Vt = β*Vt-1 + (1-β)*Θt Sdw = β*Sdw + (1-β)*dw² Sdb = β*Sdb + (1-β)*db²그리고 가중치를 이렇게 업데이트해준다. α = learning_rate w = w - α * dw/√Sdw b = b - α ..
Gradient Descent with Momentum (모멘텀 알고리즘 혹은 모멘텀이 있는 경사하강법) 자, 지수가중평균과 편향보정을 알았으니 일반적인 경사하강법을 빠르게 동작하게할 수 있는 모멘텀 알고리즘을 배우자. 이것은 경사에 대해서 지수가중평균을 계산하고 그 값으로 가중치를 업데이트하는 것이다. 그게 뭔데? 뭔지 알아보기 위해서 일반적인 경사하강법과 비교해보자. 일반적인 경사하강법 혹은 미니배치경사하강법으로 비용함수를 최적화한다고 생각해보자. 비용함수의 등고선이 있으면 어떠한 최솟값을 향해 나아갈 것이다. 그 모양은 다음과 같다. 학습률이 많은 단계를 거치게되면 최솟값으로 나아가면서 천천히 진동하는데, 이것은 다음과 같은 단점을 만든다. 속도를 느리게 만들고 더 큰 학습률을 사용하는 것을 막는다..
Coursera Optimization Algorithm 잘 작동되는 모델을 찾으려고 훈련을 반복해야하는 숙명에 놓여있는 머신러닝. 훈련의 반복이니까 모델을 빠르게 학습시키는 것도 중요하다. 엄청나게 많은 큰 데이터를 훈련하는 것은 엄청 느릴 것인데 그때문에 최적화 알고리즘을 사용하여 효율성을 좋게만들어야한다. 지난 시간에 그 중 하나인 미니배치경사하강법을 알아보다가 더 효율적인 알고리즘을 배우려고 했었는데 그에 앞서서 다음을 알아야한다. Exponentilally weighted average (지수가중평균) Bias Correction (편향 보정) 이 포스트에서는 편향 보정에 대해 알아보자. Bias Correction(편향보정) 앞에서 지수가중평균으로 평균을 효율적으로 계산하는 방법을 알아봤는데 ..