摘要

作者没有对比现有方法的不足,而是直接提出少样本分类可以通过原学习“观察什么”和“注意哪里”的问题提高性能。文章提出里一个自关联模块SCR和一个交叉关联模块CCA,让模型先自我修正,再参照另一幅图像调整注意力范围,并最终优化少样本分类结果。

方法

架构

         架构部分没啥好说的,基本看图就行,SC是自关联信息提取模块,g为四个卷积处理自关联信息,两者一起构成SCR。CC是交叉联信息提取模块,h为两个卷积处理交叉关联信息,两者一起构成CCA,最终输出两张图象分类结果。

不过以要注意的是,输入模型的两张图,一张是已知的支持图像support,一张是需要分类的查询图像query。

SCR

在SCR中,模型计算每个像素与周围像素的哈达玛积,即同尺寸矩阵按位相乘。像素点X处的矩阵为该位置每个通道的数值组成的一维矩阵。之后,确定超参数dU和dV,选取周围的像素相对于X的位移量必须在[-dU,dU]X[-dV,dV]之间。比如令dU=1,X的横坐标为5,那么周边像素可选横坐标范围为[4,6],包括X本身。

因为X处提取出的矩阵大小为1*C,哈达玛积之后依然为1*C。而确定dU和dV后,便可确定X周边可选像素个数为U*V,其中U=2dU+1,V=2dV+1。将这U*V个1*C矩阵合为一体,就是像素点X的周边信息,而一共有H*W个像素点,边缘处的点利用零填充保证其同样可以得到U*V个矩阵,则经过处理后,整个张量尺寸变为H*W*U*V*C。

上面所说的,还只是图中红色模块,真正提取出自关联信息的,主要是下面四个卷积。第一个卷积负责减少通道数,降低计算量,后面两个在U*V维度上进行的3*3卷积将U*V个矩阵的信息综合到一点,并最终通过1*1卷积恢复通道数。最后还有一个残差连接。

CCA

与SCR相似,CCA也是先提取信息,再处理,两者是分开的。第一步通过1*1卷积减少通道数。加下来的计算十分暴力,因为两张图象均为H*W大小,每个像素处有一个1*C'大小的矩阵。模型计算了两张图全部位置的点的相似度,因此计算后的张量大小达到了H*W*H*W*1。

还看不懂的话,就理解为ai与bj计算余弦相似度,a与b均为一维向量,i与j范围均为[1,H*W],每个a分别于每个b做运算,最后得到了H*W*H*W个结果,将这些结果放入四维矩阵,就得到了交叉关联信息。

最后之所以乘1而不是C',是因为SCR计算的是矩阵哈达玛积,结果依然为同规模矩阵,而CCA计算的是余弦相似度,是一个标量。

此时,模型记录的只是任意两点之间的余弦相似度,而查询图像的点与支持图像中哪个像素关系最密切还没算出。此时要通过如下公式计算Aq。

xq为查询图像上一个像素点,xs为支持图像上的像素点。

注意力池化

得到的Aq并不是最终嵌入,想要得到最终嵌入,还需要将Aq与F按H*W的维度相乘,得到一个1*C的嵌入。按H*W是指,对于F来说,任意一个像素点上有C个通道,即C个值,这些值分别与Aq对应位置的值相乘,得到结果。再将同一通道上的H*W个点的数值加到一起,最终得到了C*1的嵌入q。

损失函数

得到q还不够,还要经过一个全连接层得到分类结果。因此第一个损失是分类结果的损失。

w和b分别为分类器的权重和偏移,w为c*1,b为标量。w和c均有|Ctrain|个,即数量为训练集类别数。

在log内,分子一定会出现在分母那一堆数相加之中,所以分子越大,分母中其他数占比越小,整个数越大,但只能趋近于1,到不了1。经过log运算后的值也越从无穷小趋近于0,乘以-1后,就是分子越大,损失函数就从无穷大往0移动。

同时,作者还希望同一个类的嵌入尽可能接近,因此提出了另一个损失函数。假设查询集和支持集各k张图,来自c个类,则计算出两个集中每个类的嵌入的平均值,则损失函数为

最终的损失函数为

k为超参数

消融实验

实验部分懒得讲了,基本就是吹自己,而且确实达到了SOTA,因此直接讲消融实验。

1.SCR和CCA的有无

简洁明了,看图就行

2.SCR模块的设计的影响

这一块看得有点懵,大意是说在SCR中,把求出H*W*U*V*C的张量那一步,替换为求出H*W*U*V*C/G的张量,即把多个通道的数据打包成一组,每组大小为G。当G为1时即为本文方法。由图可知,不把不同通道的结果挤在一起效果最好。就是那个x没看懂啥意思。

