论文阅读:Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks

  本文主要内容为论文《Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks》的学习笔记,内容和图片主要参考 该论文 。在这里我主要记录下自己觉得重要的内容以及一些相关的想法,希望能与大家多多交流~

0. 摘要翻译

  卷积神经网络在大规模视觉识别挑战(ILSVRC2012)的图像分类任务上最近表现杰出。CNN的成功主要归功于它能够学习大量的中层图像,这点恰好与其他图像分类器中的手工设计的特征相反。然而,CNN的学习需要建立数以百万计的参数,并且需要大量已经标注好的图像。这种特性目前阻止了CNN在有限训练集问题上的应用。

  在本文中我们将展示在大规模标记的数据上用CNN学习出的图像表示是如何有效地被迁移到其他视觉识别的任务中。我们设计了一种方法以至于能重新使用在Image net数据集上训练的层来计算PASCAL VOC数据集上图片的中层图像特征。我们的研究表明即使在两个数据集上图像的统计特征和任务是不同的,但是迁移学习显著提高了物体和动作的分类结果,优于目前在Pascal VOC 2007 and 2012数据集上最先进的结果。我们也展示了结果有希望能够实现目标和动作的定位。

1. Introduction

  文章首先介绍了在目标识别(Object recognition)领域有许多紧张,这些有方法方面的进展,如STIFT,HOG,词包模型和可变形模型等。另一个推进目标识别发展的是大规模数据集的出现,如Caltech256、Pascal VOC、ImageNet。虽然卷积神经网络之前(值得应该是2014年)用的不多,在视觉识别任务中已经有很长的一段历史了。接下来文章简单的从感知机降到了CNN的大规模应用。

  卷积神经网络(CNN)是有着大量参数的大容量分类器,所以必须从训练样本学习。虽然CNN已经被称为在其他的视觉任务(包括通用对象识别中)效果超过超过特征识别,但是首先于标准目标识别数据集的相对较小的规模。

  值得注意的是,许多成功的图像分类器使用了新认知机和卷积神经网络。量化及空间聚集局部描述子与这些通过前两层新认知机计算得到的相比较是浅层特征。所以浅层特征比早期的CNN要好,可能是因为CNN很难在较小的数据集上进行训练。然而大规模数据集的出现和GPU的出现使得CNN得到了跳跃性的发展(performance leap)和更大的进步(further improve)。

  有人认为不同的计算机视觉数据集在图像统计特征上有显著的差异,如视角、背景信息,场景信息和其他因子。鉴于CNN“data hungry”的特点,如何使用有限的数据训练CNN是一个重要的问题。

  到目前为止,文章所提出的问题主要有这几个。首先CNN的学习需要建立数以百万计的参数,并且需要大量已经标注好的图像;如果数据的数量不够将使得模型过拟合,效果变差,并且很有可能效果要差于传统的手工特征;其次不同的计算机视觉数据集在图像统计特征上有显著的差异,那我们在将来的每一个新的视觉识别任务中是否都需要收集一个百万级的图片数据集。归结起来就是,CNN在处理原始任务的时候需要大量的标注数据才能训练,如果新任务(可能与原始任务相同,比如说都是分类任务;也有可能与原始任务不同,一个分类一个识别)所具有的数据集与原始的数据集在统计上有显著的不同,并且数据量较小,这个时候应该如何使用CNN来完成新任务。

  为了解决这个问题,我们提出了一种把在大规模数据集上CNN学习到的图像表示迁移到其他的有限训练集的视觉识别问题上。具体来讲,我们提出一种使用在Image net上训练的CNN的层来有效率地计算Pascal VOC图片集图像的中层表示。实验效果(物体及动作分类)的效果很好。结果表明迁移学习可能用于物体和动作的定位。

  迁移学习、图像分类和深度学习三个方面的相关工作。

  在迁移学习方面,以往的工作都是在标准的图像特征上进行训练,而本文提出的方法直接在源空间进行训练。有的方法与我们的十分相似,采用无监督伪任务训练CNN,但是我们采用在大规模有监督任务上训练CNN的卷积层并且解决了图像中物体尺寸和位置变换的问题。有些人与本文的研究方法相似,但是处理的问题是不同的。

  在视觉目标分类方面,之前常用的方法有词包模型、密集SIFT、K均值等各种各样的方法。但是这些方法都无法表明他们是最好的方法,所以也就引起了人们对于中层特征和一半特征学习的兴趣。而我们的工作表明卷积层能够产生通用的中层图像表示,以至于它们能够迁移到新任务上

  在深度学习方面,最近兴起的多层神经网络的兴趣是有越老越多的学习中间表示的工作触发的,或者使用无监督的方法,或者使用更多的传统的监督学习的技术。

3. Transferring CNN weights

  本文所使用的神经网络具有6000万个参数,使用几千张图片进行计算是存在问题的。本文的关键思想在于CNN的中间层能够作为中级图像表示通用提取器,这个提取器能够在原任务(这里是Image Net)中预训练然后重新应用与其他目标任务上(这里是Pascal VOC的目标和动作识别) 。然而进行迁移学习也是困难的,因为在原任务和目标任务中图像的标签和分布(目标的种类、特有的视角和成像条件等)也是非常不同的。
  针对这个挑战我们设计一种结构,这种结构能够显著地重新绘制原任务与目标任务之间类的标签(见3.1部分)。其次,受滑动窗口检测可以明显地处理目标尺寸分布不同的问题的启发,发展训练和测试过程,针对在原任务和目标任务中的定位和背景混乱问题(见3.2和3.3)。

3.1. Network architecture

  所搭建的网络结构如下图所示
这里写图片描述

再上图中可以看到,绿色部分代表的是原任务,红色部分代表迁移部分,黄色部分代表目标任务部分。我们可以看出迁移过去的包括绿色的网络框架和预训练得到的权重文件。其中原任务采用的是 Krizhevsky 的网络结构。在目标任务中去掉了全连接层Fc8,添加了全连接层FCa、FCb。

  值得注意的是, Y7 (Fc7的输出值)是一个潜在的所有输入像素的复杂非线性函数,能够捕获中层目标部分和高层配置部分

   C1FC7 层的参数是首先在原任务中训练得到的,在迁移学习的过程中迁移到目标任务中并且保持不变。只有新加的两层全连接层在目标任务中进行训练

3.2. Network training

  首先在原任务上进行预训练。但是如下图所示,在原任务(ImageNet)与目标任务(Pascal VOC)中,在两类任务中,目标的位置、大小、相互遮挡模式,这个问题也被称为数据集捕获偏置(a dataset capture bias)。另外在目标任务中的背景中可能包含许多其他目标,这个也被称为反例数据偏置(negative data bias)。为了克服这两个问题,我们受启发于滑动窗口检测的训练方法训练添加的层。

这里写图片描述

  我们利用滑动窗口的方法从每幅图像中从每一张图像中提取大概500个方形的块,通过在相邻斑块之间至少有50%重叠的规则间隔的网格上采样八种不同的尺度。更确切地说,我们使用宽度为 s=min(w,h)/λ 像素的方形块,其中 wh 是分别代表图像的长和宽,并且

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值