发布时间:2023-04-19 文章分类:电脑基础 投稿人:樱花 字号: 默认 | | 超大 打印

目录

  • 权重衰减/权重衰退——weight_decay
    • 一、什么是权重衰减/权重衰退——weight_decay?
    • 二、weight decay 的作用
    • 三、设置weight decay的值为多少?

权重衰减/权重衰退——weight_decay

import torch.optim as optim
from torch.optim.lr_scheduler import CosineAnnealingLR
 opt = optim.Adam(parameters, lr=args.lr, weight_decay=1e-4)
 # CosineAnnealingLR 余弦退火调整学习率
 lr_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(opt, T_max=args.epochs,
                                                              eta_min=0, last_epoch=-1)
  1. weight_decay = 1e-4
  2. weight_decay = 1e-6

一、什么是权重衰减/权重衰退——weight_decay?

weight_decay(权重衰退):

weight _decay本质上是一个 L2正则化系数

L
=
E
i
n
+
λ

j
w
j
2
L=E_{i n}+\lambda \sum_j w_j^2
L=Ein+λjwj2

可以理解为:

权重衰减( Weight Decay)

二、weight decay 的作用

使用 weight decay 可以:

三、设置weight decay的值为多少?

weight_decay即权重衰退。

在深度学习模型中,一般将衰减系数设置为 0.00010.001 之 间的值

论文里是验证了1e-4比较好

在看其他量化训练的一些代码、论文等,不经意间注意到有人建议要关注weight decay值的设置

因为weight-decay 可以使参数尽可能地小,尽可能地紧凑