一、CNN 卷积神经网络原理简介http://blog
net/u012162613/article/details/43225445本文主要是详细地解读 CNN 的实现代码
如果你没学习过 CNN,在此推荐周晓艺师兄的博文:Deep Learning(深度学习)学习笔记整理系列之(七),以及 UFLDL 上的卷积特征提取、池化CNN 的最大特点就是稀疏连接(局部感受)和权值共享,如下面两图所示,左为稀疏连接,右为权值共享
稀疏连接和权值共享可以减少所要训练的参数,减少计算复杂度
至于 CNN 的结构,以经典的 LeNet5 来说明:这个图真是无处不在,一谈 CNN,必说 LeNet5,这图来自于这篇论文:Gradient-Based Learning Applied to DocumentRecognition,论文很长,第 7 页那里开始讲 LeNet5 这个结构,建议看看那部分
我这里简单说一下,LeNet5 这张图从左到右,先是 input,这是输入层,即输入的图片
input-layer 到 C1 这部分就是一个卷积层(convolution 运算),C1 到 S2 是一个子采样层(pooling运算),关于卷积和子采样的具体过程可以参考下图:然后,S2 到 C3 又是卷积,C3 到 S4 又是子采样,可以发现,卷积和子采样都是成对出现的,卷积后面一般跟着子采样
S4到 C5 之间是全连接的,这就相当于一个 MLP 的隐含层了(如果你不清楚 MLP,参考《DeepLearning tutorial(3)MLP 多层感知机原理简介+代码详解》)
C5 到 F6 同样是全连接,也是相当于一个 MLP 的隐含层
最后从 F6 到输出 output,其实就是一个分类器,这一层就叫分类层
ok,CNN 的基本结构大概就是这样,由输入、卷积层、子采样层、全连接层、分