Yiwen Liao作者Xiang Chen, Panda参与Joni Zhong编辑

如何计算和可视化卷积神经网络的感受野?

数据科学家Đặng Hà Thế Hiển 在 Medium 上发布了一篇文章,介绍了用于卷积神经网络的感受野的计算方法。机器之心技术分析师对此进行了解读。

博客文章:https://medium.com/@nikasa1889/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807

1 感受野和特征图可视化

感受野的定义是输入空间中 CNN 的特定特征所关注的区域(即受该区域的影响)。

对于卷积神经网络,每个维度中输出特征的数量可以通过下式计算得到:

n_in:输入特征的数量

n_out:输出特征的数量

k:卷积核的大小

p:卷积填充的大小

s:卷积步幅的大小

在这篇博客中,(输入/输出)特征的数量等于沿输入/输出的一个轴(一个维度)的特征的数量。这里,轴可以理解成宽、高或彩色图像的一个通道。

以下图为例:

对于其中的左上图,输入图像为 5×5 的矩阵(蓝色网格)。然后使用 p=1 的零填充(即在输入图像周围添加一圈透明网格)以在卷积过程中保留边缘信息。之后,使用步幅 s=2 的 3×3 卷积核在该图像上进行卷积,得到大小为 3×3 的特征图(绿色网格)。在这个例子中,会得到 9 个特征,每个特征都有大小为 3×3 的感受野(淡蓝色覆盖的矩形区域)。我们可以在这个绿色网格上使用同样的卷积来得到更深度的特征图(橙色网格),如左下图所示。对于橙色的特征图,每个特征具有 7×7 的感受野。

上述方法是一种常用的可视化 CNN特征图的方法。但如果我们只看特征图(绿色或橙色网格),我们不能直接了解一个特征所关注的像素以及该区域有多大。右侧的两幅图是另一种可视化特征图的方法,其中每个特征图的大小是固定的且等于输入的大小,每个特征都位于其感受野的中心。在这种情况下,唯一的任务就是用数学方式计算感受野的面积了。

专业用户独享

本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证
理论可视化卷积神经网络
1
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

推荐文章
暂无评论
暂无评论~