总变差正则化(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*****

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

相关推荐
测试员周周2 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
K姐研究社4 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu5 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
传说故事5 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信6 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区6 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
weixin_446260856 小时前
[特殊字符] 视觉Transformer (ViT) 原理及性能突破:从CNN到大规模自注意力机制的迁移
深度学习·cnn·transformer
小a彤6 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer
前端若水6 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Upsy-Daisy6 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习