超球损失函数

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

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

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

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

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

  • 传统Softmax损失

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

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

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

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

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

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

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

该函数的作用:

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

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

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

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

相关推荐
那个村的李富贵13 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
腾讯云开发者15 小时前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR15 小时前
每周AI论文速递(260202-260206)
人工智能
hopsky15 小时前
大模型生成PPT的技术原理
人工智能
禁默16 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切16 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒16 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站17 小时前
Clawdbot(现名Moltbot)-现状分析
人工智能
那个村的李富贵17 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
二十雨辰17 小时前
[python]-AI大模型
开发语言·人工智能·python