非监督特征学习与深度学习(十二)---- 卷积神经网络
注:本文转载自https://github.com/ysh329/Chinese-UFLDL-Tutorial
因为github上的makedown格式显示的不够完全,看的非常不方便,因此放到****上比较好查阅学习。
卷积神经网络(Convolutional Nerual Network)
概述(Overview)
卷积神经网络(
卷积神经网络的实现是借助局部连接和在其之后的绑定权重,其中池化操作有平移不变特征。卷积神经网络的另一个优点在于更容易训练,并且卷积神经网络的参数虽多但却比相同隐含单元的全连接网络要少。
在本节内容中,我们将会讨论卷积神经网络的架构和用来计算模型中不同参数梯度的反向传播算法。卷积和池化更详细的具体操作见本教程的各自章节。
网络架构(Architecture)
一个卷积神经网络是由很多个卷积层、后接可选的(一层或多层)下采样层以及后接的全连接层组成的。卷积层的输入是一个规模为
过滤器的规模增加了局部连接的结构(译者注:不是很理解这句话的深层含义:The size of the filters gives rise to the locally connected structure.),原图被(这种结构)卷积成为规模为
之后,每个(特征)图通常在
在下采样层的之前或之后,(译者注:会对结果)应用一个附加的偏置和
下图描述了卷积神经网络中一个完整的卷积和下采样层。一样颜色的(译者注:神经)单元有着连接权重。
相同颜色的神经单元有连接权重,不同颜色的神经元表示不同的滤波器(图)
(译者注:这里不同颜色的神经元代表着不同的滤波器或核。
对于“RF”,个人理解为感受野(
感受野是视觉系统信息处理的基本结构和功能单元。
注意:滤波器和核是一个意思,滤波器和通道不是一个意思)。
在卷积层后可能有任意个全连接层。在一个标准的多层神经网络中,被密集连接(译者注:即全连接)的这些层是一样的。
反向传播(Back Propagation)
对于网络中的成本函数
计算第
如果第
其中, 上采样
操作的误差传播是通过池化层(译者注:即下采样层)与进到池化层的各神经元(译者注:“进到池化层的各神经元”,即池化层前一层的神经元)计算误差。
举个例子,若做完了平均值池化,然后对(前一层的)池化(神经)单元进行简单的均匀分布(译者注:均匀分布,即 上采样
。在最大值池化中,即使(上层)输入(译者注:在池化的相邻区域内)的变化很小,(池化)单元会对结果产生扰动(译者注:本句翻译不确定,”In max pooling the unit which was chosen as the max receives all the error since very small changes in input would perturb the result only through that unit. “)。
Finally, to calculate the gradient w.r.t to the filter maps, we rely on the border handling convolution operation again and flip the error matrix δ(l)k the same way we flip the filters in the convolutional layer.
最后,为了计算特征图(即
其中,