1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 深度学习——卷积神经网络是否能编码位置信息?

深度学习——卷积神经网络是否能编码位置信息?

时间:2022-08-04 17:53:33

相关推荐

深度学习——卷积神经网络是否能编码位置信息?

文章目录

前言猜想实验实验思路网络结构——position encoding network评价指标实验结果

前言

卷积神经网络在图像领域性能十分卓越,不仅可应用于图像识别,也可应用于目标检测与语义分割。目标检测与语义分割都需要定位目标在图像中的位置,而卷积神经网络在这两类任务中表现优异,是否意味着卷积神经网络可以编码目标的绝对位置(目标在图像中的位置,而不是目标相对于图像中的其他事物的位置)信息呢?

ICLR的文章《how much position information do convolutional neural networks encode?》,通过实验验证了卷积神经网络可以编码目标的绝对位置信息,并且更进一步探究了卷积神经网络能编码目标的位置信息的原因,这将有助于我们设计针对目标检测与语义分割的卷积神经网络结构。

猜想

如下图所示,目标位于图像的正中间位置,当我们将图像进行裁剪,使得目标位于图像的右侧时,卷积神经网络的检测点(原文为detecting saliency)从图像的正中间移动到了图像的右侧,作者因此做出了一个假设:卷积神经网络可以编码目标在图像中的绝对位置,即feature vector\feature map中含有目标的绝对位置信息

有许多可视化技术验证了卷积神经网络可以学习目标具有的特征(例如猪的鼻子长什么样,眼睛长什么样等),例如grad-cam、cam等(这两类算法可以查看我的博客),这类可视化技术可以解释卷积神经网络分类的依据,但是不能解释为什么卷积神经网络可以定位到类别相关的区域,这篇文章将此归因为zero-padding,zero-padding将有助于卷积神经网络编码目标在图像中的位置信息,但是文章没有更进一步解释为什么zero-padding有助于卷积神经网络编码目标的位置信息。

实验

实验思路

假设我们存在一种可以反映位置关系的label,记为position map,如果我们能建立feature map/feature vector到YYY的映射,将表明feature map/feature vector与YYY之间存在某种规律,即feature map/feature vector中的数值含有位置信息的规律,而feature map/feature vector是由卷积神经网络提取的,这表明卷积神经网络可以提取位置信息。

映射关系可以通过神经网络建立,那么如何得到可以反映位置关系的position map呢?

作者设立了五类可以反映位置关系的position map,分别记为H、V、G、HS、VSH、V、G、HS、VSH、V、G、HS、VS。HHH中的像素值表示该位置离图像左边缘的距离,VVV中的像素值表示该位置离图像上边缘的距离,这两类图像可以证明卷积神经网络是否可以提取两个维度上的位置信息。GGG由高斯过滤器得到,论文没有具体解释如何得到G、HS、VSG、HS、VSG、HS、VS,这三类图像可以证明卷积神经网络是否可以提取两个维度上的位置信息,这五类label与图像的内容无关,因此输入图像可以是任何类别的图像。

上图中,第一行表示输入图像,第二行表示label,注意到作者添加了black、white、noise三类图像,这三类图像通常不含有图像的语义信息,可以验证在没有语义信息的前提下,卷积神经网络能否编码位置信息。

网络结构——position encoding network

position encoding network的网络结构如下,该网络由EncoderPosition Encoding Module两部分组成。

如上图所示,Encoder即上图中的fencf_{enc}fenc​,是一个参数固定的特征提取器,不参与训练,上图的fencf_{enc}fenc​含有五个特征提取模块,五个特征提取模块提取的feature map记为(fpos1,fpos2,fpos3,fpos4,fpos5)(f_{pos}^1,f_{pos}^2,f_{pos}^3,f_{pos}^4,f_{pos}^5)(fpos1​,fpos2​,fpos3​,fpos4​,fpos5​)。

Position Encoding Module将(fpos1,fpos2,fpos3,fpos4,fpos5)(f_{pos}^1,f_{pos}^2,f_{pos}^3,f_{pos}^4,f_{pos}^5)(fpos1​,fpos2​,fpos3​,fpos4​,fpos5​)作为输入,经过Γpos\Gamma_{pos}Γpos​处理,输出为position map,Γpos\Gamma_{pos}Γpos​首先使用双线性插值,让(fpos1,fpos2,fpos3,fpos4,fpos5)(f_{pos}^1,f_{pos}^2,f_{pos}^3,f_{pos}^4,f_{pos}^5)(fpos1​,fpos2​,fpos3​,fpos4​,fpos5​)中的feature map空间分辨率一致,接着将其concat,经过一层空间分辨率为k x k的卷积核WposcW_{pos}^cWposc​,得到position map,WposcW_{pos}^cWposc​可被训练

评价指标

position encoding network输出的feature map上采样,使其大小与position map一致,接着计算像素值之间均方差(MAE),计算公式如下:

nnn表示像素个数之和,xix_ixi​与yiy_iyi​分别表示feature map与position map在同一位置上的像素值,MAE数值越小,表明feature map与position map之间的差距越小

除此之外,论文还将使用斯皮尔曼相关系数(SCP)度量feature map与position map之间的相关性,SCP越接近于1,表明两个变量之间的相关性越强,变化趋势的方向以及程度越一致。

实验结果

论文做的实验比较多,这里截取两个比较有趣的部分。

PosENet:只使用Position Encoding Module

VGG:使用预训练的VGG+Position Encoding Module

ResNet:使用预训练的ResNet+Position Encoding Module

单独使用PosENet,效果很糟,但是加入VGG与ResNet,结果会变好,这说明ResNet与VGG提取的feature map是含有位置信息的。

上图显示了zero Padding对SCP与MAE两个指标的联系,可以看到,添加了zero padding后,SCP越大、MAE越小,这说明zero Padding与位置信息的提取有一定关系。论文也探究了zero padding在目标检测与语义分割任务中的表现,结果如下,可见zero padding对位置信息的提取尤为重要。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。