Coursera Optimization Algorithm 잘 작동되는 모델을 찾으려고 훈련을 반복해야하는 숙명에 놓여있는 머신러닝. 훈련의 반복이니까 모델을 빠르게 학습시키는 것도 중요하다. 엄청나게 많은 큰 데이터를 훈련하는 것은 엄청 느릴 것인데 그때문에 최적화 알고리즘을 사용하여 효율성을 좋게만들어야한다. 지난 시간에 그 중 하나인 미니배치경사하강법을 알았는데 그것보다 더 효율적인 알고리즘을 배우겠다.. 하지만 일단, 그에 앞서서 다음을 알아야한다. Exponentilally weighted average (지수가중평균) Bias Correction (편향 보정) 이번 포스트에서는 지수가중평균에 대해서 알아보자. Exponentilally weighted average(지수가중평균) 매개변수를 바꿈..
Cousera - Optimization Algorithms 잘 작동되는 모델을 찾으려고 훈련을 반복해야하는 숙명에 놓여있는 머신러닝. 훈련의 반복이니까 모델을 빠르게 학습시키는 것도 중요하다. 엄청나게 많은 큰 데이터를 훈련하는 것은 엄청 느릴 것인데 그때문에 최적화 알고리즘을 사용하여 효율성을 좋게만들어야한다. 그러므로 다음과 같은 알고리즘을 활용할 수 있다. Mini-batch Gradient Descent 배치 경사하강법의 단점 벡터화는 m개의 샘플을 상대적으로 빠르게 훈련시킬 수 있음 그러나 m이 500만개 정도로 엄청 큰데 경사하강법을 사용해야한다면? 경사하강법을 사용하면 500만개의 전체 훈련 샘플을 처리한 뒤 다음 단계를 밟고 또 전체를 처리하고 밟고를 반복해야한다. 느리다! 500만개의 ..
Coursera - Hyperparameter 모델의 Weight를 건드렸던 Regurlarizing 다음으로 Optimization(최적화) 과 관련된 Hyperparameter 세팅을 배웠다. Input을 Normalization 해서 데이터셋의 분포를 좋게 최적화 딥뉴럴네트워크에서 레이어가 깊어질 수록 기울기가 폭발적으로 증가하거나 감소되어 학습에 어려움이 있을 수 있는데,Weight 를 특정하게 Initialize 함으로써 최적화! Weight 는 0으로 초기화되면 안되며 랜덤으로 초기화되어야 symmetry를 피할 수 있다. 0으로하면 효과없음 Weight 를 너무 크게 잡으면 최적화를 느리게 할 것이다. 복잡한 역전파구현의 버그를 어떻게 빨리 찾아서 최적화할수있을까?Gradient Checki..