最近になって論文でたびたび目にする学習率のWarmupについて、CIFAR-10で実験してみました。その結果、Warmupを使うとバッチサイズの増加にともなう精度の急落を、ある程度緩和できることがわかりました。大きいバッチサイズで訓練したり、訓練を高速化したい場合は、このWarmupが非常に有効となるでしょう。 きっかけ Google I/O'19の講演を聞いていたら、学習率のウォームアップについて話していました。RetinaNetをTPUで訓練する話です。 曰く、「このケースではResNet50の訓練済みモデルを初期値として使い、レイヤーを固定せず、全てのレイヤーを訓練させる。大きいバッチサイズを使っているので、訓練済み係数が壊れてしまう可能性がある。学習の最初は低い学習率を使い、徐々にあげていくという学習率のコントロールを行う」(ビデオ39分付近)とのことです。 このアイディアはこの講