3.CCA模块的设计的影响

这个实验中讨论了CCA的有无和h中通道变化对性能的影响。虽然本文方法在CUB上表现更好,但连续两次通道数下降的方法却在mini-ImgNet上表现最佳。

精读Relational Embedding for Few-Shot Classification相关推荐

  1. zero shot classification提取主题词

    基于 NLI 的零镜头文本分类.zero shot classification提出了一种使用预训练的 NLI 模型作为现成的零样本序列分类器的方法.该方法的工作原理是将要分类的序列设置为 NLI 前 ...

  2. ViT论文逐段精读【论文精读】-跟李沐学AI

    视频链接:ViT论文逐段精读[论文精读]_哔哩哔哩_bilibili ViT:过去一年,CV 最有影响力的工作 推翻了 2012 Alexnet 提出的 CNN 在 CV 的统治地位 有足够多的预训练 ...

  3. 论文翻译: Relational Knowledge Distillation

    Relational Knowledge Distillation 这是 CVPR 2019年的一篇文章的译文. 文章链接: Relational Knowledge Distillation 附上G ...

  4. 【ICLR2019】Poster 论文汇总

    ICLR2019 Poster 文章汇总, 共478 papers Convolutional Neural Networks on Non-uniform Geometrical Signals U ...

  5. AAAI-19录用论文清单

    AAAI-19于1月27日在夏威夷召开,今年是33届会议. 会议录用论文清单, workshop16个,tutorials24个. 标题的词云分析: 作者单位词云(按作者人数计算/一篇文章可能有多个作 ...

  6. 2020年 ICLR 国际会议最终接受论文(poster-paper)列表(二)

    来源:AINLPer微信公众号(点击了解一下吧) 编辑: ShuYini 校稿: ShuYini 时间: 2020-02-21     2020年的ICLR会议将于今年的4月26日-4月30日在Mil ...

  7. 【CS224W】(task7)标签传播与节点分类(semi-supervised)

    note 对某一节点的标签进行预测,需要其本身特征.邻居的标签和特征.message passing的假设是图中相似的节点之间会存在链接,也就是相邻节点有标签相同的倾向.这种现象可以用homophil ...

  8. AAAI2020录用论文汇总(一)

    本文汇总了截至2月23日arxiv上上传的所有AAAI2020录用论文,共计629篇,因篇幅过长,分为三部分,分享给大家.    AAAI2020论文汇总(part 1) [1] MA-DST: Mu ...

  9. Learning to Learn:图神经网络上的元学习

    © 作者|田长鑫 机构|中国人民大学信息学院 研究方向 | 图表示学习和推荐系统 来源 | RUC AI Box 图神经网络(GNN)在实际应用中往往会受到可用样本数量太少的限制,而元学习(meta- ...

最新文章

  1. jsp中${}解析不了
  2. php artisan 计划任务,Laravel 定时任务 任务调度 可手动执行
  3. 每日编程-20170326
  4. Kali Linux 安全渗透教程lt;第三更gt;1.2 安全渗透所需工具
  5. 中科院人工智能应用 福玛特550G解析
  6. ios simulator android,How to open IOS Simulator in Android Studio for Flutter application
  7. DBSCAN聚类︱scikit-learn中一种基于密度的聚类方式
  8. PickerView的简单介绍
  9. ios 原子属性atomic加锁性能与锁对比, 不推荐的原因
  10. 南航考研计算机学院学硕分数,2019南航计算机学硕经验贴
  11. 每日excel学习之排序与筛选
  12. grub.exe和grldr的区别和联系
  13. Android 删除图片后刷新媒体库
  14. Dev C++的安装以及基本使用方法
  15. SWUST OJ 77: 计算员工周工资
  16. 自然语言处理 - 二元语法与中文分词
  17. 两个互联网公司的创业故事
  18. python27.dll是系统自带的吗_Windows 10自带6款超强工具!好用又免费!
  19. sql sever数据库出现恢复挂起的解决办法
  20. Windows的此版本即將過期

热门文章

  1. 来客小课堂之短视频平台如何吸引用户?
  2. 超链接target属性的取值和作用
  3. 图片相似度识别算法公式,图片相似度检测算法
  4. 单片机实验-开发板动态显示电路移植
  5. 【云原生】云原生概念
  6. Flutter之事件处理
  7. _CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误
  8. Essentials
  9. Console调试常用用法
  10. Tasker+高德 实现位置轨迹记录,云端存储,链接分享