Deep Transfer Learning for Multiple Class Novelty Detection论文阅读笔记

这篇文章是cvpr2019的一篇新奇检测的文章,使用迁移学习的方法,用于混合类别的新奇检测问题。这篇文章提出了一种基于端到端深度学习的方法,研究如何利用外部的、非分布的数据集来提高深度网络视觉新奇检测的性能。这篇文章的创新点主要有两个方面,第一是在训练过程中除了使用常见的交叉熵损失函数等损失函数外,新设计了一个membership loss来满足我们的需要,第二点是我们使用来自外部数据集的知识更有效地学习全局负过滤器,这个滤波器的功能是对已知类别外的类别进行响应。并通过大量的实验证明了其有效性。

  1. 什么是novelty detection(新奇检测)
    又称异常检测,目的是为了识别出检测过程中没有在训练过程中出现的,或者与训练数据某些方面存在明显差距的数据。它的输出结果也是二类的,即是异常数据或者不是异常数据。
    但是这并不仅仅是二分类学习嘛,其实是存在着明显差异的。首先,二分类的正负或者两类样本在训练过程中是等权重的,它的数据结果是针对两类的,是a或者是b;而异常检测针对的是异常数据检测,畸变的数据,或者负样本没法采集这样的情况,它的训练数据只有大量的正样本,所以它的输出模式为是a或者不是a。而这个不是a包括了二分类的是b,但是远远不止b这一种结果。
    而且,在实践中,关于未知类的知识并非完全缺失。给定来自某个问题域的一组已知类,通常来自同一问题域的未知类数据是不可用的。然而,在某些情况下,可以从不同的问题域(我们称之为分布外的样本)获取已知类之外的数据。例如,对于犬种识别应用程序,包含对象图像的ImageNet数据集可能被认为是分布外的数据。然而,由于非分布数据来自不同的问题域,它们不能很好地逼近新样本的分布。
  2. 目前迁移学习在novelty detection中的应用
    1.特征提取:采用传统的基于微调特征的新颖检测技术。
    2.微调:网络首先对分布外的数据进行预训练。将训练数据和分布外的数据一起使用。新颖性的确定方法是通过通过设定最终激活分数的阈值来确定,如果没有超过阈值,认为是已有类,否则为新奇类。
    我们注意到,在所有这些基本方法中,在训练过程中都使用了分布外的数据。事实上,任何对预先训练好的/fine-tune操作的新奇检测方法都隐含着对分布外数据的使用。
  3. 正滤波器与负滤波器
    在一个监督学习分类CNN网络中,通过几个卷积层,再通过全连接层,最后通过n(一般n是类别数目)个彼此平行的激活函数层,来表示对应类别的分类可能性。而在novelty detection里,这里最后通过激活函数输出的激活向量,假设其每个向量长度为n,那么设其中k个表示正滤波结果(对于一个给定的类别i,在滤波器组里存在一个ki滤波器(1≤ki≤k),它通常生成正的激活值),这些激活值对保存的图像属于第i类提供了支持性证据,与之相对的就是n-k个为负滤波结果,这些激活值为保存的图像不属于第i类提供了支持性证据。
  4. 深度新奇检测网络
    基于上述背景,提出使用CNN框架学习已知对象类的分布,目的是进行联合分类和新奇性检测。在本文提出的公式中,假设每一个已知类均有一个独特的类标签。并最终激活向量f对已知类的概率分布向量进行建模。一般地,对于一个数据对(xi,yi),针对xi,有yi=1,而yj=0。这样在训练以后,argmaxf学习到的就是最可能的类别。为了学习一种适合于所述目标的表示方法,使用传统的分类网络作为本文的基础,并提出以下两项改进。
    1.使用menbership loss, 假设每个已知类都有一个唯一的单标签,如果观察到的图像来自一个已知类,那么f中只应该出现一个正激活。当使用交叉熵损失时,情况并非如此。为了缓解这种情况,在交叉熵损失的基础上引入了一种新的损失,称为隶属度损失(membership loss)。
    2.全局负滤波器,在实际训练中,对于某一类而言的负滤波器也可能是对其他类别的正滤波器。但是实际上对新奇类而言,正滤波的可能性是不存在的,因为新奇类并不属于任何已知类,所以使用全局负滤波器来降低新奇样本获得高激活分数的可能性。
  5. 交叉熵损失函数的不足之处
    在交叉熵损失函数的训练过程中,通过最小化交叉熵损失之和来实现训练,但是实际上非对应类的交叉熵损失也很小,再将整体交叉熵损失降低的时候,对应类别的交叉熵损失变小,不对应类的交叉熵本身就很小,几乎无变化,在经过一段时间训练后,对应类的交叉熵很小,但是比不对应类的交叉熵大,即其通过激活函数输出的可能性依然是最大的,但是相对不对应类别的可能性相差不大。对于传统分类问题,只要找到最大可能性类别即可,但是在基于阈值的新奇性检测中,这就带来了一个问题,因为阳性类的分数低会导致假阴性。其次,只要正确的类产生最高的激活度,交叉熵损失就不会对无关类的激活产生不利影响。因此使用membership loss来处理这一问题。
  6. membership loss的设计
    首先获取对于每个样本对应到第i类的可能性是
    在这里插入图片描述
    这里f(x)是激活函数层之前的激活函数得分值,再通过sigmoid函数转化为0-1上,这样得到的值就是对于这个样本取到第i个类别的可能性。理想情形下,如果i=y的话,f(x)=1,否则为0。我们将高得分却错误分类(f(x) = 1对应i ≠ y)的关联风险表示为RW1,将低得分与正确分类(f(x)i = 0对应i = y)的关联风险表示为RC0。我们将损失函数LM定义为分类风险为
    在这里插入图片描述
    其中在这里插入图片描述
    引入二次项是为了对非常高的偏差施加严重的惩罚。
    类似的,在这里插入图片描述
    所以,在这里插入图片描述
    这样,在做神经网络的反向传播运算时,其反向传播表达式是
    在这里插入图片描述
    它将每个样本的得分值考虑在内,并赋予绝对意义。因此,当使用membership loss时,不管其他类的分数是多少,都会对产生小激活的已知样本进行惩罚。当成员损失和交叉熵损失一起使用时,通过神经网络学习一个表示,为正确的类生成相对较高的激活分数。
  7. 全局负滤波器
    在一个新的类别样本进入训练好的神经网络后,往往会有比较大的激活函数值,究其原因,是在滤波器族中,正滤波器得分较高,而负滤波器反而响应不高,因此采用全局负滤波器来将负滤波器的响应有意提升,实现对新奇样本的识别。
    为了学习全局负滤波器,提出了一种联合学习网络结构。除了已知的对象数据集外,我们还在训练中使用了分布外的数据样本。神经网络学习到的特征既能学习已知数据集的特征,还能学习分布外数据样本的特征。如果参考数据集有C类,一旦经过训练,过滤器库将包含所有c+C类的正过滤器。与引用数据集关联的过滤器很可能作为已知数据集中所有类的负过滤器,因此全局为负。在这个框架中,如果参考数据集是一个大规模的不同数据集,全局负滤波器很可能对任意的自然图像做出响应。
  8. 模型与训练步骤
    在这里插入图片描述
    1模型训练
    首先选择一个CNN网络作为基本框架(这可以是一个简单网络像Alexnet[9]或非常深/复杂的结构,如DenseNet[8])。使用所选主干的两个并行CNN网络进行训练,如图4(a)所示。这两个并行网络之间唯一的区别是最终的全连接层,其中输出的数量等于两个数据集中存在的类的数量。为了便于讨论,我们将CNN倒数第二层的子网络称为特征提取子网络。初始化时,两个特征提取子网络的权值相同,训练时保持不变。两个并行网络的最后一层分别初始化。这两层的权重是在训练过程中习得的,彼此之间没有任何依赖关系。在训练过程中,考虑两个分别来自两个不同数据集的小型batch(分布外数据样本®和已知类(T)),并将它们分别输入两个分支。我们计算了参考数据集样本的交叉熵损失(Lce),以及已知类样本的隶属度损失(Lm)和交叉熵损失(cross-entropy loss, Lce)。网络的累积损耗就变成了这两种损耗的线性组合,如下所示
    在这里插入图片描述
    两个具有相同结构和权重的并行CNN网络用于从两个数据集中提取特征。我们训练不同的分类器网络在相同的特征上运行,在任意一个数据集中执行分类。在推理过程中,通过阈值化网络底层分支的最大激活度来进行新奇度检测。减少已知类数据集的隶属度损失(membership loss)和交叉熵损失,增加了实现前面小节讨论的分类之外的新颖检测的潜力。
    2.模型测试(新奇检测)
    如图中(b)所示,训练时将测试样本输入训练好的CNN网络,输出一个激活向量f(x),取其中最大值作为输出该样例的得分,该样例的得分与阈值进行比较,若比阈值高就是正常类,反之就是新奇类。

后面做了一些实验,验证其优越性,这里不做赘述。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值