1.5.1.4 옵티마이저: 신경망 훈련 알고리즘
옵티마이저는 신경망의 가중치를 갱신하는 알고리즘이다. 케라스의 옵티마이저는 1.3.3.3절에서 소개한 경사 하강법 알고리즘에 기반해 동작한다.
책에서는 각 옵티마이저의 세세한 특징을 자세히 설명하지 않는다. 앞서 다룬 손실 함수와 마찬가지로 당면 문제에 적합한 옵티마이저를 골라야 한다는 점만 기억하자. 일반적으로 심층 신경망(DNN)에는 adam 옵티마이저가 가장 적합하며 깊이가 얕은 신경망에는 sgd 옵티마이저가 좋다고 알려져 있다. Adagrad 옵티마이저도 자주 사용하는데, 이 알고리즘은 개별 가중치가 갱신되는 주기에 맞춰 알고리즘의 학습 속도를 조절한다. 학습 속도는 머신 러닝 개발 과정 중 가장 많은 시간을 할애해 튜닝해야 하는 초매개변수지만, Adagrad를 사용하면 학습 속도를 수작업으로 튜닝할 필요가 없다.