Q1.简述卷积的基本操作,与全连接层的区别

卷积操作

image.png
卷积层通过特定数目的卷积核(又称为滤波器)对输入的多通道特征图进行扫描和运算,从而得到多个拥有更高层语义信息的输出特征图(通道数目等于卷积核的个数)。

与全连接层比较

image.png


相比全连接层,卷积具有以下特点:

局部(稀疏)连接:
输出层上的每个节点只与输入层的部分节点相连。 存在一个感受野的概念。
全连接层节点之间的连接是稠密的,输出层和输入层之间所有节点都存在关联。

权值共享:
卷积核的滑动窗机制,输出层的各个节点与其各自的输入层节点之间的权值是相同的,即同一个卷积核的影响。
全连接层则每个连接之间的权值都不相同

输入\输出数据的结构化:**
卷积操作输入输出之间有空间对应关系
全连接操作则被打乱了

Q2.感受野大小的计算

感受野

由于卷积的局部连接特性,输出特征图上的每个节点只与上一层的部分节点有关。那么对于输出特征图上的某个点,在卷积神经网络的原始输入数据上能影响到这个点的取值的区域称为感受野。
image.png

计算公式

如果原始输入特征图的尺寸为01 卷积基础知识 - 图4 ,记网络第01 卷积基础知识 - 图5层节点的感受野大小为01 卷积基础知识 - 图6,其中01 卷积基础知识 - 图7分别表示宽和高两个方向,感受野的大小计算如下:

  • 如果第01 卷积基础知识 - 图8层为卷积层或池化层,则

01 卷积基础知识 - 图9
其中,01 卷积基础知识 - 图10是第01 卷积基础知识 - 图11层卷积核/池化核的尺寸,01 卷积基础知识 - 图12是第01 卷积基础知识 - 图13层的步长,对原始输入层,定义这两者都为1

  • 若第01 卷积基础知识 - 图14层为激活层、批归一化层等,则其感受野为

01 卷积基础知识 - 图15

  • 若第01 卷积基础知识 - 图16层为全连接层,则其感受野为整个输入数据全域:

01 卷积基础知识 - 图17
按上述公式,要计算第01 卷积基础知识 - 图18层在原始输入数据上的感受野大小,需要先知道前面所有层的信息

Q3.输出尺寸、参数量和计算量

约定
卷积层的输入特征图的尺寸为01 卷积基础知识 - 图19,卷积核的尺寸为01 卷积基础知识 - 图20,步长为01 卷积基础知识 - 图21,输出特征图的尺寸为01 卷积基础知识 - 图22
左右分别进行的填充为01 卷积基础知识 - 图23列,上下分别进行的填充为01 卷积基础知识 - 图24行。

特征图尺寸

那么输出特征图的尺寸为
01 卷积基础知识 - 图25
步长>1时,可能会出现非整数的情况,可是进行向下取整,放弃输入特征图的一部分边缘数据
01 卷积基础知识 - 图26

  • 若填充方式为same padding,则在输入特征图左右两侧会一共填充01 卷积基础知识 - 图27列,上下共填充01 卷积基础知识 - 图28行,最终输出为

01 卷积基础知识 - 图29
其中,如果01 卷积基础知识 - 图30为奇数时,则右侧/下侧会多填充一行或一列

  • 若填充方式为valid,则会不填充,同时放弃右侧和下侧无法滑动到的区域,此时输出特征图为:

01 卷积基础知识 - 图31

参数量
**
每个卷积核有01 卷积基础知识 - 图32个参数,卷积核个数即为输出通道数,则总过的参数数量为
01 卷积基础知识 - 图33

计算量
由滑动窗内的计算量和滑动次数相关。
滑动窗内计算量为01 卷积基础知识 - 图34,滑动次数为输出特征图的数据个数01 卷积基础知识 - 图35,因此总的计算量为
01 卷积基础知识 - 图36

一般情况下,01 卷积基础知识 - 图37,上式近似等于
01 卷积基础知识 - 图38

参考资料
[1] 百面深度学习
[2] 深度学习(花书)
[3] A guide to receptive field arithmetic for Convolutional Neural Networks