超球损失函数

核心思想:把分类问题转换为一个几何空间中的特征分布问题。它不是直接学习一个决策边界来区分类别,而是学习一个映射函数,使得所有数据样本的特征向量都被映射到一个超球面上,并且满足:

  1. 类内紧凑:同一类别的样本特征在球面上聚集得非常紧密。

  2. 类间分离:不同类别的样本特征在球面上被尽可能地推远。

超球指的就是高维空间,在机器学习中,特征空间通常是几百甚至几千维。所有学习到的特征向量都被归一化到固定的长度,因此他们的端点都分布在一个点,固定长度为半径的球面上

函数对比,该函数工作原理

  • 传统Softmax损失

    • 最后一个全连接层的作用像一个线性分类器 。它为每个类别学习一个权重向量(可以看作一个"模板"或"原型")。

    • 损失函数鼓励样本的特征向量与其真实类别的权重向量点积(相似度)最大,与其他类别的点积最小。

    • 问题:在存在偏差或类别不平衡的数据上,学到的决策边界可能会有偏差,模型会过于偏向样本多的类别。特征在空间中的分布可能是任意的扇形。

  • 超球损失函数(如SphereFace, CosFace, ArcFace)

    • 第一步:归一化 。它对权重向量和特征向量都进行L2归一化 ,将它们全部映射到超球面上。这意味着所有向量都被压缩到球面,比较它们之间的相似度只需要看它们之间的角度

    • 第二步:基于角度的间隔最大化 。损失函数不再直接优化点积,而是优化特征向量与权重向量之间的角度 。它引入一个几何间隔 (margin) ,让同类样本之间的角度尽可能小,异类样本之间的角度不仅要大,还要大于一个预设的间隔值 m

    • 效果:这样学到的特征分布会非常清晰:类内方差极小,类间方差极大,并且决策边界在角度空间中是均匀的。

该函数的作用:

  1. 消除模长影响:通过归一化,特征的有效性只由其方向(角度)决定,剥离了无意义的模长信息,使特征分布更纯粹,减轻了预训练特征分布的偏差。

  2. 学习更公正的决策边界 :在超球面上,由于引入了角度间隔,决策边界对于所有类别都更加公平清晰。这迫使模型不去依赖预训练数据中的偏见,而是真正去学习新任务中不同类别之间的本质区别(即角度差异)。

  3. 提升泛化能力:这种在角度空间中间隔最大化的特性,通常能学到泛化能力更强的特征,特别适合少样本或类别不平衡的场景。

  4. 用于解决类别不平衡 (Class Imbalance)领域适应 (Domain Adaptation) 问题。

相关推荐
XM_jhxx2 小时前
±0.03mm的精度怎么保证?翌东塑胶用AI赋能质量管控升级
人工智能
阿正的梦工坊2 小时前
深入理解 PyTorch 中的 unsqueeze 操作
人工智能·pytorch·python
秦歌6664 小时前
DeepAgents框架详解和文件后端
人工智能·langchain
测试员周周5 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
霸道流氓气质5 小时前
基于 Milvus Lite 的 Spring AI RAG 向量库实践方案与示例
人工智能·spring·milvus
ar01235 小时前
AR巡检平台:构筑智能巡检新模式的数字化引擎
人工智能·ar
语音之家5 小时前
【预讲会征集】ACL 2026 论文预讲会
人工智能·论文·acl
碳基硅坊5 小时前
电商场景下的商品自动识别与辅助上架
人工智能
熊猫钓鱼>_>5 小时前
强化学习与决策优化:从理论到工程落地的完整指南
人工智能·llm·强化学习·rl·马尔可夫·mdp·决策过程