AdamW

AdamW er en optimeringsalgoritme, der modificerer Adam ved at dekopplere vægtdæmpning (weight decay) fra de adaptive gradientestimater.

Kort fortalt

Kort fortalt, AdamW er en forbedret version af Adam-optimizeren, der håndterer vægtdæmpning på en mere korrekt måde, hvilket ofte fører til bedre generalisering.

Kategori
træning
Niveau
øvet

Betydninger

1
  1. 1

    En optimeringsalgoritme til træning af neurale netværk, der kombinerer adaptiv gradientestimering (Adam) med en separat vægtdæmpning for at forbedre regularisering og generalisering.

    • I stedet for Adam bruger mange moderne sprogmodeller AdamW som optimizer for at opnå bedre generalisering.
    • AdamW dekoppler vægtdæmpningen fra de adaptive learning rates, hvilket gør træningen mere stabil.

Hvornår bruges det

AdamW bruges typisk som standard-optimizer til træning af dybe neurale netværk, især inden for naturlig sprogbehandling og computer vision. Den anbefales ofte frem for Adam, fordi den adskiller vægtdæmpning fra den adaptive learning rate, hvilket gør hyperparameterjustering mere robust.

Formel

θ_{t+1} = θ_t - η * ( m_t / (√v_t + ε) + λ θ_t ), hvor m_t og v_t er eksponentielt glidende gennemsnit af gradienter og kvadrerede gradienter, η er learning rate, λ er weight decay-koefficienten, og ε er en lille konstant.

Kodeeksempel

import torch
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-4, weight_decay=0.01)

Eksempel på brug af AdamW i PyTorch

Oprindelse

AdamW blev introduceret af Ilya Loshchilov og Frank Hutter i 2017 i artiklen 'Decoupled Weight Decay Regularization' som en rettelse til Adams implementering af vægtdæmpning.

Kilder

1
  • Decoupled Weight Decay Regularization (Loshchilov & Hutter, 2017)