AdaBound 新しい深層学習のoptimizer
前回の記事は色々な【深属学習】について話しました。今回の深層学習の最適化手法のAdaBoundを紹介します。AdaBoundはAdamの収束の速さとSGDの汎化性能の良さの良いとこ取りなoptimizerです。 Adamの弱点としては、汎化性能が劣る・未知のデータに弱い・極端な学習率を使うため上手く収束しないことがあります。例えばですが、収束が近くなると学習率は0.01以下の小さすぎる値になったり1000以上の大きすぎる値になったりしてしまうことがあります。逆にメリットとしては、収束が早いという事になります。 この大きすぎたり、小さすぎるを解消するために新しく提案されたのが、AMSBoundという手法になります。 AMSBound の論文はこちらです。 今回はColab(GPU)でKerasのRestNet34のモデルを作成します。Keras-adabound はこちらから参照します。 概要 データセット:cifar10 cifar10は、kerasのdatasetsで提供されている、5万枚の訓練画像と1万枚のテスト画像のデータセットです。画像は32×32のRGBで、画像の下に表示されている数字が正解ラベルです。 0 – airplane 1 – automobile 2 – bird 3 – cat 4 – deer 5 – dog 6 – frog 7 – horse 8 – ship 9 – truck Optimizer:Adam,と AdaBound のOptimizerを比較します。 モデル評価:速い収束、正解率を確認します。 学習条件 共通設定 モデル: ResNet34 バッチサイズ = 512 エポック数 = 100 クラス数 = 10 Optimizerの設定 adabound …