DL学习笔记-CNN 架构介绍
CNN的网络结构跟 TNN的网络结构是十分相似的。
TNN缺点:全连接,数据大 的时候参数极多,处理十分浪费。大多的参数也会导致网络过度拟合(why?)。
正因为这个缺点,CNN就出现了。CNN整体采用局部连接,实现参数共享。大量减少参数数目。
1.CNN的每一层神经元排列结构与TNN的区别?
CNN中每一层的的神经元排列成3个维度。
2.CNN中各个层的分布:
(1)输入层,输入的为原始数据大小。例如:32X32 像素,3通道。类似上图。
(2)卷基层,开始滤波,使用N个卷积核,输出的数据体维度是 32X32XN
(3)ReLU层将会逐个元素地进行激活函数操作,比如使用以0为阈值的作为激活函数。该层对数据尺寸没有改变,还是[32x32xN]。
(4)Pool层,在这一层对数据进行降采样。数据尺寸变成 16X16XN
(5)全连接层,变成1X1Xk(k为分的类别,)变成这样的平分向量。
3.在卷积层,数据流动的方式?
卷积层是多个滤波器也就是卷积核的集合,每个滤波器的尺寸大小。()长宽是两个超参数,也是相对于大脑中,神经元的感受野的大小)深度与输入数据的大小是一致的。每个卷积核在整个输入数据体上滑动,滑动的时候的步长也是超参数,为了使输出数据和输入数据大小一致,需要零填(zero-padding)充来补充。(W-F+2P)/2+1为输出数据体的大小。
4.CNN中为何能实现参数共享?
5.卷积层数据流动的方式,请解释:

6.汇聚层的作用,以及原理:
连续卷积层之间会有一个汇聚层,他的作用是降低数据体的空间尺寸,这样的话会减少网络中的参数数量。一般使用MAX操作,如果步长是2,使用2X2的滤波器,将丢掉百分之75的信息。汇聚层在输入数据体的每个深度切片上,独立地对其进行空间上的降采样。
- 输入数据体尺寸
- 有两个超参数:
- 空间大小
- 步长
- 输出数据体尺寸
,其中
- 因为对输入进行的是固定函数计算,所以没有引入参数
- 在汇聚层中很少使用零填充
在实践中,最大汇聚层通常只有两种形式:一种是,也叫重叠汇聚(overlapping pooling),另一个更常用的是
。对更大感受野进行汇聚需要的汇聚尺寸也更大,而且往往对网络有破坏性。
普通汇聚(General Pooling):除了最大汇聚,汇聚单元还可以使用其他的函数,比如平均汇聚(average pooling)或L-2范式汇聚(L2-norm pooling)。平均汇聚历史上比较常用,但是现在已经很少使用了。因为实践证明,最大汇聚的效果比平均汇聚要好。