恒源云(GPUSHARE)_社区产出大拿的论文小记(Flooding-X)

文章来源 | 恒源云社区

原文地址 | Flooding-X: 超参数无关的 Flooding 方法

原文作者 | Mathor


所谓大佬,就是只要你肯挖,总有你不知道的知识点在某个地方等着你来学习!
往下看,这不就来了吗!

正文开始:

ICML2020的论文《Do We Need Zero Training Loss After Achieving Zero Training Error?》提出了一种Flooding方法,用于缓解模型过拟合,详情可以看我的文章《我们真的需要把训练集的损失降到零吗?》。这里简单过一下,论文提出了一个超参数 b b b,并将损失函数改写为

其中, b b b是预先设定的阈值,当 L ( θ ) \mathcal{L}(\boldsymbol\theta) L(θ) > b b b L ~ ( θ ) = L ( θ ) \tilde{\mathcal{L}}(\boldsymbol\theta)=\mathcal{L}(\boldsymbol\theta) L~(θ)=L(θ),这时就是执行普通的梯度下降;而 L ( θ ) \mathcal{L}(\boldsymbol\theta) L(θ)< b b b L ~ ( θ ) \tilde{\mathcal{L}}{(\boldsymbol\theta)} L~(θ)=2 b b b- L ( θ ) \mathcal{L}(\boldsymbol\theta) L(θ),注意到损失函数变号了,所以这时候是梯度上升。因此,总的来说就是以 b b b为阈值,低于阈值时反而希望损失函数变大。论文把这个改动称为Flooding

这样做有什么效果呢?论文显示,在某些任务中,训练集的损失函数经过这样处理后,验证集的损失能出现 “二次下降(Double Descent)”,如下图

我们可以假设梯度先下降一步后上升一步,学习率为 ε \varepsilon ε,通过泰勒展开可以得到

其中, θ n \boldsymbol{\theta}_{n} θn表示第 n n n次迭代的参数, g ( θ n − 1 ) = ∇ θ L ( θ n − 1 ) g(\boldsymbol{\theta}_{n-1})=\nabla_{\boldsymbol{\theta}}\mathcal{L}(\boldsymbol{\theta}_{n-1}) g(θn1)=θL(θn1)表示损失对参数 θ n − 1 \boldsymbol{\theta}_{n-1} θn1的梯度。式(2)的结果相当于以 ε 2 2 \frac{\varepsilon^2}{2} 2ε2为学习率、损失函数为梯度惩罚 ∣ g ( θ ) ∣ ∣ 2 = ∣ ∣ ∇ θ L ( θ ) ∣ ∣ 2 ∣ |g(\boldsymbol{\theta})||^2=||\nabla_{\boldsymbol{\theta}}\mathcal{L}(\boldsymbol{\theta})||^2∣ g(θ)2=θL(θ)2 的梯度下降

详细的推导过程见《我们真的需要把训练集的损失降到零吗?》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值