0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么CNN不能从数据中学习平移不变性?

zhKF_jqr_AI 来源:未知 作者:李倩 2018-06-30 09:11 次阅读

编者按:今天论智给大家带来的论文是希伯来大学的Aharon Azulay和Yair Weiss近期发表的Why do deep convolutional networks generalize so poorly to small image transformations?这篇文章发现当小尺寸图像发生平移后,CNN会出现识别错误的现象,而且这一现象是普遍的。

摘要

通常我们认为深度CNN对图像的平移、形变具有不变性,但本文却揭示了这样一个现实:当图像在当前平面上平移几个像素后,现代CNN(如VGG16、ResNet50和InceptionResNetV2)的输出会发生巨大改变,而且图像越小,网络的识别性能越差;同时,网络的深度也会影响它的错误率。

论文通过研究表明,产生这个现象的主因是现代CNN体系结构没有遵循经典采样定理,无法保证通用性,而常用图像数据集的统计偏差也会使CNN无法学会其中的平移不变性。综上所述,CNN在物体识别上的泛化能力还比不上人类。

CNN的失误

深度卷积神经网络(CNN)对计算机视觉带来的革新是天翻地覆的,尤其是在物体识别领域。和其他机器学习算法一样,CNN成功的关键在于归纳偏差的方法,不同架构的选择影响着偏差的具体计算方式。在CNN中,卷积和池化这两个关键操作是由图像不变性驱动的,这意味如果我们对图像做位移、缩放、变形等操作,它们对网络提取特征没有影响。

但事实真的如此吗?

在上图中,左侧图像是模型的输入,右侧折线图是模型评分,使用的模型是InceptionResNet-V2 CNN。可以发现,作者在这里分别对图像做了平移、放大和微小形变。在最上方的输入中,他们只是将图像从左到右依次下移了一像素,就使模型评分出现了剧烈的波动;在中间的输入中,图像被依次放大,模型的评分也经历了直线下降和直线上升;而对于最下方的输入,这三张图是从BBC纪录片中选取的连续帧,它们在人类眼中是北极熊的自然运动姿态,但在CNN“眼中”却很不一样,模型评分同样遭遇“滑铁卢”。

为了找出导致CNN失误的特征,他们又从ImageNet验证集中随机选择了200幅图像,并把它们嵌入较大的图像中做系统性平移,由图像平移导致的空白区域已经用程序修补过了,在这个基础上,他们测试了VGG16、ResNet50和InceptionResNetV2三个现代CNN模型的评分,结果如下:

图A的纵坐标是200张图像,它用颜色深浅表示模型识别结果的好坏,其中非黑色彩表示模型存在能对转变后的图像正确分类的概率,全黑则表示完全无法正确分类。通过观察颜色变化我们可以发现,无论是VGG16、ResNet50还是InceptionResNetV2,它们在许多图片上都显示出了由浅到深的突然转变。

论文作者在这里引入了一种名为jaggedness的量化标准:模型预测准确率top-5类别中的图像,经历一次一像素平移就导致分类错误(也可以是准确率低一下子变成准确率高)。他们发现平移会大幅影响输出的图片占比28%。而如图B所示,相对于VGG16,ResNet50和InceptionResNetV2因为网络更深,它们的“jaggedness”水平更高。

那么,这是为什么呢?

对采样定理的忽略

CNN的上述失误是令人费解的。因为从直观上来看,如果网络中的所有层都是卷积的,那当网络对图像编码时,所有表征应该也都跟着一起被编码了。这些特征被池化层逐级筛选,最后提取出用于分类决策的终极特征,理论上来说,这些特征相对被编码的表征应该是不变的。所以问题在哪儿?

这篇论文提出的一个关键思想是CNN存在采样缺陷。现代CNN中普遍包含二次采样(subsampling)操作,它是我们常说的降采样层,也就是池化层、stride。它的本意是为了提高图像的平移不变性,同时减少参数,但它在平移性上的表现真的很一般。之前Simoncelli等人已经在论文Shiftable multiscale transforms中验证了二次采样在平移不变性上的失败,他们在文中说:

我们不能简单地把系统中的平移不变性寄希望于卷积和二次采样,输入信号的平移不意味着变换系数的简单平移,除非这个平移是每个二次采样因子的倍数。

考虑到现在CNN通常包含很多池化层,它们的二次采样因子会非常大,以InceptionResnetV2为例,这个模型的二次采样因子是45,所以它保证精确平移不变性的概率有多大?只有1/452。

下面我们从计算角度看看其中的猫腻:

