Logo南极Python权重衰减和L2正则化

权重衰减和L2正则化

发表于2022-05-30|深度学习笔记

权重衰减是在更新模型的参数时,对当前参数乘以一个系数,公式如下:

而L2正则化是在损失函数后面加一项约束,如下:

在使用SGD作为优化器,且满足$\lambda’=\frac{\lambda}{\alpha}$时,权重衰减和L2正则化等价,证明如下:

参考:

  • [1] https://blog.csdn.net/weixin_41803874/article/details/108730883
  • [2] https://zhuanlan.zhihu.com/p/498372080
  • [3] https://arxiv.org/pdf/1711.05101.pdf
DL
cover of previous post
上一篇
标签平滑的PyTorch实现
解决过拟合的手段有很多,比如early stopping, dropout, weight regularization,然而,这些手段无法解决模型对于标签过度自信的问题:在标签有误时,容易导致模型学习到错误的内容。 在普通的交叉熵函数中,只有预测正确的类别才会对损失作出贡献。标签平滑的思想是对标签target的onehot形式进行改造,使其取值不再是非0即1,这样,预测错误的类别也会对损失作出较小的贡献,从而迫使模型进一步学习不同类别之间的区别,避免了模型的过度自信。 使用标签平滑,只需对标签target进行变换即可,其余部分和交叉熵的计算方式是一样的,平滑后的标签如下: $$y_{ls}=(1-\alpha)*y_{onehot}+\frac{\alpha}K$$ 其中,K是类别数,$\alpha$是平滑系数,$y_{onehot}$是原始标签的onehot结果。 标签平滑的PyTorch代码实现如下: 12345678910111213141516171819import torchimport torch.nn.functional as Fdef...
下一篇
Kaggle-GI-Tract竞赛-EDA
每个case都对应若干Day的若干个scan得到的slices,在train.csv中,每个case-Day-slice占3行,分别对应3个类别(大肠、小肠、胃)的标注信息 因此,在制作每一个case-Day-slice的mask时(制作1D数据),这三行分别作为mask的一个通道,因此mask是3个通道的: 1234567891011def id2mask(id_): idf = df[df['id']==id_] wh = idf[['height','width']].iloc[0] shape = (wh.height, wh.width, 3) mask = np.zeros(shape, dtype=np.uint8) for i, class_ in enumerate(['large_bowel', 'small_bowel', 'stomach']): cdf =...
相关推荐
cover
2021-04-05
1小时快速入门PyTorch
12#二话不说,先把包导入进来~import torch tensor初始化123#定义一个tensormy_tensor=torch.tensor([[1,2,3],[4,5,6]])print(my_tensor) tensor([[1, 2, 3], [4, 5, 6]]) 123#指定tensor的数据类型my_tensor=torch.tensor([[1,2,3],[4,5,6]],dtype=torch.float32)print(my_tensor) tensor([[1., 2., 3.], [4., 5., 6.]]) 123#指定devicemy_tensor=torch.tensor([[1,2,3],[4,5,6]],dtype=torch.float32,device='cuda')print(my_tensor) tensor([[1., 2., 3.], [4., 5., 6.]],...
cover
2021-07-28
FFB6D
FFB6D: A Full Flow Bidirectional Fusion Network for 6D Pose Estimation 来源: CVPR2021代码:https://github.com/ethnhe/FFB6D 提出的问题 RGB图像+CNN:透视投影会导致几何信息损失 RDB-D+CNN::如何有效地充分利用这两种数据模式(RGB图+深度图)来进行更好的6维姿态估计? 已有的方法 使用级联思想,先从RGB中做粗略估计,再使用ICP或多视图的假设检验做后续优化。这种方法并不是端到端的方式,而且非常耗时。 使用两个网络,一个CNN,一个PCN( pointcloud network),分别从RGB图和点云文件中提取特征(croped RGB image and point cloud),然后把这两种特征concat在一起(称之为 dense features),用于姿态估计。这种混合特征的方法(concat)太naive。 也是用两个网络,CNN和PCN,只不过将特征混合方式由concat改为dense fusion,如下图: ...
cover
2021-04-09
FaceFromX
cover
2021-07-30
G2L-Net
G2L-Net: Global to Local Network for Real-time 6D Pose Estimation with Embedding Vector Features 来源:CVPR 2020代码:https://github.com/DC1991/G2L_Net引用量:8新版本:FS-Net(CVPR2021),还没看 提出的问题 一些基于深度学习的方法预测表现达到了sota,但做不到实时性,太慢 虽然存在一些方法能够做到实时性,但这些方法只是用了RGB图,无法处理存在遮挡和光照变化的情况 当加入深度信息后,可以处理诸如遮挡的复杂情况,但是计算密集。并且这些基于RGBD的方法的一个常见问题是:利用来自深度信息中的视点信息(view point infomation)并不是很有效,从而降低了它们的姿态估计精度。为了克服这一点,这些方法倾向于使用后细化机制( post-refinement mechanism)或假设生成/检验机制(hypotheses generation/verification...
cover
2020-10-12
Keras中关于模型的trainable状态的问题
提出问题在看GAN的实现代码的时候,发现了这么一个地方: 123456789101112131415161718192021222324252627282930313233class GAN(): def __init__(self): self.img_rows = 28 self.img_cols = 28 self.channels = 1 self.img_shape = (self.img_rows, self.img_cols, self.channels) self.latent_dim = 100 optimizer = Adam(0.0002, 0.5) # Build and compile the discriminator self.discriminator = self.build_discriminator() ...
cover
2020-08-16
LSTM
可以把 lstm的memory看做一个neural LSTM的解释图: 一个neural的工作过程 有点RNN的味道了 真正的LSTM
公告
本站内容的最终版本将发布在微信公众号[南极Python]
最新文章
从零开始实现YOLOv3
从零开始实现YOLOv32025-05-13
从零开始实现YOLOv1
从零开始实现YOLOv12025-05-13
轻量级大语言模型MiniMind源码解读(一):如何从头训练tokenizer ?
轻量级大语言模型MiniMind源码解读(一):如何从头训练tokenizer ?2025-05-10
LLM指令微调:训练一个人工智能助手-大模型炼丹术(八)
LLM指令微调:训练一个人工智能助手-大模型炼丹术(八)2025-04-10
LLM微调:训练一个垃圾邮件分类器-大模型炼丹术(七)
LLM微调:训练一个垃圾邮件分类器-大模型炼丹术(七)2025-03-23
©2025 By Fuhanshi