Deep learning

Optimizer

비비이잉 2021. 8. 18. 17:19
반응형

Imbalanced Data를 preprocessing 하기 위해서 Class weights 방법을 사용하지만 이러한 결과로 Back propagation에 영향을 많이 주기 때문에 optimizer를 어떠한 것을 고르는지가 학습의 결과에 큰 영향을 미친다. SGD와 같이 기울기의 크기를 바로 계산하여 update하는 방식은 사용할 수 없기 떄문에, Scaling Change에 상대적으로 영향을 덜 받는 Adam과 같은 optimizer를 사용해야한다. 

 

 

 

Optimization을 하기 위한 고려사항은 크게 3가지가 존재한다.

 

1. Local Minima

 

2. Plateau

 

3 Zigxag 

 

 

Logcal Minima 문제는 에러를 최소화시키는 최적의 파라미터를 찾는 문제에 있어서 파라미터의 공간에 수많은 hole들이 존재하여 local minima에 빠질 경우 global minimum을 찾기 힘들게 되는 문제를 일컫는다.

 

Adam(Adaptive Moment Estimation)

- Adam은 Adagrad, Adadelta, Rmsprop처럼 각 파라미터마다 다른 크기의 업데이트를 적용하는 방법이다.

특히 Adadelta에서 사용한 decaying average of squared gradients뿐 아니라, decaying average of gradients를 사용한다. 

RMSProp과 Momentum을 조합한 방식으로 학습률과 방향 2가지 모두 고려한 방식이다. 

 

 

< adam의 장점 >

- 간단한 구현, 효율적인 연산, 메모리 요구사항이 거의 없음. 

-gradient 의 diagonal rescaling 에 독립적, 파라미터마다 학습률을 달리 조정 가능

- gradient에 noisy가 있거나 sparse한 문제에도 적합

- adam의 hyper-parameter는 직관적이며 tuning이 거의 필요 없다. 

 

 

ADAM은 크게 moment를 계산하는 부분과, moment를 bias로 조정하는 부분으로 구성되어 있다. 

 

moment는 Momentum이 적용된 first moment와 AdaGrad, RMSProp 이 적용된 second moment가 있음. 

 

  Adam의 pseudo-코드 // 출처 : 원문

 

 

 

출처 :  https://velog.io/@yookyungkho/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EC%98%B5%ED%8B%B0%EB%A7%88%EC%9D%B4%EC%A0%80-%EC%A0%95%EB%B3%B5%EA%B8%B0%EB%B6%80%EC%A0%9C-CS231n-Lecture7-Review

 

우주 최강보스 옵티마이저 : ) 

 

 

 

 

 

 

 

 

 

https://wjddyd66.github.io/dl/NeuralNetwork-(3)-Optimazation2/ 

 

NeuralNetwork (3) Optimazation2

Optimazation 고려사항Optimazation을 하기 위한 고려사항은 크게 3가지가 있다. Local Minima Plateau ZigzagLocal MinimaLocal minima 문제는 에러를 최소화시키는 최적의 파라미터를 찾는 문제에 있어서 아래 그림

wjddyd66.github.io

 

 

반응형