卷积神经网络经典结构

卷积神经网络经典结构

卷积神经网络具有几种基本部件:卷积、汇合、激活函数、全连接层和目标函数。

如何“有机组合”才能让模型工作、发挥效能呢?

感受野

感受野(receptive filed)原指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号。在视觉神经系统中,视觉皮层中神经细胞的输出依赖于视网膜上的光感受器。当光感受器受刺激兴奋时,会将
神经冲动信号传导至视觉皮层。不过需指出并不是所有神经皮层中的神经元都会接受这些信号。

而现代卷积神经网络中的感受野又是怎样一回事?

卷积操作为例(如图),如图是一个 7 × 7,步长为 1 的卷积操作,对后层的每一个输出神经元(如紫色区域)来说,它的前层感受野即为黄色区域,可以发现这与神经系统的感受野定义大同小异。


不过,由于现代卷积神经网络拥有多层甚至超多层卷积操作,随着网络深度的加深,后层神经元在第一层输入层的感受野会随之增大。如图所示为 3×3,步长为 1 的卷积操作,同单层卷积操作一样,相邻两层中后层神经元在前层的感受野仅为 3 × 3,但随着卷积操作的叠加,第 L + 3 层的神经元在第 L 层的感受野可扩增至 7 × 7 。

也就是说,小卷积核(如 3×3)通过多层叠加可取得与大卷积核(如 7×7)
同等规模的感受野,此外采用小卷积核同时可带来其余两个优势:第一,由于
小卷积核需多层叠加,加深了网络深度进而增强了网络容量(model capacity)
和复杂度(model complexity);第二,增强网络容量的同时减少了参数个数。

若假设上述示例中卷积核对应的输入输出特征张量的深度均为 C,则 7 × 7 卷
积核对应参数有$ C ×(7×7×C) = 49C^2$ 个。而三层 3×3 卷积核堆叠只需三倍单层 3 × 3 卷积核个数的参数,即 3 × [ C × ( 3 × 3 × C ) ] = 27 C 2 3 × [C × (3 × 3 × C)] = 27C^2 3×[C×(3×3×C)]=27C2 ,远小于 7 × 7卷积核的参数个数。

此外,需指出的是,目前已有不少研究工作为提升模型预测能力通过改造现
有卷积操作试图扩大原有卷积核在前层的感受野大小,或使原始感受野不再是
矩形区域而是更自由可变的形状。

分布式分布

深度学习兴起之前,就有不少关于表示学习的研究,其中在计算机视觉中
比较著名的就是**“词包”模型**(bag-of-word model)。词包模型源自自然语
言处理领域,在计算机视觉中,人们通常将图像局部特征作为一个视觉单词
(visual),将所有图像的局部特征作为词典(vocabulary),那么一张图
像就可以用它的视觉单词来描述,而这些视觉单词又可以通过词典的映射形
成一条表示向量(representation vector)。很显然,这样的表示是离散式表示(distributional representation),其表示向量的每个维度可以对应一个明确的视觉模式(pattern)或概念(concept)。词包模型示意图如图所示。

不同的是,在深度学习中,深度卷积神经网络呈现“分布式表示” (distributed representation)的特性。神经网络中的“分布式表示”指“语义概念”(concept)到神经元(neuron)是一个多对多映射,直观来讲,即每个语义概念由许多分布在不同神经元中被激活的模式(pattern)表示;而每个神经元又可以参与到许多不同语义概念的表示中去。

举个例子,如图所示,将一些物体为中心的图像(object-centric images)
送入在 ImageNet 数据集上预训练(pre-train)的卷积网络,

若输入图像分辨率为 224 × 224,则最后一层池化层(pool)可得 7 × 7 × 512 大小的响应张量(activation tensor),其中“512”对应了最后一层卷积核的个数,512个卷积核对应了 512 个不同的卷积结果(512个特征图或称“通道”)。可视化时,对于“鸟”或“狗”这组图像对,我们分别从 512张 7 × 7 的特征图(feature map)中随机选取相同的 4 张,并将特征图与对应原图叠加,即可得到有高亮部分的可视化结果。从图中可明显发现并证实神经网络中的分布式表示特性。

以鸟类这组图像为例,对上下两张“鸟”的图像,即使是同一卷积核(第 108
个卷积核)但在不同原图中响应(active) 的区域可谓大相径庭:对上图,其响应在鸟爪部位;对下图,其响应却在三个角落即背景区域。关于第三个随机
选取的特征图(对应第 375 个卷积核),对上图其响应位于头部区域,对下图则响应在躯干部位。更有甚者,同一卷积核(第 284 个卷积核)对下图响应在躯干,而对上图却毫无响应。这也就证实了:对于某个模式,如鸟的躯干,会有
不同卷积核(其实就是神经元)产生响应;同时对于某个卷积核(神经元),会
在不同模式上产生响应,如躯干和头部。另外,需指出的是,除了分布式表示
特性,还可从图中发现神经网络响应的区域多呈现**“稀疏”(sparse)** 特性,即响应区域集中且占原图比例较小。

深度特征的层次性

不同层神经元的表示特点,
即深度特征的层次性:之前提到,卷积操作可获取图像区域不同类型特征,而池化等操作可对这些特征进行融合和抽象,随着若干卷积、汇合等操作的堆叠,各层得到的深度特征逐渐从泛化特征(如边缘、纹理等)过度到高层语义表示
(躯干、头部等模式)。

另外,得益于卷积网络特征的层次特性使得不同层特征可信息互补,因此对单个网络模型而言“多层特征融合”(muti-layer ensemble)往往是一种很直接且有效的网络集成技术,对于提高网络精度通常
有较好表现。

猜你喜欢

转载自blog.csdn.net/AI_ayuan/article/details/129442667