NOVOGRAUDの最適化アルゴリズムの解説
目次 1 NOVOGRAUD最適化アルゴリズムの概要 1.1 NOVOGRAUD最適化アルゴリズムとは 1.2 NOVOGRAUD定義 2. 実験 2.1 データロード 2.2 データ前処理 2.3 NOVOGRAUD最適化アルゴリズムのモデル作成 2.4 Adam最適化アルゴリズムのモデル作成 2.5 まとめ 記事:最適化アルゴリズムのまとめ 1 NOVOGRAUD最適化アルゴリズムの概要 1.1 NOVOGRAUD最適化アルゴリズムとは、層ごとの勾配正規化と分離された重み減衰を使用した適応確率的勾配降下法です。論文より、画像分類、音声認識、機械翻訳、言語モデリングのためのニューラルネットワークの実験では、SGD、Adam、AdamWと同等かそれ以上のパフォーマンスの結果になりました。今回私達も評価とサンプルコードを紹介していきます。 NOVOGRAUDの特徴: 学習率と重みの初期化の選択に適しています 大規模なバッチ設定でうまく対応できます。 Adamに対しての半分のメモリフットプリントになります。 アルゴリズム: NovoGradは3つのアイデアを組み合わせています。 層ごとの2次モーメントを使用します。 層ごとの2次モーメントで正規化された勾配を使用して1次モーメントを計算します 重量減衰を切り離します。 論文:Training Deep Networks with Stochastic Gradient Normalized by Layerwise Adaptive Second Moments https://arxiv.org/pdf/1905.11286.pdf Tensorflow: https://www.tensorflow.org/addons/api_docs/python/tfa/optimizers/NovoGrad?hl=ja PyTorch: https://pytorch-optimizer.readthedocs.io/en/latest/_modules/torch_optimizer/novograd.html …