总变差正则化(TV Loss)的思考

最近我在重构一维时序信号发现一种情况:重构信号的首尾边缘会出现毛刺,我只使用 L1 损失,为了解决我想到了差分可以反应梯度变化,所以打算约束梯度的变化实现去噪。

查资料发现这一思路叫做:TV Loss ,作用是惩罚相邻点的绝对差异,强制信号局部平滑:

python 复制代码
def tv_loss_1d(x):
    # x: (batch, channels, length)
    return torch.mean(torch.abs(x[:, :, 1:] - x[:, :, :-1]))

但是实际上的效果:

由于我发现这个毛刺只存在于边缘,因此我只在边缘处施加了这种损失,但结果如同所示。经过我的思考,我意识到这个损失函数的设计思路是:只要梯度不为零就有惩罚,最优解是全零梯度(直线),这与真实边缘冲突。

其次还有一个原因,L1 Loss不足以对抗TV Loss,我的重构目标,经过标准化其幅值较低,在最初我将TV Loss的权重设计为0.5,后期调整至0.2,都无法阻止其不输出直线。原因就在于L1损失处理这种信号时,损失值普遍非常低,而通过差分,这个梯度很大。

最后我的思路是,不在惩罚输出信号的梯度,而是惩罚输出和目标的梯度差异。

*****END*****

本次只是分享个调参思路,祝大家五一节快乐。

相关推荐
IT_陈寒3 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
阿里云大数据AI技术5 小时前
构建高转化海外电商搜索:阿里云OpenSearch行业算法版的全链路智能优化策略实战
人工智能·搜索引擎
Awu12275 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
字节跳动视频云技术团队5 小时前
让 Agent 成为音视频工作台:AI MediaKit CLI + Skill 发布
人工智能·音视频开发
魏祖潇5 小时前
framework 整合实战——DDD/TDD/SDD 三件套在 framework 仓的真实落地
人工智能·后端
Token炼金师6 小时前
去噪扩散:从随机噪声到高保真图像的数学之路
人工智能·aigc
这个DBA有点耶6 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
阿里云大数据AI技术6 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
Larcher7 小时前
从零搭建 MCP 服务——让 AI 拥有无限扩展能力
人工智能·程序员
zzzzzz3107 小时前
你的 AI 写的 React 烂透了?这个 8000+ Star 的开源工具能揪出 90% 的「Agent 屎山」
人工智能