可知,LR 與 batch size 成反比,其中,LR 影響 model 的收斂狀態,batch size 影響 model 的泛化性能(Generalization Gap)。 為了解決這個問題,許多人提出當 batch size 增大 k 倍時,LR 也增加 k 倍,然而這樣的方法會造成 LR 太大,訓練不穩定,例如在早期階段 LR 太大可能在錯誤的方向上更新很多,導致最終模型成效很差。
將上式簡化為:
當 LR 過大時,可能會導致
,造成發散。作者通過分析每個 layer 的
,發現 (1) 每個 layer 的差異很大,以及(2) 訓練的早期階段比值都比較大。warm-up 透過以較小的 LR 開始訓練解決問題 (2),LARS 透過每個 layer 根據自己的情況調整 LR,解決問題 (1),local LR 的計算方式如下:
其中
是 hyperparameter(通常為0.001),代表更新時會改變參數的置信度(trust),推測為比值正常為 1000 左右的數值。 有了 local LR 後,就可以替換每個 layer 的 global LR:
其中
代表 global LR。
實驗設置
Data Augmentation 方法
Random crop & resize (with random flip)
Color distortions
Gaussian blur
Backbone
Base encoder: ResNet50
Projection: 2 layer MLP (project representation to 128D latent space)
Loss
NT-Xent
Optimizer
LARS, LR = 4.8 (0.3
batch size / 256)
Weight decay:
Linear warm-up for 10 epochs
Cosine decay schedule
Batch size
4096
Epoch
100
Data Augmentation for Contrastive Representation Learning
Data augmentation 並沒有成為 contrastive learning 的標配。許多現有的方法通過使用不同的網路架構達成 contrastive learning。
使用 color jittering & color dropping,越強的 color jittering 通常會有更大的幫助,因此設置了一個 strength parameter.
Color jittering: 對亮度、對比、飽和、色調進行調整。
Color dropping: 以一定機率將圖片變為灰階。
Gaussian blur
小幅增進效能。以 50% 的機率進行模糊,隨機選擇
,kernel size 為圖像的 10%.
B. Additional Experimental Results
Batch Size and Training Steps
linear scaling LR 在 SGD, Momentum 中是很好的方法,但是在 LARS 中,square root LR 是更好的作法,因此,不同於 linear scaling 的
,而是使用了 square root 的
,詳細的實驗數據如下:
從表中可以看到,square root LR 在較小的 batch size 和 training step 下,可以更好的提昇模型效能。
Batch size 的 gap 在 8192,但是 epoch 則是還沒有收斂,能夠持續提昇 accuracy.
Broader composition of data augmentations further improves performance
套用更多的 data augmentation 方法可以進一步加強模型效能。
Effects of Longer Training for Supervised Models
當在 supervised learning 中套用更長的 training step 和 data augmentation 種類時,更長的 training step 並不會讓 model 變好,data augmentation 會讓模型稍有起色,但並不明顯,且不一定適用於任何一種模型 (ex. ResNet, ResNet(4