我们设r(x)是模型在图像x处获得的特征信号,如果把图像平移δ后,模型获得的还是同样的特征信号,那我们就称这个信号是“卷积”的。注意一点,这个定义已经包含输入图像进入filter提取特征信号等其他线性操作,但不包括二次采样和其他非线性操作。

观察

如果r(x)是卷积的,那么全局池化后得到的特征信号 r = ∑xr(x) 应该具有平移不变性。

证明

以下论证来自之前我们对“卷积”的定义。如果r(x)是图像x处的特征信号,而r2(x)是同一图像平移后的特征信号,那么 ∑xr(x) = ∑xr2(x) 成立,因为两者是平移前后的特征信号,是不变的。

定义

对于特征信号r(x)和二次采样因子s,如果信号中x处的任意输出x是采样网格的线性插值:

那么我们就认为r(x)是“可位移的”(shiftable)。因为参照之前图像位移的说法,既然采样后信号具有平移不变性,那原信号载体就是可以移动的。其中xi是二次采样因子s采样网格上的信号,Bs(x)是从采样中重建的r(x)基函数。

经典Shannon-Nyquist定理告诉我们,当且仅当采样频率是r(x)最高频率的两倍时,r(x)才可以位移。

论点

如果r(x)可以位移,那么采样网格全局池化后得到的最终特征信号 r = ∑ir(xi) 应该具有平移不变性。

证明

通过计算我们发现了这么一个事实:采样网格上的全局池化就相当于所有x的全局池化:

其中,K = ∑xB(x − xi)和K与xi无关。

而现代CNN的二次采样忽视了以上这些内容,所以平移不变性是难以保证的。

为什么CNN不能从数据中学习平移不变性?

虽然上一节论证了CNN在架构上就无法保证平移不变性,但为什么它就不能从大量数据里学到不变性呢?事实上,它确实能从数据中学到部分不变性,那么问题还出在哪儿?

论文的观点是数据集里的图像自带“摄影师偏差”,很可惜论文作者做出的解释很糟糕,一会儿讲分布,一会儿讲数据增强,非常没有说服力。但是这个观点确实值得关注,心理学领域曾有过关于“摄影师偏差”对人类视角影响的研究,虽然缺乏数据集论证,但很多人相信,同样的影响也发生在计算机视觉中。

这里我们引用Azulay和Weiss的两个更有说服力的点:

CIFAR-10和ImageNet的图片存在大量“摄影师偏差”,这使得神经网络无需学会真实的平移不变性。宏观来看,只要不是像素级别的编码,世界上就不存在两张完全一样的图像,所以神经网络是无法学到严格的平移不变性的,也不需要学。

例如近几年提出的群卷积,它包含的filter数量比其他不变性架构更少,但代价是filter里参数更多,模型也更不灵活。如果数据集里存在“摄影师偏差”,那现有不变性架构里的参数是无法描述完整情况的,因此它们只会获得一个“模糊”的结果,而且缺乏灵活性,性能自然也比非不变性架构要差不少。

小结

虽然CNN在物体识别上已经取得了“超人”的成果,但这篇论文也算是个提醒:我们还不能对它过分自信,也不能对自己过分自信。随着技术发展越来越完善,文章中提及的这几个本质上的问题也变得越来越难以蒙混过关。

或许由它我们能引出一个更有趣的问题,如果人类尚且难以摆脱由视觉偏差带来的认知影响,那人类制造的系统、机器该如何超越人类意识,去了解真实世界。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4574

    浏览量

    98749
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24352
  • cnn
    cnn
    +关注

    关注

    3

    文章

    327

    浏览量

    21301

