量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR

【量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR】贾浩楠发自凹非寺量子位报道|公众号QbitAI
在迁移学习任务中 , 一直存在这样的问题:
目标域由于没有标签 , 常常导致分界面附近混淆较多的数据 。
中科院计算所的在读研究生崔书豪等 , 提出了一种新的解决方法:批量核范数最大化(BatchNuclear-normMaximization , BNM) 。
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
在典型的标签不足场景下(如半监督学习等) , BNM可以有效地提升学习效果 。
并且 , 大量实验表明 , BNM的性能要优于目前主流的一些方法 , 并且搭配起来使用 , 效果也很不错 。
这篇论文已被接收为CVPR2020Oral 。
主要思路类别预测的判别性与多样性同时指向批量响应矩阵的核范数 , 这样就可以最大化批量核范数来提高迁移问题中目标域的性能 。
可以通过分析批量类别响应组成的批量矩阵A , 尝试从判别性和迁移性进行优化 。
判别性
所谓判别性 , 指的是预测类别的过程是否坚定 。 比如对于二类问题的响应:1、[0.9,0.1]判别性较高2、[0.6,0.4]判别性较低 。
常见的方法采用最小化熵来得到较高的判别性 。 我们发现矩阵A的F范数与熵有着相反的单调性 , 从而可以通过最大化A的F范数来提升判别性 。
多样性
多样性可以近似表达为批量矩阵中预测的类别数量 , 即预测的类别数量多则响应多样性大 。
考虑不同类别响应的线性相关性 , 如果两个响应属于不同类别 , 那么响应会差别较大线性无关 , 如果属于相同类别则近似线性相关:1、[0.9,0.1]与[0.1,0.9]线性无关2、[0.9,0.1]与[0.8,0.2]近似线性相关 。
那么预测类别数也就是矩阵中最大的线性无关向量数 , 即矩阵的秩 。
BNM
核范数是矩阵奇异值的和 , 在数学上有两点结论:
1、核范数与F范数相互限制界限2、核范数是矩阵秩的凸近似
所以类别预测的判别性与多样性同时指向矩阵的核范数 , 我们可以最大化矩阵核范数(BNM)来提升预测的性能 。
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
比如上图中 , 如果使用熵最小化(EntMin)和BNM来优化 , 当熵相同的时候 , 使用BNM优化更容易使得核范数更大 , 从而预测对拥有较少数量的类别(绵羊) 。
实现
在常用的框架Pytorch与Tensorflow中 , 均可通过一行代码实现BNM 。
Pytorch:
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
TensorFlow:
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
应用
我们将BNM应用到三个标签不足的场景中:半监督学习、领域适应和开放域物体识别 。
实验表明 , 在半监督学习中可以提升现有方法;在领域适应中BNM约束明显优于EntMin , 并且单一的BNM约束可以达到与现有方法相近的性能 , 如下图:
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
在开放域物体识别中单一的BNM约束超过有着冗杂损失函数的UODTN , 达到SOTA性能 , 如下图:
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
同时在开放域物体识别中 , 我们统计了随机采样的批量响应中未知类所占比例 , 如图:
量子位@2020 Oral:一行代码提升迁移性能,中科院计算所研究生一作,CVPR
文章图片
我们发现BNM确实可以保持未知类所占比例 , 从而保障整体预测的类别数量与准确性 , 从而保持多样性 。


推荐阅读