Q1.简述卷积的基本操作,与全连接层的区别
卷积操作
卷积层通过特定数目的卷积核(又称为滤波器)对输入的多通道特征图进行扫描和运算,从而得到多个拥有更高层语义信息的输出特征图(通道数目等于卷积核的个数)。
与全连接层比较
相比全连接层,卷积具有以下特点:
局部(稀疏)连接:
输出层上的每个节点只与输入层的部分节点相连。 存在一个感受野的概念。
全连接层节点之间的连接是稠密的,输出层和输入层之间所有节点都存在关联。
权值共享:
卷积核的滑动窗机制,输出层的各个节点与其各自的输入层节点之间的权值是相同的,即同一个卷积核的影响。
全连接层则每个连接之间的权值都不相同
输入\输出数据的结构化:**
卷积操作输入输出之间有空间对应关系
全连接操作则被打乱了
Q2.感受野大小的计算
感受野
由于卷积的局部连接特性,输出特征图上的每个节点只与上一层的部分节点有关。那么对于输出特征图上的某个点,在卷积神经网络的原始输入数据上能影响到这个点的取值的区域称为感受野。
计算公式
如果原始输入特征图的尺寸为 ,记网络第层节点的感受野大小为,其中分别表示宽和高两个方向,感受野的大小计算如下:
- 如果第层为卷积层或池化层,则
其中,是第层卷积核/池化核的尺寸,是第层的步长,对原始输入层,定义这两者都为1
- 若第层为激活层、批归一化层等,则其感受野为
- 若第层为全连接层,则其感受野为整个输入数据全域:
按上述公式,要计算第层在原始输入数据上的感受野大小,需要先知道前面所有层的信息
Q3.输出尺寸、参数量和计算量
约定
卷积层的输入特征图的尺寸为,卷积核的尺寸为,步长为,输出特征图的尺寸为
左右分别进行的填充为列,上下分别进行的填充为行。
特征图尺寸
那么输出特征图的尺寸为
步长>1时,可能会出现非整数的情况,可是进行向下取整,放弃输入特征图的一部分边缘数据
- 若填充方式为same padding,则在输入特征图左右两侧会一共填充列,上下共填充行,最终输出为
其中,如果为奇数时,则右侧/下侧会多填充一行或一列
- 若填充方式为valid,则会不填充,同时放弃右侧和下侧无法滑动到的区域,此时输出特征图为:
参数量
**
每个卷积核有个参数,卷积核个数即为输出通道数,则总过的参数数量为
计算量
由滑动窗内的计算量和滑动次数相关。
滑动窗内计算量为,滑动次数为输出特征图的数据个数,因此总的计算量为
一般情况下,,上式近似等于
参考资料
[1] 百面深度学习
[2] 深度学习(花书)
[3] A guide to receptive field arithmetic for Convolutional Neural Networks