当前位置:网站首页>粗读Targeted Supervised Contrastive Learning for Long-Tailed Recognition
粗读Targeted Supervised Contrastive Learning for Long-Tailed Recognition
2022-06-21 18:28:00 【格里芬阀门工】
相比于直接对图像进行分类,本文更关注特征提取部分,通过令提取的不同类特征在超球面上尽可能远离,让属于同一类的特征尽可能靠近,来提高模型面对样本不平衡时的分类性能。

这是本文的方法和效果示意图。第一行的KCL是之前的方法,TSC为本文方法。之前的方法在面对极端的样本不平衡时,训练图像多的类会挤占训练图像少的类,让小样本的类之间的特征混在一起,导致分类准确率下降,而本文方法面对极端不平衡时依然可以保持不同类的中心尽可能远离。

上图是流程示意图,模型主要分为两步,第一步,根据类的数量,在超球体上确定多个锚点,锚点数量等于类别数,每个锚点要尽可能远离其他锚点。
作者原本想让每个锚点的分布达到最优,但发现这是个NP问题,于是退而求其次,通过最小化下面这个公式达到近似最优的结果

可以看到,公式基本就是计算每个类和其他类的相似度,log和再求和。之所以两个向量点积就能求相似度,个人理解是如果每一位数字相同时,就是多个数的平方和,即点积结果是a^2+b^2+...
如果数字不同,就可以看作是原来的数字加了个数减了个数相乘,即可以看作是(a+x)(a-x)+(b+y)(b-y),结果当然会变小。虽然在极端情况下,a^2小于(b+x)(b-x)是有可能的,如a=3而b=100,x=1。但本文锚点位于超球体上,且是多个点之间互相计算,所以不用担心最小化这个函数会导致某对点从相隔甚远变得十分靠近。
第二步,得到几个中心后,就要将不同的类分配给不同的中心,如果是简单的随机分配,语义特征相似的类可能会分得特别开,例如猫和狗语义特征相似,但分得的锚点却可能位于超球体两端,这样让模型更加迷茫,不知道如何提取特征。
于是作者在每一轮训练结束后,即每张训练集图片喂给模型完毕后,计算每个类的中心,通过匈牙利算法,将类与锚点进行配对。
分配完毕后,计算下面的损失函数,然后指导模型更新参数。

其中,N为一个batch的大小,V为该batch全部图像,vi为图像xi提取出来的特征,
是排除了vi后的其他所有图像,
是除了vi之外其余的与vi为同一类的图像集合,U是所有锚点t的集合,而ci则是vi分得的锚点。
按照前面的理论,两个向量点积越大,就可近乎地看作相似度越高。于是前半段是让同一类的特征尽可能靠近,而后一段则是让每个点尽可能靠近自己分得的锚点,远离其他锚点和其他类的特征。
边栏推荐
- linux-mysql-命令
- W10 add system environment variable path
- zabbix6.0+timescaledb+企业微信告警
- TensorFlow 2:使用神经网络对Fashion MNIST分类并进行比较分析
- How to temporarily modify samesite=none and secure in Chrome browser
- 【CVPR2022】CMU《多模态机器学习》教程,200+页阐述表示、对齐、推理、迁移、生成与量化六大挑战的多模态学习系统知识
- 日常开发常用工具提升效率
- 医疗费用清单秒速录入,OCR识别助力效率倍增
- QT creator 7.0 frequently asked questions and common usage
- Implementation of assembly language greedy snake and Tetris dual task design (II) -- detailed design of greedy snake
猜你喜欢

如何在Chrome浏览器中模拟请求或修改请求的域名

RestTemplate多个认证信息Authorization问题

剑指 Offer II 029. 排序的循环链表

Datagear uses coordinate mapping table to make geographic coordinate data visualization Kanban

Comment MySQL additionne les colonnes

【ICML2022】CtrlFormer: 通过Transformer学习视觉控制的可迁移状态表示

Kubernetes 跨 StorageClass 迁移 Persistent Volumes 完全指南

zabbix6.0+timescaledb+企业微信告警

mysql如何对列求和

如何在Chrome浏览器中临时修改SameSite=None和Secure
随机推荐
Gradle下载与安装配置
自定义代码模板
mysql如何對列求和
RPA财务流程自动化 | 浦发集团携手云扩科技加速财务数字化运营
Medical expense list can be entered at a second speed, and OCR recognition can help double the efficiency
机器学习之聚类和降维与度量技术
【力扣10天SQL入门】Day1
gorm数据库是否需要设置外键
【时序预测完整教程】以气温预测为例说明论文组成及PyTorch代码管道构建
Write down some pat topics (I)
QT creator 7.0 frequently asked questions and common usage
508. Most Frequent Subtree Sum
mysql中有没有关键字
Jupyter notebook compiles ipynb files into latex and then converts them into PDF
[high frequency interview questions] difficulty 1/5, popular enumeration simulation questions
尚硅谷 尚硅谷 | 什么是ClickHouse表引擎 Memory和Merge
Cloudcompare & PCL point cloud AABB bounding box
SQL operation: with expression and its application
Assembly language greedy snake and Tetris dual task design implementation details (III) -- Tetris detailed design
API interface for discharge summary identification - medical bill OCR identification / discharge diagnosis record / electronic medical record / claim settlement service