评论--通过上下文预测的无监督视觉表征学习(自监督的)。
自监督学习。不使用地面真理标签的上下文预测
学习补丁表征的任务包括随机抽查一个补丁(蓝色),然后抽查八个可能的邻居之一(红色)。
在这个故事中,我们回顾了卡耐基梅隆大学和加利福尼亚大学的无监督视觉表征学习(ContextPrediction)。
在标准的监督学习中,网络是用真实的标签来训练的。然而,注释标签往往是昂贵和耗时的,特别是当数据集很大时,例如ImageNet。
在本文中。
- 使用图像内环境学习的特征表示确实能够捕捉到跨图像的视觉相似性。
- 例如。在上面,你能猜到这两对斑块的空间配置吗?请注意,一旦你认出了这个物体,这个任务就容易多了!这就是一种自我超越。
- 这是一种自我监督的学习。
这是2015年ICCV 的一篇论文,引用次数超过1300次。(Sik-Ho Tsang@ Medium)
概要
- 动机和概念性的想法
- 学习视觉语境预测
- 实施细节
- 实验结果
1.动机和概念性想法
- 互联网规模的数据集(即数以千亿计的图像)受到了所需的 人工注释的巨大费用的阻碍。
- 解决这个问题的一个自然方法是采用无监督学习。不幸的是,无监督的方法还没有被证明可以从大量的全尺寸真实图像中提取有用的信息。
如果没有一个物体被标记,我们怎么能写一个目标函数来鼓励一个表征来捕捉,例如,物体?
- 在文本领域,给定一个大型文本语料库,我们的想法是训练一个模型,将每个词映射到一个特征向量,这样就很容易 预测上下文中的词(即之前和/或之后的几个词) ,给定的向量。
- 这就把一个表面上无监督的问题(在词与词之间找到一个好的相似度量) **转换成了一个 "自监督 "**的问题:从一个给定的词到它周围的词学习一个函数。
- 本文旨在为图像数据提供一个类似的 "自监督 "表述。
该算法在没有任何背景的情况下,以这八种可能的空间排列方式之一接收两个斑块,然后必须对哪种配置进行采样分类
一对随机的斑块 在八个空间配置中的一个被采样。然后,该算法必须 猜测一个补丁相对于另一个补丁的位置。
基本的假设是,做好这项任务需要理解场景和物体,也就是要有一个好的视觉表现。
2.学习视觉情境预测
2.1.一对类似 AlexNet的网络
一对 AlexNet的类似网络进行分类
- **卷积神经网络(CNN)**被用来为我们的语境任务学习图像表征,即预测图像中斑块的相对位置。
- 该网络必须将两个输入斑块 通过几个卷积层送入 ,并产生一个输出,为八个空间配置中的每个配置分配一个概率。
但要注意的是,最终的目标 是 学习单个斑块的特征嵌入,这样,视觉上相似的斑块(在不同的图像中)在嵌入空间中会很接近。
- 一个对 AlexNet风格的架构被用来单独处理每个补丁,直到类似于AlexNet中 fc6的深度,之后 这些表示被融合。
- 网络两边的权重是捆绑/共享的(虚线的Convs),这样就可以为两个斑块计算相同的fc6级嵌入函数。
2.2.训练样本
- 为了获得给定图像的训练样本, 第一个补丁被均匀地取样,不参考图像内容。
- 鉴于第一个补丁的位置,第二个补丁从八个可能的相邻位置随机取样。
2.3.避免 "琐碎的 "解决方案
2.3.1.低层次的线索
- 必须注意确保任务迫使网络提取所需的信息(高级语义),而不走 "琐碎的 "捷径。
- 低层次的线索,如边界图案 或斑块之间的纹理 ,可以作为捷径来对待。
在斑块之间包含一个间隙(大约是斑块宽度的一半)是很重要的。每个补丁的位置是随机抖动的,最多 7 个像素。
2.3.2.色差
- 另一个问题是色差。
- 镜头聚焦于不同波长的光。在一些相机中,一个颜色通道(通常是绿色)相对于其他通道向图像中心收缩。
- 网络可以通过检测绿色和品红(红+蓝)之间的分离来学习琐碎的解决方案,这是一种我们不希望网络学习的捷径。
- 为了处理这个问题,我们尝试了两种类型的预处理 。
- 一种是将绿色和品红色向灰色转移("投影")。
- 具体来说,让_a_= [-1, 2,-1](RGB空间中的 "绿色-品红色色轴")。
- _B_是一个矩阵,它减去一种颜色在绿-品红色轴上的投影。每个像素值都被_B_所累加。
- 另一种方法是 在每个补丁中随机丢掉3个颜色通道中的2个("丢色"),用高斯噪声(标准偏差为其余通道标准偏差的1/100)取代丢掉的颜色。
3.实施细节
- ImageNet 2012训练集(130万张图片),但放弃了标签。
- 每张图片的 总像素被 调整到15万到45万之间,保留长宽比。
- 斑块 以96×96的分辨率进行采样,呈网格状。
- 网格中的采样斑块之间有48个像素的间隙 ,而且每个斑块在网格中的位置在每个方向都有**-7到7个像素** 的抖动 。
- 补丁通过以下方式进行预处理 :(1)平均减法(2)投射或丢弃颜色,以及(3)随机对一些补丁进行下采样,使其总像素少至100,然后再对其进行上采样,以建立对像素化的鲁棒性。
- 批量归一化被用于那些没有使用LRN的定罪层。(根据这个Github)。
4.实验结果
- 训练后的网络被应用于两个领域。
- 首先, 预训练,用于只有有限训练数据的标准视觉任务:具体来说,VOC 2007的物体检测。
- 第二, 视觉数据挖掘,目标是从一个无标签的图像集开始,发现物体类别。
- 最后,对布局预测 "借口任务 "的性能进行分析,看看还有多少可以从监督信号中学习。
4.1.最近的邻居
由最近的邻居获得的补丁集群的例子(fc6 特征来自我们架构的随机初始化 。 AlexNet在标记的ImageNet上训练后的 fc7 ,以及从提议的方法中学习的fc6 特征)
- 目标是了解斑块的相似程度。
- fc7和更高的层被移除。近邻网络被应用于fc6的特征。
- 一些斑块(从1000个随机查询中选出)的结果如上所示。
- 拟议的上下文预测算法表现良好。
- 对于中间的AlexNet,它的表现优于提议的语境预测方法。因为这个AlexNet是监督学习的。
通过对NN分组的斑块进行可视化,预测的上下文预测能够在没有标签的情况下学习图像表示。
4.2.采用R-CNN进行物体检测
物体检测网络
- R-CNN 管线被使用。
- 然而,使用227×227的输入而不是96×96。该网络需要修改。
- 在空间上进行7×7的pool5。
- 新的 "conv6 "层是通过将fc6层转换为卷积层而创建的。
- conv6层有4096个通道,其中每个单元连接到pool5的一个3×3区域。
- 在conv6之后的另一层(称为conv6b),使用1×1的核,被添加以减少维度到1024个通道。
- 输出通过水池层被送入全连接层(fc7),而水池层又连接到最后的fc8层,送入softmax。
- conv6b、fc7和fc8以随机权重开始。
- fc7被用作最终表示。
PASCAL VOC-2007上的AP和mAP结果(%)。
Ours-projection/Ours-color-dropping。预先训练使从头开始的模型数量提高了6%,并且超过了在Pascal上从头开始训练的一个 AlexNet在Pascal上从头开始训练的模型超过了5%。
只比 ImageNet--------8%的成绩差。R-CNN也 就是用ImageNet标签预训练的R-CNN。这是VOC 2007上不使用数据集以外的标签的最佳结果(在那一刻)。
- Ours-Yahoo100m:使用了Yahoo/Flickr 1亿数据集[51]中随机选择的2M子集,该数据集是完全自动收集的。微调后的性能比Ours-projection/Ours-color-dropping稍差,但与从头开始的模型相比,仍有相当大的提升。
- Ours-VGG:尝试了VGGNet,mAP与ImageNet-R-CNN之一相近。
4.3.视觉数据挖掘
发现物体集群
- 视觉数据挖掘,或者说无监督的物体发现,旨在使用一个大的图像集合来发现碰巧描绘了相同语义物体的图像片段。
- 首先,从图像中抽取一个由四个相邻斑块组成的星座 。
- 然后, 找到与所有四个斑块最强匹配的前100张图像,忽略空间布局。
- (过滤掉那些四个匹配点在几何上不一致的图像)。
- 每个簇旁边的数字表示其排名,由几何学上验证的顶级匹配的部分决定。
- 上面显示了一些产生的补丁集群。
从巴黎街景数据集中发现的聚类
- 拟议的表示法捕捉到了场景布局和建筑元素。
使用提议的 "上下文预测 "进行的预训练优于随机初始化,同时它不需要地面真实标签。
参考文献
[2015 ICCV] [Context Prediction
]通过Context Prediction进行无监督的视觉表示学习
自监督学习
[上下文预测]。
我以前读过的其他论文
Review - Unsupervised Visual Representation Learning by Context Prediction (Self-Supervised)原文发表于Nerd For Techon Medium,人们通过强调和回应这个故事继续对话。