Notes on Convolutional Neural Networks

卷积神经网络的导出与实现
概述
本文档由Jake Bouvrie撰写,讨论了卷积神经网络(CNNs)的导出和实现,以及一些简单的扩展。卷积神经网络通过架构本身实现了形式上的正则化,并自动提供了一定程度的平移不变性。本文特别关注于从数据驱动的方式学习滤波器,以提取输入的特征描述。

全连接网络的经典反向传播
在典型的卷积神经网络中,早期分析包括交替的卷积和子采样操作,而架构的最后阶段由通用的多层网络组成。当将最终的二维特征图作为输入传递给全连接的1维网络时,通常会将所有输出图中的特征拼接成一个长输入向量,然后应用标准的反向传播算法。

卷积神经网络
卷积层通常与子采样层交替使用,以减少计算时间并逐步建立更高级的空间和配置不变性。卷积层的前一层特征图与可学习的核进行卷积,并通过激活函数形成输出特征图。每个输出图可能结合多个输入图的卷积。

学习特征图的组合
在文献中,形成给定输出图的输入图通常由手工选择。然而,我们可以在训练过程中尝试学习这些组合。通过softmax函数,我们可以对权重进行约束,以实现稀疏组合。

实现细节
在MATLAB中实现CNN时,主要的计算瓶颈包括在前向传播中对卷积层输出图的下采样,以及在反向传播中对较高子采样层的delta进行上采样以匹配较低卷积层的输出图大小。使用MATLAB内置的图像处理函数进行上采样和下采样操作可能会带来显著的开销。一个更快的替代方法是使用Kronecker积函数。

实际训练问题
在训练CNN时,需要考虑批量更新与在线更新、学习率的选择、误差函数的选择以及使用有限差分来检查反向传播实现的正确性等问题。

参考文献
[1] C.M. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, New York, 1995.
[2] FJ. Huang and Y. LeCun, “Large-scale Learning with SVM and Convolutional for Generic Object Categorization”, In: Proc.2006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

应用市场

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值