小编Sas*_*thy的帖子

在Pytorch中,如何将L1正则化器添加到激活中?

(pytorch初学者在这里)

我想将L1正则化器添加到ReLU的激活输出中.更一般地说,如何仅将规则化器添加到网络中的特定层?

这篇文章可能有关: 在PyTorch中添加L1/L2正则化? 但无论是否相关,或者我不明白答案:

它指的是在优化中应用的L2正则化器,这是另一回事.换句话说,如果总的期望损失是

crossentropy + lambda1*L1(layer1) + lambda2*L1(layer2) + ...
Run Code Online (Sandbox Code Playgroud)

我相信提供给torch.optim.Adagrad的参数仅适用于交叉熵损失.或者它可能适用于整个网络的所有参数(权重).但无论如何,它似乎不允许将单一的正则化应用于单层激活,并且不会提供L1损失.

另一个相关主题是nn.modules.loss,其中包含L1Loss().从文档中,我还不知道如何使用它.

最后,有一个模块https://github.com/pytorch/pytorch/blob/master/torch/legacy/nn/L1Penalty.py似乎最接近目标,但它被称为"遗产".这是为什么?

python pytorch

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

python ×1

pytorch ×1