AI面试题之深入浅出卷积网络的平移不变性

卷积网络的平移稳定性可能会经常在论文中看到,那这个到底是什么呢?看了一些论文的原文和网络上十几篇讲这个的博文,也许捋清了思绪然后写下这个。不得不说,有的博文讲的有那么点问题。

1 什么是稳定性

【稳定性】就是目的发生了变换,然则你依然可以识别出来。在图像义务中,我们希望图像中的目的纵然被平移、被旋转或者被缩放,模子都可以识别出来图像的目的。

以是稳定性有下面几种:

  • 平移稳定性:Translation Invariance
  • 旋转稳定性:Rotation Invariance
  • 尺度稳定性:scale Invariance
  • 光照稳定性:Illumination Invariance

在图像分类义务中,平移稳定性就是图像中的目的不管被移动到哪个位置,模子给出的标签应该都是相同的。

平移稳定性对应的有一个看法是平移同变性(translation equivariance),这个是用在图像的目的检测中的,若是输入图像中的目的举行了平移,那么最终检测出来的候选框应该也响应的移动,这就是同时改变。】

2 卷积网络有没有平移稳定性

有的文章说有,有的说没有,那么到底有没有呢?

我先说出我小我私家的看法,现在的卷积网络是不具有平移稳定性的。不外两个论点我都市讲明了。

3 为什么有平移稳定性

主要是由两个缘故原由,一个是卷积,一个是最大池化。

【为什么卷积可以提供平移稳定性】
比方说目的是在图像的左上角,经由卷积之后,目的的特征也会在特征图的左上角;目的在图像的左下角,经由相同的卷积核卷积之后,目的的特征也会在特征图的左下角。然后卷积层后面接上一个全毗邻层举行分类,就算目的位置改变了,然则经由相同的卷积核卷积,然后睁开变玉成毗邻层。以是对于全毗邻层来说,改变的之后特征的位置。可能之前目的的特征是作为全毗邻的第一个神经元的输入,平移目的位置之后,该特征就作为全毗邻的最后一个神经元的输入。

不外这种说法想体现的就是,就算目的位置变了,经由相同卷积核提取的特征该有的都有,只是位置变了。

【我小我私家以为这个论证有点问题,特征的顺序对于网络来说非常重要,打乱了那很大可能会给出错误的谜底。上述的论点来源于引用[1]的博客】

【为什么池化可以提供平移稳定性】
我以为这个相比上面的注释,是有一定的原理的。最大池化层返回感受野中的最大值,若是最大值被移动了,然则仍然在这个感受野中,那么池化层也仍然会输出相同的最大值。这就有点平移稳定的意思了。

consul+ansible+shell批量下发注册node_exporter

在参考链接[2]中,给出了几个“池化层具有稳定性”的例子:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保留下来直接上传(img-RgYXVsMc-1595352073693)(http://helloworld2020.net/wp-content/uploads/2020/07/wp_editor_md_c94b9fb055f201230a5f6ba383f04768.jpg)]
可以看到,同样的数字1,原图中平移了1个像素,然则经由2*2的最大池化层之后,获得了相同的特征图。
此外,最大池化层还可以凭据类似的原理,获得尺度稳定性和旋转稳定性:
AI面试题之深入浅出卷积网络的平移不变性
AI面试题之深入浅出卷积网络的平移不变性

【池化层引入了平移稳定性我以为是对照靠谱的,这也是池化层的重要作用之一:为CNN引入稳定性。然则怎么说呢?虽然现在听起来很有原理,在面试的时刻被问起来池化层作用的时刻我以为回覆上稳定性也是不错的,然则下文就会解说,池化层实际上并没有引入稳定性。好像是2019年的一个论文强调了池化层并没有稳定性】

4 为什么没有平移稳定性

现在卷积网路的图像输入,改变一个像素就可能会得出差别的结构,以是很容易遭到匹敌攻击。下面有一个形象的例子:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保留下来直接上传(img-mZuTor9L-1595352073705)(http://helloworld2020.net/wp-content/uploads/2020/07/ezgif-6-e30035fc1a35.gif)]
可以看出来,当平移小鸟的位置的时刻,展望效果是有很大的颠簸的。

池化层并没有平移稳定性。下面是参考链接[3]给出的一个简朴的例子,这是一个一维卷积的例子,二维图像类似:
AI面试题之深入浅出卷积网络的平移不变性
上图是一个没有平移的原始一位数据做了一个1*2的最大池化;
AI面试题之深入浅出卷积网络的平移不变性
若是对一位数据做了一个平移,那么获得的池化效果就完全差别!这也就是为什么下采样(平均池化层,最大池化层等)没有平移稳定性。

5 平移稳定性的界说

说了这么多平移稳定性,那么平移稳定性的详细的严酷的界说到底是什么呢?

界说几个数学符号。原始的输入数据为\(X\),经由下采样层酿成\(D(X)\),然后再经由上采样获得\(U(D(X))\).(D是Down下采样,U是Up上采样)

【平移稳定性】
若是平移之后的输入图像的下采样的上采样与原始输入图像的下采样的上采样相同,那么就是平移稳定性。(中文说的太绕嘴了,数学公式清晰)
\(U(D(X))=U(D(X_{shift}))\)

  • \(X_{shift}\)就是平移之后的输入;

举个例子:
AI面试题之深入浅出卷积网络的平移不变性
这个就是\(U(D(X))\),

AI面试题之深入浅出卷积网络的平移不变性
这个就是\(U(D(X_{shift}))\),可以发现两者并不相等,以是并没有平移稳定性。

6 若何实现平移稳定性

现在使用的全局平均池化层,就是可以实现平移稳定性。依然是用上面的例子:
AI面试题之深入浅出卷积网络的平移不变性
可以发现,实在不管平移若干,横竖获得的数值都是一样的,全局平均池化消除了位置的影响,以是实现了平移稳定性。

参考链接:
[1]https://zhangting2020.github.io/2018/05/30/Transform-Invariance/
[2]https://www.zhihu.com/question/36686900
[3]https://www.jianshu.com/p/6041f3e8a583

AI面试题之深入浅出卷积网络的平移不变性
AI面试题之深入浅出卷积网络的平移不变性
AI面试题之深入浅出卷积网络的平移不变性

原创文章,作者:28x29新闻网,如若转载,请注明出处:https://www.28x29.com/archives/23966.html