超球损失函数

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

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

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

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

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

  • 传统Softmax损失

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

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

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

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

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

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

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

该函数的作用:

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

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

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

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

相关推荐
牛奶还是纯的好6 分钟前
双目测距实战4-自标定
人工智能·3d视觉
亚马逊云开发者17 分钟前
基于Redshift MCP Server+Strands Agents SDK+Bedrock AgentCore Runtime实现Agentic
人工智能
机器之心22 分钟前
三百年几何猜想被推翻,数学家首次发现「穿不过去」的多面体
人工智能·openai
技术闲聊DD1 小时前
深度学习(15)-PyTorch torch.nn 参考手册
人工智能·pytorch·深度学习
缘友一世1 小时前
LLama 3分组查询注意力与KV缓存机制
人工智能·深度学习·缓存·transformer·llama·gqa·kv缓存
说私域1 小时前
开源AI智能客服、AI智能名片与S2B2C商城小程序融合下的商家客服能力提升策略研究
人工智能·小程序
IT古董1 小时前
【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(2)理解粗排模型之离线部分:双塔模型结构精讲及实现
人工智能·算法·计算机视觉
AI小云1 小时前
【Python高级编程】类属性与类方法
人工智能·python
Chef_Chen1 小时前
数据科学每日总结--Day4--数据挖掘
人工智能·数据挖掘
lxmyzzs1 小时前
【图像算法 - 31】基于深度学习的太阳能板缺陷检测系统:YOLOv12 + UI界面 + 数据集实现
人工智能·深度学习·算法·yolo·缺陷检测