原版地址:http://cs231n.github.io/convolutional-networks/
知乎翻译地址:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit
1 卷积层
(1)理解卷积层
按照卷积的观点看,卷积层由若干卷积核(滤波器)组成,核的参数待学习,将卷积核在输入上滑动相乘,得到的输出称为激活图。假设输入数据体的尺寸为。4个超参数为:滤波器的数量,滤波器的空间尺寸,步长,零填充数量。则输出数据体的尺寸为 ,其中:, ,。
按照神经元的观点看,卷积层中神经元的一个深度切片是共享参数的,并且它们只连接到输入的一部分(称为感受野),每个神经元突触的权重就是滤波器。不同深度上的神经元是不共享参数的。也就是说,同一个深度切面上的所有神经元都学习同样的特征,不同深度上的神经元学习不同的特征。由于图像具有平移不变性,因此共享参数是合理的,处于同一深度切面上的神经元是在图像不同位置上检测相同的特征。
(2)实现
普通实现,矩阵乘法实现。详细见https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit
2 pooling层
pooling层也有一个滑动的滤波器,但是不含参数,只是对输入做降采样,通常是取窗口内的最大值操作。
3 全连接层转化成卷积层
全连接层可以看作卷积层,这种转化的好处是可以用一次前向传播对更大图像的不同位置打分,而如果不做这种转化,就需要输入在大图像上不同位置滑动,经过多次前向传播,才能获得不同位置的打分。
4 结构
常见的卷积网络结构为:INPUT -> [[CONV -> RELU]*N -> POOL?]*M -> [FC -> RELU]*K -> FC
5 层结构及超参数的设置规律
详见https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:cs231n–详解卷积神经网络 - Python技术站