【论文阅读】卷积神经网络能编码多少位置信息?

How Much Position Information Do Convolutional Neural Networks Encode

引用: [1] ISLAM A, JIA S, BRUCE NeilD B. How Much Position Information Do Convolutional Neural Networks Encode[J]. arXiv: Computer Vision and Pattern Recognition, 2020.

论文链接: arxiv.org/abs/2001.08...

代码链接: github.com/SenJia/Posi...

论文概述

经典的 CNN 模型被认为是空间不可知的,因此胶囊网络[1]或循环网络[2]已被用于对学习到的特征层内的相对空间关系进行建模。CNN更多地依赖于纹理和颜色等信息而不是形状[3]。然而,位置信息为对象可能出现在图像中的位置提供了强有力的线索(例如天空中的鸟类)。

因此,论文提出了一个新的假设,即CNN可以潜在的学到位置信息 ,并提出了PosENet 用于验证猜想。实验表明,更大的感受野或位置信息的非线性提取 进一步增加了绝对位置的提取。同时,当不存在语义线索并且语义信息的干扰表明对什么(语义特征)和在哪里(绝对位置)的联合编码时,这种恢复是可能的。实验结果表明zero padding和borders被CNN视作作为anchor,随着空间抽象的出现,空间信息被导出并最终在整个图像上传播。

Position Encoding Network (PosENet)

CNN自然会在早期卷积阶段提取精细级别的高空频细节(例如边缘、纹理、线条),而在编码的最深层,网络会产生最丰富的类别特征表示。

PosENet由两个关键组件组成:Encoder <math xmlns="http://www.w3.org/1998/Math/MathML"> f e n g f_{eng} </math>feng和** 位置编码模块 <math xmlns="http://www.w3.org/1998/Math/MathML"> f p e m f_{pem} </math>fpem**。编码器网络在不同的抽象层次上提取特征,从较浅的层次到较深的层次。位置编码模块以编码器网络中的多尺度特征作为输入,最后预测绝对位置信息。

Encoder <math xmlns="http://www.w3.org/1998/Math/MathML"> f e n g f_{eng} </math>feng使用基于ResNet和VGG的架构通过去除平均池化层和FC层来构建。注意,在训练编码网络时,只训练位置编码模块 <math xmlns="http://www.w3.org/1998/Math/MathML"> f p e m f_{pem} </math>fpem专注于提取位置信息,而编码器网络则保持预训练的初始化权重不变

位置编码模块以多尺度特征( <math xmlns="http://www.w3.org/1998/Math/MathML"> f p o s 1 , f p o s 2 , f p o s 3 , f p o s 4 , f p o s 5 f_{pos}^1,f_{pos}^2,f_{pos}^3,f_{pos}^4,f_{pos}^5 </math>fpos1,fpos2,fpos3,fpos4,fpos5)为输入,通过变换函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> T p o s T_{pos} </math>Tpos(卷积层)生成所需的位置图。变换函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> T p o s T_{pos} </math>Tpos首先在特征映射上应用双线性插值操作,使其具有相同的空间维度,从而得到一个特征映射 <math xmlns="http://www.w3.org/1998/Math/MathML"> f p o s c f_{pos}^c </math>fposc。然后将它们拼接在一起,然后进行一系列 <math xmlns="http://www.w3.org/1998/Math/MathML"> k × k k × k </math>k×k卷积操作。

Encoder <math xmlns="http://www.w3.org/1998/Math/MathML"> f e n g f_{eng} </math>feng的主要目的是验证在分类标签上训练时是否隐式学习了位置信息。此外,位置编码模块 <math xmlns="http://www.w3.org/1998/Math/MathML"> f p e m f_{pem} </math>fpem对隐藏的位置信息与梯度之间的关系进行建模,类似于ground-truth mask。如果特征映射中没有编码的位置信息,则期望的输出是随机的,反之亦然(忽略来自图像内容的任何指导)。

生成ground-truth mask

H、V、G、HS和VS分别代表五种不同的ground-truth模式、水平和垂直梯度、二维高斯分布、水平和垂直条纹。生成ground-truth mask是将一个归一化的类似梯度的1位置图作为ground-truth,如图所示。首先在水平(H)和垂直(V)方向上生成类似梯度的蒙版。类似地,我们应用高斯滤波器来设计另一种类型的ground-truth图,高斯分布(G)。生成这三个模式的关键动机是验证模型是否可以在一个或两个轴上学习绝对位置。此外,还创建了两种类型的重复图案,水平和垂直条纹,(HS, VS)。无论方向如何,多级特征中的位置信息都可能通过编码模块 <math xmlns="http://www.w3.org/1998/Math/MathML"> f p e m f_{pem} </math>fpem的转换来建模。基于梯度的ground-truth设计可以被认为是一种随机标签,因为输入图像和真值之间在位置方面没有相关性。由于位置信息的提取与图像的内容无关,可以选择任何图像数据集。