原文标题:证伪:CNN中的图片平移不变性

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    不变矩在车牌字符识别中的应用

    为了克服车牌字符的倾斜和相似字符间的误识别对字符识别带来的影响,提出了一种基于不变矩的匹配算法。利用不变矩的旋转不变性克服字符倾斜带来的影响。对不变矩算法进
    发表于 01-13 14:37 13次下载

    一种自动的轮毂识别分类方法

    本文描述了一种运用统计模式识别方法自动识别多种车型轮毂的方法。构造了四个具有平移不变性、比例不变性和幅度线性变换不变性的一维不变量,用以表征
    发表于 02-21 10:45 20次下载

    去降Mallat离散小波变换实现彩色图像分割

    该文针对Mallat快速离散小波变换,提出了一种利用变换平移不变性的离散小波变换的彩色图像分割方法。首先对原始图像进行平移不变性的小波变换,然后提取颜色和纹理特征,并采用
    发表于 10-12 16:00 19次下载
    去降Mallat离散小波变换实现彩色图像分割

    基于尺度不变性的无参考图像质量评价

    实际场合中。为了解决数据库依赖问题,提出一种归一化的基于图像尺度不变性的无参考图像质量评价方法。该方法不依赖外部数据,将图像的统计特性及边缘结构特性作为图像质量评价的有效特征,利用图像多尺度
    发表于 12-22 13:44 1次下载
    基于尺度<b class='flag-5'>不变性</b>的无参考图像质量评价

    如何判断差分方程描述的系统的线性和时变性?《数字信号处理》考研题

    判断由差分方程描述的系统的线性和时变性,最可靠的方法是根据线性和时不变性的原始定义来判断,这就是问题的解答。
    的头像 发表于 07-19 17:20 2.7w次阅读

    图像处理学习资料之《图像局部不变性特征与描述》电子教材免费下载

    《图像局部不变性特征与描述》是2010年国防工业出版社出版的图书,作者是王永明、王贵锦。 本书是按照概念-理论-方法-实例思路来依次组织的。第l章介绍有关局部不变性的历史沿革和基本概念,第2章介绍
    发表于 08-30 08:00 84次下载
    图像处理<b class='flag-5'>学习</b>资料之《图像局部<b class='flag-5'>不变性</b>特征与描述》电子教材免费下载

    为什么区块链具有不变性

    R3研究主管安东尼•刘易斯(Antony Lewis)表示:“当人们说区块链是不可变的时候,他们并不意味着数据不能被改变,他们的意思是,如果没有共谋,改变是极其困难的,如果你尝试了,就非常容易发现这种尝试。”
    发表于 03-21 11:43 782次阅读

    区块链中的不变性是什么意思

    如何更好地理解它呢?我们可以将其与谷歌电子表格进行比较。后者具有行和列,您可以随时添加、编辑或删除这些行和列。而当您在区块链中输入任何数据时,除非达成一致协议,否则您不能改动这些数据。因此,虽然区块链中的
    发表于 04-06 09:00 685次阅读

    什么是区块链不变性

    每个信息块(例如事实或交易细节)使用加密原则或哈希值进行。该哈希值由每个块分别生成的字母数字字符串组成。每个块不仅包含自身的哈希或数字签名,还包含前一个。这确保了块可追溯地耦合在一起并且不间断。区块链技术的这种功能确保没有人可以侵入系统或改变保存到块中的数据
    发表于 04-26 13:57 788次阅读

    MEGNet普适性图神经网络 精确预测分子和晶体性质

    在材料学领域,对分子或晶体结构的特征描述需要满足平移,转动,镜面不变性,以及对整体结构特异信息的表征。
    的头像 发表于 05-16 14:51 7935次阅读
    MEGNet普适性图神经网络 精确预测分子和晶体性质

    一种基于最小点对成本改进轮廓精确匹配与分析方法

    和最小点对成本精确匹配2种策略以进行轮廓匹配,其中粗到精的二级匹配策略可有效降低匹配过程对轮廓细节变化的敏感性,最小点对成本精确匹配策略能保证匹配具有平移不变性、旋转不变性、镜像不变性
    发表于 03-16 13:58 21次下载
    一种基于最小点对成本改进轮廓精确匹配与分析方法

    卷积神经网络是怎样实现不变性特征提取的?

    计算机自动提取特征(表示工程)实现图像特征的提取与抽象,通过MLP实现数据的回归与分类。二者提取的特征数据都具不变性特征。 卷积神经网络为什么能提取到图像特征,其关键在于卷积神经网络有两种不同类型的层 -卷积层(c
    的头像 发表于 04-30 09:11 2388次阅读
    卷积神经网络是怎样实现<b class='flag-5'>不变性</b>特征提取的?

    为什么卷积神经网络可以做到不变性特征提取?

    计算机自动提取特征(表示工程)实现图像特征的提取与抽象,通过MLP实现数据的回归与分类。二者提取的特征数据都具不变性特征。 卷积神经网络为什么能提取到图像特征,其关键在于卷积神经网络有两种不同类型的层 -卷积层(c
    的头像 发表于 05-20 10:49 4493次阅读
    为什么卷积神经网络可以做到<b class='flag-5'>不变性</b>特征提取?

    图像匹配算法SIFT算法实现步骤简述

    将一幅图像映射(变换)为一个局部特征向量集;特征向量具有平移、缩放、旋转不变性,同时对光照变化、仿射及投影变换也有一定不变性
    发表于 04-17 09:31 1364次阅读

    基于Python和深度学习CNN原理详解

    卷积神经网络 (CNN) 由各种类型的层组成,这些层协同工作以从输入数据中学习分层表示。每个层在整体架构中都发挥着独特的作用。
    的头像 发表于 04-06 05:51 926次阅读
    基于Python和深度<b class='flag-5'>学习</b>的<b class='flag-5'>CNN</b>原理详解