您的位置:首页 > 理论基础 > 计算机网络

卷积神经网络理解与实现

2014-10-22 00:18 501 查看
神经网络和卷积神经网络的理解与工作(早):

http://wenku.baidu.com/view/9ae538a14028915f814dc246.html

神经网络推导月卷积神经网络推理

http://wenku.baidu.com/view/4550a0b94b73f242336c5fbb.html

毕设ppt,有几个关于bp的图,感觉不错

http://wenku.baidu.com/view/1cc957badd36a32d72758117.html

我对CNN matlab 代码的详细解析:

http://wenku.baidu.com/view/65344686102de2bd9605886e.html

or http://pan.baidu.com/s/1sjJjftz

在网上看过一些博客,和一些论文,尝试着自己去实现CNN。

我的CNN效果:

http://pan.baidu.com/s/1jGvGGBkhttp://v.youku.com/v_show/id_XODM4NzcyMzg0.html,(视频U酷转码后就看不太清了)

我的CNN代码(开发环境为:visual studio 2010):

mlp单层(6w图库训练):http://pan.baidu.com/s/1o6Fl1LS

mlp单层(6k实图训练):http://pan.baidu.com/s/1mgqSYVI

mlp双层:http://pan.baidu.com/s/1sj9F7dF

图库:http://pan.baidu.com/s/1pJsOMqn 6W+1W=7万张

图片图库:http://pan.baidu.com/s/1c0yAQ68 大约10*1000=约1w张(并不是每个数字严格1000张)

我的CNN结构(mlp单层):



把所有神经元的输出显示出来效果如下: (代码:http://pan.baidu.com/s/1bnEXUfP)



训练结果:

sigmoid函数作为尾部整形函数:

6000张图片训练100次,自洽检验准确率99.8%
2000张图片测试,准确率:98.4%



我用6w张图片训练100次,用另1w张图片测试,

尾部整形函数用sigmoid:

训练准确率为99.51%,测试准确率为98.80%,在两层卷积与sfm1误差传播过程中采用了多线程,训练时间约2小时。

尾部整形函数用softmax:

训练准确率为99.9281%,测试准确率为98.64%

训练好的网络参数:http://pan.baidu.com/s/1kTMdkwv

6w的数据集中数字有歪的数字、有噪点的数字。

发现很多博客会大体介绍CNN的思想,但往往对实现细节理解不够准确或者语焉不详,论文不会详细介绍CNN的实现过程。

后来我查看了cnn matlab代码DeepLearnToolbox-master,发现了自己理解的很多错误。

我在写CNN上走过很多弯路,要特别注意:

1 每个卷积层featureMap只有一个bias,一个featureMap有若干个输入map,和每个输入map的连接对应一个filter。

2 卷积层误差传播可以通过误差播撒的方式来完成,它和旋转180度的卷积核对误差map做卷积得到的结果是一样的。

因为featureMap间的连接权重是以卷积核的形式表现的,卷积核可以被认为是某种均化后的权重。

3 怎么来理解共享权值?

一个featureMap在进行卷积的过程中会被切割出很多filterSize大小的图块,每个图块和卷积层的featureMap中的某个神经元连接,连接的权重就是卷积核。一个featuremap切割出来的所有的图块共享权值共享的是卷积核。



4 如何来更新卷积核?以及计算卷积层上一层的误差?

这里借用了神经网络的训练思想:我们把一个featureMap的卷积过程看作是一个filterSize*1大小的神经网络,用不同的图块反复训练的过程。

5 mlp采用双层抖动很厉害,训练效果不好,不收敛。mlp采用单层就好多了。

7 卷积过程可以采用多线程加速,第一层子采样的求误差delta的过程也适合采用多线程加速。

以下三次卷积过程是CNN中极为重要的。



图库:http://pan.baidu.com/s/1pJsOMqn 6W+1W=7万张文件解析:

训练特征文件解析,从第一个pixel value开始,没784个像素点表示一张图片,784个像素值是28*28的图像按列展开得到的。



训练用的标签文件解析:



斯坦福大学的几个CNN的例子,超帅!

http://cs.stanford.edu/people/karpathy/convnetjs/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: