CNN-Convolutional Neural Networks

首要任务,找一个能跑的CNN代码,之前跑matlabdeeplearning toolbox中的代码,好久都不出结果,速度真慢==b,在MNIST数据集上,迭代一次,BacthSize=50大概耗时32个小时。后来定位的问题可能是因为Matlab 2009版本过低导致的问题,后来替换了Matlab 2011b之后就快速计算出结果,大概耗时4分钟左右,109.95s,具体原因尚未定位。

先了解一下基础概念:UFLDL中的“卷积特征提取”和“池化

1、CNN的整体网络结构
CNN一般采用卷积层与采样层交替设置,即一层卷积层接一层采样层,采样层后接一层卷积…这样卷积层提取出特征,再进行组合形成更抽象的特征,最后形成对图片对象的描述特征。

问题:1,卷积核 同 采样核 有可能是同一个 函数吗?如果一样的话,为什么不直接用采样核计算,而不进行卷积。另一种说法,如果卷积核的步长 大一点(>1),那么是不是就没必要有采样这个环节了。
2,CNN的Map在卷积的过程中减少呢?这个当然可以了
3,Pooling层和卷积层的Map数目是一致的吗?Pooling也可以只选择部分卷积层的Map?
4,Pooling压缩信息可以提高泛化能力,如果卷积也可以进行维数压缩吧?有的文章在Pooling后紧接着做一个Folding
5,用BP算法在训练,反向传播误差,如果是无监督任务呢,CNN可以无监督训练吗?好像不可以。
6,最后一步输出得到了一维向量,是通过全连接得到的,即最后一层的Map中的每个像素点都连接最后输出层的那一个点,得到多个1*1的map,其实可以考虑成最后一层只做了 一个卷积,直接卷积成1*1。

重点关注 参考[7].

【参考】
1. CNN卷积神经网络代码理解,matlabdeeplearning toolbox中的代码http://blog.csdn.net/zouxy09/article/details/9993743
2. CNN(Convolutional Neural Networks)没有原理只有实现
3. 【面向代码】学习 Deep Learning(三)Convolution Neural Network(CNN)
4. Notes on Convolutional Neural Networks, Jake Bouvrie:http://cogprints.org/5869/1/cnn_tutorial.pdf
5. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现:http://blog.csdn.net/zouxy09/article/details/9993371
6. Deep Learning论文笔记之(五)CNN卷积神经网络代码理解:http://blog.csdn.net/zouxy09/article/details/9993743
7. 数据挖掘系列(10)——卷积神经网络算法的一个实现:http://www.cnblogs.com/fengfenggirl/p/cnn_implement.html
8. DNN for NLP:http://www.zhizhihu.com/html/y2014/4662.html

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>