损失函数(以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往右下方拉取

相关推荐
Easy_API6 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
代码山河6 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
释厄6237 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
TMedical9 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗
小嘉丶学长11 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白11 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Angeldream12312 小时前
第 10 章 医学影像伦理与安全
图像处理·人工智能·python·安全·机器学习·医学影像
智购科技自动售货机厂家14 小时前
让AI经营自动售货机:从Project Vend看工具权限与业务规则~YH
大数据·服务器·单片机·嵌入式硬件·深度学习
adinnet202615 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
用户0807759078515 小时前
第三方并行库"静默算错":一次 ring attention 的排查记录
深度学习