实验细节

使用ImageNet分类任务预训练的网络初始化Encoder <math xmlns="http://www.w3.org/1998/Math/MathML"> f e n g f_{eng} </math>feng位置编码分支中的新层使用xavier初始化进行初始化 。使用随机梯度下降训练网络15次,动量为0.9,权值衰减为1e−4。在训练和推理过程中,我们将每个图像的大小调整为固定大小 <math xmlns="http://www.w3.org/1998/Math/MathML"> 224 × 224 224×224 </math>224×224 。由于多层次特征的空间范围不同,将所有的特征映射对齐为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 28 × 28 28 × 28 </math>28×28 的大小。

预训练模型中的位置信息

如表1所示,PosENet (VGG和ResNet)可以很容易地从预训练的CNN模型中提取位置信息,尤其是基于ResNet的PosENet模型。然而,单独训练PosENet(PosENet)在不同的模式和源图像上获得低得多的值。该结果意味着仅从输入图像中提取位置信息是非常困难的。**PosENet只有在与深度编码器网络耦合时才能提取与ground-truth mask一致的位置信息。然而,与其他模式相比,重复模式(HS和vs)的性能较低,这是由于模型复杂性,特别是地面真值和绝对位置之间缺乏相关性。

上图显示了跨不同模式的几种体系结构的定性结果。可以看到H、G和HS模式对应的预测与ground-truth mask之间的相关性,这进一步揭示了这些网络中位置信息的存在。

堆叠层和不同卷积核大小的影响

在PosENet中应用更多的层可以改善所有网络的位置信息读出。一个原因可能是堆叠多个卷积滤波器可以使网络具有更大的有效接受场,例如,两个3 × 3卷积层在空间上等于一个5 × 5卷积层(Simonyan & Zisserman, 2014)。另一种可能性是位置信息可以以一种需要多于一阶推理的方式表示(例如线性读出)。

可以看到,与较小的卷积核相比,较大的卷积核可能捕获更多的位置信息。这一发现表明,位置信息可能在空间上分布在层内和特征空间中,因为更大的接受野可以更好地解析位置信息。

位置信息存储在哪里?

这种比较表明,更深的特征包含更多的位置信息,这证实了人们普遍认为的顶层视觉特征与全局特征相关联。

位置信息从何而来?

从表4中可以看出,没有零填充的VGG16模型在自然图像上的性能远低于默认设置(padding=1)。类似地,通过应用零填充向PosENet引入位置信息。padding=1的PosENet(在帧周围连接一个零)比原始(padding=0)获得更高的性能。当padding=2时,位置信息的作用更加明显。

参考文献

[1] SABOUR S, FROSST N, HINTON GeoffreyE. Dynamic Routing Between Capsules[J]. Neural Information Processing Systems,Neural Information Processing Systems, 2017.

[2] VISIN F, KASTNER K, CHO K, et al. ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks.[J]. arXiv: Computer Vision and Pattern Recognition,arXiv: Computer Vision and Pattern Recognition, 2015.

[3] Nicholas Baker, Hongjing Lu, Gennady Erlikhman, and Philip J. Kellman. Deep convolutional networks do not classify based on global object shape. PLOS Computational Biology, 2018.

相关推荐
SEU-WYL1 小时前
基于神经网络的光线追踪
人工智能·神经网络·计算机视觉
小羊在奋斗6 小时前
【C++】探秘二叉搜索树
c++·人工智能·神经网络·机器学习
#include<菜鸡>10 小时前
深度学习-图像处理篇1.1-1.2神经网络
图像处理·深度学习·神经网络
阡之尘埃1 天前
Python数据分析案例59——基于图神经网络的反欺诈交易检测(GCN,GAT,GIN)
python·神经网络·数据挖掘·数据分析·图神经网络·反欺诈·风控大数据
张琪杭1 天前
基于CNN的10种物体识别项目
人工智能·神经网络·cnn
qq_15321452641 天前
【2023工业异常检测文献】SimpleNet
图像处理·人工智能·深度学习·神经网络·机器学习·计算机视觉·视觉检测
安逸sgr2 天前
1、CycleGAN
pytorch·深度学习·神经网络·生成对抗网络
数据智能老司机2 天前
从零开始构建大型语言模型——微调用于分类
深度学习·神经网络·llm
数据智能老司机2 天前
从零开始构建大型语言模型——实现注意力机制
深度学习·神经网络·llm
#include<菜鸡>2 天前
动手学深度学习(pytorch土堆)-05-1神经网络
pytorch·深度学习·神经网络