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

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

相关推荐
阿里云大数据AI技术1 分钟前
EMR Serverless StarRocks × Lance:多模态分析与检索的云上实践
人工智能
SelectDB35 分钟前
数据不能出境的数仓选型与迁移落地:四问框架、可复算成本与迁移三段式
人工智能
李青菜42 分钟前
一个人 + AI,用 Tauri 2 和 Rust 写了个开源的 Windows 效率工具:提醒 + 笔记 + 启动器
人工智能
泯泷1 小时前
做 AI 产品,路线图该数“实验”,而不是数“功能”
人工智能·llm·产品
百度Geek说1 小时前
AI 内容核查怎么做:智能内容 AI 核查系统实践
人工智能
武子康1 小时前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
人工智能·算法·机器学习
落798.2 小时前
《启元 PrimeSim 如何用生成视频评估机器人策略》
人工智能·机器人·启元·具身应用
老纪的技术唠嗑局2 小时前
token 暴降75%!减少长程 Agent 任务中的重复开销,PowerContext v1.5.0 发布
人工智能
智塑未来2 小时前
明源云AI走播机器人,打造智能直播新体验
人工智能·机器人
brave10252 小时前
LLMGuide 大模型面试指南
人工智能·ai·面试·ai编程