卷积神经网络(Lecun的论文)

Lecun的cnn引起了我很大的兴趣,从今天开始看Lecun的论文,并把实践结果发布在这里。20100419

 

Generalization and Network Design Strategies 论文看完了,搞清楚了里面描述的5中网络结构.BP规则部分的推导,需要看其他的书。以前看的《神经网络设计》中文版中讲的很清楚,当时也看懂了。这两天看下。准备实现这5种网络。20100422

网上下了个cnn的源码,对mnist训练速度好慢。已经2个星期了。还没训练好。

这几天在看on intelligence 不错的书,关于vision 的一些描述,和cnn很接近。20100625

 

看了on intelligence后有一些想法。悲剧的是突然断电了,训练了2个多星期的网络,没了。

不过也积累了一点的经验。对bp的认识我还是比较粗浅。

先来看下mse的计算问题。性能指数F(x)=E[eTe]是均方误差的期望,而实际训练时用F^(x)=e(k)Te(k)第k次迭代时的均方误差来代替。这个是需要理论依据的。似乎是Widrow-Hoff算法中首先采用了这种替代。它的好处是用当前误差和当前输入就可以完成一次学习。问题是这种方法能使得全局mse收敛吗?文中说,LMS算法在学习速度不大时(满足一个边界公式)可以保证收敛到具有最小均方误差的解。推导可以参考《神经网络设计》p173中的收敛性分析。推广到多层网络的情况在P228页有讨论。

 

接下去是网络初始化和学习速度的问题。由于多层网络的对称性,网络初始化的值不能太大,也不能为0。学习速度小可以避免振荡收敛。在p230页有讨论。

 

网络上有c++写的cnn源码,http://www.codeproject.com/KB/library/NeuralNetRecognition.aspx 非常好。

这个代码只能识别10个模式,得改下才能识别26个模式。主要的修改在MnistDoc.cpp中。网络结构的定义也在这个文件中。-20100706

输出改成26,识别效果还好,能达到90%左右。

输出改成36(大写字母和数字),效果就不行了。学习速度因子(learing rate ,eta)下降到0.00063,误识率还有60%以上。过低的eta可能会导致过拟合。

 

 

 

 2011.4.19

在opencv2.2中发现了cnn的实现。好歹cnn的卷积层也是很让人心动的(通过学习得到一些类似稀疏编码的feature map,毕竟是比较一般化的)。写个简单的例子看看cnn的效果。不知道能比codeproject上的那个代码快多少。

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值