こんにちは。
今までなんとなくなーなーで勉強していたGradient Descentですが、ちゃんと調べて見ました。
OverViewの論文があって(元はブログの投稿なので、これはそうというのかわからないけど)、今回それを読みつついろんな資料を漁る方式で勉強しました。
○読んだ論文とスライド
最近自分で話そうと思ってまとめるといい感じで頭に入ることを学習したので、しっかり読もうと決めたものは資料にしています。笑
■一言まとめ
めんどくさかったら、とりあえずAdam使っとけってことですね笑。ただ、Adamだと汎化性能がSGDに比べて落ちるという研究もあるので、各種ハイパーパラメーターをAdamで探索後、最終的なTuningのフェーズになったら、SGDを使うのがいいかな、と考えています。
○Gradient Descent周りの参考資料の一覧
上記の論文とスライドを読むときに参考になったのが以下の資料です。
■Overview or basic algorithm about gradient descent
- Ruder, Sebastian. "An overview of gradient descent optimization algorithms." arXiv preprint arXiv:1609.04747 (2016).
- CS231n Convolutional Neural Networks for Visual Recognition
- 1. Overview of Mini Batch Gradient Descent - YouTube
- 10.1.2 Stochastic Gradient Descent - YouTube
- Stochastic Gradient Descent - YouTube
- Gradient Descent Tutorial - YouTube
- Overview of mini-batch gradient descent
- 勾配降下法の最適化アルゴリズムを概観する | コンピュータサイエンス | POSTD
- Stochastic gradient descent - Wikipedia
- 確率的勾配降下法とは何か、をPythonで動かして解説する - Qiita
- Kaggle Facial Keypoints DetectionをKerasで実装する
- Everything that Works Works Because it's Bayesian: Why Deep Nets Generalize?
- Optimizer : 深層学習における勾配法について - Qiita
■Momentum/Nesterov accelerated gradient
■Nadam
- [http://cs229.stanford.edu/proj2015/054_report.pdf:title=Dozat, Timothy. Incorporating Nesterov momentum into Adam. Stanford University, Tech. Rep., 2015.[Online]. Available: http://cs229. stanford. edu/proj2015/054 report. pdf, 2015.]