超球损失函数

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

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

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

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

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

  • 传统Softmax损失

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

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

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

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

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

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

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

该函数的作用:

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

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

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

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

相关推荐
stereohomology17 分钟前
Kimi K3编程实力远超GLM5.2:一个Trae复赛证据
人工智能·大模型·对比·why不coding
阳光是sunny30 分钟前
LangGraph实战教程:状态管理与`graph.invoke`入参深度解析
前端·人工智能·后端
老猿AI洞察32 分钟前
7月25日热点:马斯克说中国AI有望成为全球领导者,这次不是客套话
大数据·人工智能
AI_小站37 分钟前
Loop Engineering又是啥?一文讲清企业Agent落地的四层工程进化论
java·人工智能·架构·prompt·大模型开发·智能体·大模型应用
BEOL贝尔科技38 分钟前
还在担心样本的安全吗?如何制定有效的温湿度异常应急预案?
人工智能·安全
科技之门44 分钟前
百公里管网漏损分级定位实战方案2026
前端·人工智能·算法
火山引擎开发者社区44 分钟前
LLM Space 开源!任意组装 loop、tools、skills,顺手无痛“蒸馏” Kimi-K3
人工智能
zhishidi1 小时前
深度学习中的优化器
人工智能·深度学习
糖果店的幽灵1 小时前
2026 年最强Obsidian保姆级教程,10分钟打造你的第二大脑
人工智能·langgraph