Computer vision/딥러닝 공부
[딥러닝과 신경망] 최적화(옵티마이저)
대학원생(노예)
2023. 10. 17. 01:55
옵티마이저
-
손실함수를 기반으로 모델이 어떻게 업데이트되어야 하는지 결정
-
케라스에서 여러 옵티마이저를 제공하고, 사용자가 특정 종류의 확률적 경사 하강법 지정 가능
-
keras.optimizer.SGD() : 기본적인 확률적 경사 하강법
-
keras.optimizer.Adam() : 자주 사용되는 옵티마이저
-
-
보통 옵티마이저의 튜닝을 위해 따로 객체를 생성하여 컴파일시에 포함
-
경사하강법
-
미분과 기울기로 동작하며, 스칼라를 벡터로 미분
-
변화가 있는 지점에서는 미분값이 존재하고, 변화가 없는 지점은 미분값이 0이 되며, 미분값이 클수록 변화량이 큼
-
경사하강법의 과정은 한 스텝마다의 미분값에 따라 이동하는 방향을 결정, f(x)의 값이 변하지 않을때까지 반복
-
기울기가 0이지만 극값이 되지 않는 안장점(saddle point)가 존재
-
경사하강법은 안장점에서 벗어나지 못하는 문제가 있음
-
-
학습률
-
모델을 학습하기 위해서는 적절한 학습률을 지정해야 최저점에 잘 도달할 수 있음
-
학습률이 너무 크면 발산하고, 너무 작으면 학습이 오래 걸리거나 최저점에 도달하지 못하는 문제가 있음
-