| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 了解CV和RoboMaster视觉组(五)CNN没有不变性? -> 正文阅读 |
|
[人工智能]了解CV和RoboMaster视觉组(五)CNN没有不变性? |
--neozng1@hnu.edu.cn5.5.3.4. ConvNet没有不变性!?我们已经阐述过使用不变特征的好处,那么AlexNet在ImageNet竞赛上大杀四方的时候,是否就意味着DCNN已经拥有了我们所需要的一切invariant feature?让我们一一揭晓: 5.5.3.4.1. 旋转不变性从直观上来说,CNN不具有旋转不变性,这是一个显而易见的结论,物体在旋转之后通过卷积核显然会得到不同的响应;之后更深层的卷积也会受到第一层输出的影响,因此最后生成的特征(比如softmax之前的一层,我们可以把最后一层的Fully connect+softmax当作分类器,前层都当作feature extractor)显然和旋转前不同。那么为什么我们的分类器和检测器仍然可以正确地完成分类、进行识别呢?这是因为我们的训练集中含有旋转过的数字,或我们使用了数据增强中的旋转操作。在《深度学习》(花书)中给出了一个数字识别的例子: ?中间的一排表示用于匹配不同模式的filter ?对于每一层的卷积操作,我们一般都拥有多组卷积核,而对于经过不同角度旋转的输入,对应不同通道的卷积核就能学习到这种旋转。如左上所示,左侧的卷积核对于向右倾斜45°的数字9会产生较大的响应,中间的则是对稍微向左侧倾斜的9有较大的响应;因此,在之后的最大池化操作中,这些响应都会被归结为”这里有一个9“而输出。那么这些不同的filter为什么会对不同的9有响应呢?那不就是训练出来的吗:我们的数据集中有不同转角的数字9,经过数轮反向传播之后不同通道不同组的卷积核自然而然就学习了某一种旋转模式。 当然,”旋转不变性“也不一定是从卷积层学到的,很可能是在全连接阶段,拥有不同转角的输入在经过非线性映射后投影到了特征空间中相近的位置也是一种可能的解释。最有力的证明就是进行实验,对每一层的feature map进行可视化,画出heat map。感兴趣的同学可以阅读本章末的paper。
虽然一般我们没有显式地对物体的旋转进行建模,但是数据增强的确让网络在最后学习到了旋转不变性(data aug和filter group的组合),倘若我们为网络增加一些先验知识,并且直接建模旋转这一变量,网络是否更容易应对旋转的情况?这就是Spatial Transformer。这里的transformer不是自注意力的那个,代表的是变换的“那个” transform。 ?左侧为一般卷积,右侧为加入了ST模块之后的输出 ?Spatial Transformer会通过反向传播学习一组仿射变换的参数(平移+旋转)用于将图像中关键的部分“摆正”,在变换的过程中可能会出现拉伸或压缩,原文选择了双线性插值的方法。同时ST还可以切除没有用的背景信息,这又有一点注意力机制的意味(实际上也确实是一种隐式的注意力)。不过,我们还是需要不同转角的输入以训练ST module,否则单单输入垂直的目标,网络仍然无法学会这种变换。 此外,在 5.2.5.2 介绍池化层的时候,提到了pooling会使得当前层提取的特征拥有一定的旋转不变性和平移不变性,能够应对轻微的变化。然而有时候pooling反而会破坏这种不变性,我们稍后会介绍其中的缘由。 5.5.3.4.2. 尺度不变性和旋转不变性一样,神经网络不具备尺度不变性的原因相同,除非使用数据增强。从最早的spatial pyramid pooling到最新的PAN,我们可以FPN的发展轨迹略知一二:如果CNN拥有scale invariant特征,为什么还要费尽心思地进行多尺度特征融合? 对不同尺度特征的感受能力还和卷积核的感受野有关,扩大感受野也是膨胀卷积(dilate conv,atrous conv)提出的目的。YOLOF(you only look one-level feature)就另辟蹊径,主张利用不同stride的膨胀卷积提取不同尺度的特征并进行融合,从而抛弃了FPN的设计。不过当下大热的Vision Transformer通常也不需要利用FPN建模不同尺度的特征,似乎自注意力能够自动聚焦到不同大小的目标和特征上,因此也引领了研究的新潮流。 ?YOLOF在四个res block里的3x3卷积采用了不同dilate rate的空洞卷积 5.5.3.4.4. 光照、对比度、颜色不变性如果有,为什么还要用数据增强?但是,输入归一化(这也算是现代神经网络的标配了)和BN从原理上来说,似乎可以给CNN提供这些不变性。笔者猜测,之所以继续使用光照、对比度、颜色变化的数据增强,是因为这些变量常常是协变的,单单用BN很难解决这种像素级的耦合变化。 5.5.3.4.3. 平移不变性CNN是否具有平移不变性是这几个问题中最具有争议性的一个。数篇论文尝试通过理论分析、实验的方法解释这个问题,却得到迥异的结果,大家的争论主要集中在以下两点:
移动轻微移动图像后,classifier输出的置信度变化剧烈 图源https://zhuanlan.zhihu.com/p/77543304
最后稍微总结一下,若将CNN的输入到输出视作一个end2end的问题(不看网络中的任何一个module而将其视作一个整体,包括数据增强等trick),考虑输入进行各种变换但是输出的标签保持不变,那么卷积神经网络应该是具有这些我们期望的性质的;但是单独分析网络中的某个结构如卷积层、池化、全连接层,那么就要仔细想想了。另外,再次注意甄别平移不变性和平移同变性的区别!
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:47:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |