LinDragon 筆記圖書館2026年10月
Journal of CNN

卷積神經網路 · 優化器 · 學習率調度

Research Note

MultiStepLR

MultiStepLR

是在 StepLR 基礎上更「可客製化」的一種階梯式衰減

在你指定的幾個 epoch(里程碑)把 lr 變小

核心直覺:MultiStepLR 在做什麼?

所以你會給一個列表 milestones=[e1, e2, e3, ...]:

lr 曲線還是「樓梯狀」,但樓梯在哪幾階是你自己決定的,而不是固定間隔。


PyTorch CNN 寫法(感覺一下就好)

optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)

scheduler = torch.optim.lr_scheduler.MultiStepLR(
    optimizer,
    milestones=[30, 60, 90],  # 在這幾個 epoch 把 lr 衰減
    gamma=0.1                 # 每次乘 0.1
)

for epoch in range(num_epochs):
    train_one_epoch(...)
    scheduler.step()

意思就是:


為什麼用 MultiStepLR?


相關筆記