关注上方深度学习技术前沿”,选择“星标公众号”

精选文章,第一时间送达!

作者:Hassassin

知乎链接:https://zhuanlan.zhihu.com/p/121507249

本文仅供学习参考,如有侵权,请联系删除!

只需要一行代码,立刻提升迁移性能。

这就是我们出的新方法:批量核范数最大化(Batch Nuclear-norm Maximization)。

本文中我们通过理论推导和分析,发现类别预测的判别性与多样性同时指向批量响应矩阵的核范数,这样就可以最大化批量核范数来提高迁移问题中目标域的性能。

在迁移任务中,目标域由于没有标签,常常导致分界面附近混淆较多的数据。而我们基于这一现象,分析了批量类别响应组成的批量矩阵A,并希望从判别性和迁移性进行优化。

判别性

所谓判别性,指的是预测类别的过程是否坚定。比如对于二类问题的响应

  • [0.9,0.1]判别性较高,

  • [0.6,0.4]判别性较低。

常见的方法采用最小化熵来得到较高的判别性。我们发现矩阵A的F范数与熵有着相反的单调性,从而可以通过最大化A的F范数来提升判别性。

多样性

多样性可以近似表达为批量矩阵中预测的类别数量,即预测的类别数量多则响应多样性大。

考虑不同类别响应的线性相关性,如果两个响应属于不同类别,那么响应会差别较大线性无关,如果属于相同类别则近似线性相关。

  • [0.9,0.1]与[0.1,0.9]线性无关,

  • [0.9,0.1]与[0.8,0.2]近似线性相关。

那么预测类别数也就是矩阵中最大的线性无关向量数,即矩阵的秩。

BNM

核范数是矩阵奇异值的和,在数学上有两点结论

  • 核范数与F范数相互限制界限,

  • 核范数是矩阵秩的凸近似。

所以类别预测的判别性与多样性同时指向矩阵的核范数,我们可以最大化矩阵核范数(BNM)来提升预测的性能。

比如上图中,如果使用熵最小化(EntMin)和BNM来优化,当熵相同的时候,使用BNM优化更容易使得核范数更大,从而正确预测绵羊的样本(保障类别比重较少的数据有利于提高整体的多样性)

实现

在常用的框架Pytorch与Tensorflow中,均可通过一行代码实现BNM

Pytorch:

L_BNM = -torch.norm(A,'nuc')

Tensorflow:

L_BNM = -tf.reduce_sum(tf.svd(A, compute_uv=False))

应用

我们将BNM应用到三个标签不足的场景中,半监督学习,领域适应和开放域物体识别。实验表明,在半监督学习中可以提升现有方法,在领域适应中BNM约束明显优于EntMin,并且单一的BNM约束可以达到与现有方法相近的性能,如下图:

在开放域物体识别中单一的BNM约束超过有着冗杂损失函数的UODTN,达到SOTA性能,如下图:

同时在开放域物体识别中,我们统计了随机采样的批量响应中未知类所占比例,如图:

我们发现BNM确实可以保持未知类所占比例,从而保障整体预测的类别数量与准确性,从而保持多样性。

值得一提的是,我们的方法主要针对的是缺少标签场景下分界面附近数据密度较大的问题,对于迁移相关的任务有着较为普遍的改善价值。

传送门

  • 论文地址:https://arxiv.org/pdf/2003.12237.pdf

  • 代码地址:https://github.com/cuishuhao/BNM


推荐阅读

(点击标题可跳转阅读)

  • 干货|最全面的卷积神经网络入门教程

  • 史上最强神经网络绘制神器来啦!一系列暗黑操作!

  • 【目标检测系列】CNN中的目标多尺度处理方法

  • 撒花!港中文周博磊--强化学习课程完结(附课件下载!)

  • 【基础积累】1x1卷积到底有哪些用处?

  • 一文详解深度学习中的Normalization:BN/LN/WN

重磅!DLer-计算机视觉交流群已成立!

欢迎各位Cver加入计算机视觉微信交流大群,本群旨在交流图像分类、目标检测、点云/语义分割、目标跟踪、机器视觉、GAN、超分辨率、人脸检测与识别、动作行为/时空/光流/姿态/运动、模型压缩/量化/剪枝、NAS、迁移学习、人体姿态估计等内容。更有真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流等,欢迎加群交流学习!

进群请备注:研究方向+地点+学校/公司+昵称(如图像分类+上海+上交+小明)

广告商、博主请绕道!

???? 长按识别添加,邀请您进群!

