损失函数(以FMTrack频率感知交互与多专家模型的损失为例)

理解了损失函数,你就理解了神经网络是如何"学习"的。

一,损失函数

1. 损失函数(Loss Function)是用来干什么的?

损失函数就像是神经网络的**"严师"**。

在训练阶段,神经网络每看一张图片,就会给出一个预测结果(比如它认为目标在左上角)。但实际上,我们知道目标在中心(这是"真值"或"标签")。

  • 计算差距 :损失函数通过数学公式计算"预测值"和"真值"之间的差距
  • 指引方向:神经网络的目标是让这个差距(即损失值)尽可能接近于 0。
  • 反馈修正:模型通过一种叫"反向传播"的机制,根据损失函数给出的反馈,去调整自己内部的参数。如果损失很大,它就知道自己"错得厉害",需要大幅调整;如果损失很小,它就微调。

总结:损失函数是衡量模型错误程度的指标,也是驱动模型进化的唯一动力。

2. 为什么要叠加(相加)这些损失?

你可以把目标跟踪任务想象成一个**"多项全能比赛"**。要成为优秀的选手,模型必须同时做好以下几件事:

  1. 分类任务(找得到):模型得知道哪里是猫,哪里是背景。
  2. 回归任务(框得准):模型得精确画出猫的边界。

为什么要加在一起? 如果只用分类损失(L_{cls}),模型可能会告诉你"目标就在这一块区域",但它不在乎框画得圆不圆、正不正。 如果只用回归损失(L_1, L_{GIoU}),模型可能会把背景里的石头框得非常精美,因为它根本没去学怎么区分目标和背景。

通过加法叠加,我们是在告诉模型:

"我要求你不仅要找准目标的位置(分类对),还要把框画得严丝合缝(回归准)。这两项考核你都得及格,总分才高。"

3. 如何理解叠加后的权重?

公式是:L = L_{cls} + 5 L_1 + 2L_{GIoU}

这里的系数(5 和 2)代表了优先级

  • 如果你把 L_1$的系数设为 5,说明你觉得"框得准不准"比"分得对不对"重要 5 倍。
  • 平衡量纲:不同的损失函数计算出来的数值级数可能不同(比如分类损失通常很小,回归损失可能很大)。加权系数可以平衡这些数值,防止某个损失项"霸凌"其他项,导致模型只顾着优化其中一个。

4. 形象的类比:学射箭

假设你正在教一个机器人学射箭,你要写一个"损失函数":

  1. 姿势损失 (L_{pose}):如果你姿势不对,扣 10 分。
  2. 环数损失 (L_{ring}):如果你没射中红心,差 1 环扣 50 分。
  • 为什么要叠加? 因为你既希望它射得准,又希望它动作规范(有利于长期表现)。
  • 损失函数的作用:机器人每射一箭,就根据总扣分去调整机械臂的角度。
  • 结果:随着训练次数增加,扣分越来越少,机器人既掌握了标准姿势,又能百步穿杨。

二,FMTrack损失函数

(一)训练损失函数

损失函数前一项是分类损失,用于区分目标和背景;后两项代表回归损失,用于精确框选目标。

计算机视觉里面的Loss命名法则

回归函数分为两项,是为了能够让生成的预测框动态覆盖尺度不同的跟踪目标。

(二)目标粗定位

论文中介绍了三种M的尺寸。

(三)目标细定位

M的尺寸

x,y,w,h的含义

如何确定矩形框

w,h是相对于x,y往右下方拉取

相关推荐
敏叔V5878 分钟前
AI智能体的工具学习进阶:零样本API理解与调用
人工智能·学习
2501_9418649629 分钟前
科学方法论破解学习时间堆砌误区
学习
饭饭大王6661 小时前
当 AI 系统开始“自省”——在 `ops-transformer` 中嵌入元认知能力
人工智能·深度学习·transformer
TechWJ1 小时前
CANN ops-nn神经网络算子库技术剖析:NPU加速的基石
人工智能·深度学习·神经网络·cann·ops-nn
心疼你的一切1 小时前
拆解 CANN 仓库:实现 AIGC 文本生成昇腾端部署
数据仓库·深度学习·aigc·cann
哈__1 小时前
CANN加速图神经网络GNN推理:消息传递与聚合优化
人工智能·深度学习·神经网络
User_芊芊君子1 小时前
CANN_MetaDef图定义框架全解析为AI模型构建灵活高效的计算图表示
人工智能·深度学习·神经网络
1024小神1 小时前
SVG标签中path路径参数学习
学习
哈哈你是真的厉害2 小时前
驾驭万亿参数 MoE:深度剖析 CANN ops-transformer 算子库的“核武库”
人工智能·深度学习·aigc·transformer
浅念-2 小时前
C++入门(2)
开发语言·c++·经验分享·笔记·学习