본문 바로가기

Computer Science/AL, ML 58

[Optimization] RMSProp RMSProp = Root Mean Square Propagation Gradient에 smoothing을 하고 동시에 보폭을 조절하여 속도를 높인다. Gradient descent에 비해 거의 항상 속도와 정확도가 좋다. vs. Gradient Descent with Momentum Gradient descent with momentum과 마찬가지로 smoothing을 한다. 그러나 gradient descent with momentum와 달리 속도도 높인다. 방법 dW와 db에 대한 제곱에 대해 exponentially weight를 건다. 이를 dW와 db에 나눠서 W와 b를 update 시켜준다. 이전의 값이 컸다면 S의 값도 커져서 보폭을 줄여주고, 반대로 이전의 값이 작았으면 S의 값도 작아져.. 2022. 4. 21.
[Optimization] Gradient Descent with Momentum Gradient Descent with Momentum 보통 gradient descent보다 속도가 더 빠르다. 문제 Gradient descent는 최적의 길을 바로가지 못하고 zig-zag로 돌아가게 된다. 해결 Gradient descent with momentum은 gradient에 smoothing을 건다. Initial Gradient Problem initial gradient 문제가 발생할 수 있다. 그러나 bias correction을 할 필요 없다. 주로 training iteration 수 (epoch)는 주로 크게 잡아서 초기값이 큰 영향을 주지 않기 때문이다. 2022. 4. 21.
[Optimization] Exponentially Weighted Average Exponentially Weighted Average 평균을 취할 때 최근의 것의 비중을 크게하고 과거로 갈수록 비중을 작게하면서 평균을 취하는 방법이다. $v_t = \beta v_{t-1} + (1-\beta)\theta _t$ * $\beta$ : hyperparameter Exponentially weighted average를 통해 noise를 줄이면서 smoothing 할 수 있다. Hyperparameter $/beta$ beta가 너무 작으면 : noise를 줄이지 못함 beta가 너무 크면 : delay가 너무 심함 여기서 사용된 $\beta$는 hyper parameter로 batch normalization에 사용된 $\beta$와 전혀 다른 것이다. $\frac{1}{1-\beta.. 2022. 4. 21.
Optimization Optimization 배경 Machine learning은 매우 empirical process(iterative process)이다. 때문에 모델을 여러번 train 시켜보아야 한다. 딥러닝에서는 big data를 사용해서 어느정도 문제를 해결할 수 있다. 때문에 learning speed를 최대한 줄이는 것이 여러번 훈련시키거나 빅데이터를 사용하는데 있어서 필수적이다. 장점 Neural network의 learning speed를 더 빠르게 한다. 종류 주로 exponentially weighted average 을 기반으로 사용한다. gradient descent with momentum RMSProp adam 2022. 4. 21.
[Batch Normalization] Covariate Shift Problem Covariate Shift Problem Training set과 dev/test set의 distribution이 비슷하지 않을 경우 covariate shift problem이 발생한다. 아래처럼 검은색 고양이 사진으로 training한 후 그렇지 않은 고양이 사진으로 test를 하면 정확도가 낮아진다. Solution : Batch Normalization Batch normalization을 이용해서 covariate shift problem을 어느정도 해결할 수 있다. Batch normalization을 사용하지 않았을 때 $W^{[3]}$와 $b^{[3]}$은 $a^{[2]}$에 대해 맞춰서 학습을 한다. 그런데 문제가 바뀌지 않았음에도 다음 sample에 대해서는 다른 값이 들어오게 된다.. 2022. 4. 21.