【CVPR2020 Oral】只需一行代码就可提升迁移性能相关推荐

  1. python实现英文新闻摘要自动提取_利用Python实现摘要自动提取,完美瘦身只需一行代码...

    原标题:利用Python实现摘要自动提取,完美瘦身只需一行代码 今天给大家推荐一个也可以用于关键字提取的算法TextRank,但主要实现的功能是快速从长篇新闻中抽取精准摘要. 前言介绍 TextRan ...

  2. 实现一个在JNI中调用Java对象的工具类,从此只需一行代码

    前言 我们知道在jni中执行一个java函数需要调用几行代码才行,如 jclass objClass = (*env).GetObjectClass(obj); jmethodID methodID ...

  3. [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版

    前天熬了大半宿发了一篇[一行代码轻松搞定快捷留言功能],同时发布了V1.0beta版的快捷留言功能和源代码,之所以是beta版,就是当时感觉虽然基本功能有了,但是还不够完善,特性也不一定合理,今天不知 ...

  4. 【Python】Modin,只需一行代码加速你的Pandas

    本文翻译自:Shrivarsheni的博客 Modin是一个Python第三方库,可以通过并行来处理大数据集.它的语法和pandas非常相似,因其出色的性能,能弥补Pandas在处理大数据上的缺陷. ...

  5. 只需一行代码实现增删查改,微软已经让我们很简单。谈AccessDataSource的使用。...

    这是一个很简单的内容.日常我们总腻烦做增删查改这样的重复性的劳动,如果你的项目不是太大,如果你的团队很小,或许就是你一个人,那么就完全可以参考以下这样简单的方式.微软已经给我们做了.我们只要写一行代码 ...

  6. [JavaScript]只需一行代码,轻松搞定快捷留言功能

    快捷留言功能,就是您现在看到在右侧浮动的那个小玩意,通过它可以直接提交留言并推荐,您想在博客里加上这个功能吗? 别急,方法非常简单,还是先听我说说它的来历吧... 最开始,快捷留言这个功能要追溯到发表 ...

  7. 模型秒变API只需一行代码,支持TensorFlow等框架

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转自机器之心 参与:一鸣.杜伟 还在为机器学习模型打包成 API 发愁?这个工具能让你一行代码直接打包. 专注于机器学习应用的人们知道,从训练好的模 ...

  8. vscode代码提示只显示一行_模型秒变API只需一行代码,支持TensorFlow等框架

    选自GitHub 机器之心编译参与:一鸣.杜伟 还在为机器学习模型打包成 API 发愁?这个工具能让你一行代码直接打包. 专注于机器学习应用的人们知道,从训练好的模型到实际的工业生产工具还有一定的距离 ...

  9. MIX2 适配看这一篇就够了,18:9 只需一行代码

    今天同事已经拿到 MIX2 了(F码通道,想要的可以找我哦),但是app 的状态栏适配不够好,空出很大一块出来. 直接上代码 <applicationandroid:resizeableActi ...

最新文章

  1. PHP Apache shutdown unexpectedly启动错误解释及解决的方法
  2. HDU 3934 Summer holiday(凸包内接最大三角形)
  3. 利用tensorflow语法实现线性回归
  4. AI:IPPR的数学表示-CNN基本结构分析( Conv层、Pooling层、FCN层/softmax层)
  5. C#正在被人用来做什么?--在CSDN上引发小讨论的帖子
  6. 大数据_Flink_Java版_数据处理_流处理API_Transform(3)_Reduce聚合算子---Flink工作笔记0031
  7. UnrealEngine4和3DMax的配合_准备资源
  8. [转载] application/json 四种常见的 POST 提交数据方式
  9. L2-008. 最长对称子串
  10. EditText属性简单描述
  11. ptt评论量子计算机,PTT网友热议Nuguri替补:打野下路状态都拉跨不换,先换上路??...
  12. 计算机音乐演奏jojo,【FF14】诗人演奏用 il vento d'oro(动画《JOJO的奇妙冒险 黄金之风》插曲)...
  13. 微信怎么录屏聊天记录?这两个方法值得收藏!
  14. 使用 SHAP库 对模型预测作解释
  15. 如何使windows系统环境变量的改变即时生效
  16. Python软件编程等级考试四级——20211205
  17. NYOJ283对称排序
  18. NO.1—Python安装与环境配置
  19. 【HTML作业】HTML登录界面
  20. 中小企业如何搭建数据可视化平台

热门文章

  1. CCNA课堂练习二:路由协议EIGRP简单介绍与配置
  2. iAD靠什么吸引用户打开这个应用?
  3. java连连看(GUI)
  4. 机器学习中的数学全集 tsinghua 石溪
  5. tomcat中conf/server.xml配置线程池不生效的问题注意添加线程池节点executor后要在connector中增加executor属性
  6. 2020十大热门机器学习项目
  7. pom.xml中spring-boot-starter-test包的使用
  8. HMM中文分词分析 知乎
  9. fusion 360安装程序的多个实例正在同时运行。_SpringMVC运行原理
  10. 各方评论《面向儿童的人工智能北京共识》:这是中国人工智能发展轨迹中的一份关键文件...