正文

关于人工神经网络2006-08-20 14:34:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/rickone/17710.html

分享到:

今天有看这方面资料,一点点感想。

首先这样的模型,从功能上讲是很强的,人脑有神经元10^11左右个,我们就可以随心所欲的思考。人的视觉,触觉,听觉都是输入,肢体的控制神经,语言中枢神经和口腔发声控制神经都是输出,从本质上讲这样的抽象是根本的,所谓思维就是这个神经网络中的神经元的相互作用的过程。其次,什么是记忆?记忆就是‘反馈神经’,不知道这个名词准确与否。在《数字逻辑》中时序逻辑电路中也是这样的,输出反过来当成输入,构成一个‘反馈线’,反馈线上的电信号就是‘记忆’,简单的触发器就是这样两个反馈线的与非门构成的,触发器就是‘存储器’的基本元件,一个触发器可以记录一bit,内存上的Memory就是这样做的,同样在神经网络中也是这样,我们把回忆拿出来,重新思考,我们把昨天未下完的一盘棋拿出来继续思考,这就是反馈输入嘛。至于有没有硬盘式的存储器,就不清楚了,实际上,如果把我们的神经系统看成‘电系统’,我们什么时候断过电哟,你拿你的脑袋使劲往墙上撞,有可能会断一会电-_-

其次一点,就是怎么‘学习’?总的来讲,分两种,有教师的学习和无教师的学习,有教师的学习就像是一种训练,我想要这组人工神经网络(ANN)的功能是这样的,我就拿一堆的正确的[输入,输出]去训练它,拿输入数据得到真实的输出,再和理论输出比较,拿这个误差去修改‘弧’上的权值,最终使得它满足所有的‘学习资料’,就拿最简单的与逻辑门来说吧,输入神经元x1,x2(0,1),输出y=f(x1*w1+x2*w2-e),测试数据是:
0,0,0
0,1,0
1,0,0
1,1,1

初使w1,w2,e随机得到,假设是7,4,5吧,第三组数据训练有误差,结果是7-5=2输出是1,于是修正
w1=w1+a(0-1)x1
w2=w2+a(0-1)x2

其中a是(0,1)间的值,表示学习的增益因子,用于控制调整的速度,就取0.5吧,于是修正后的w1=6.5,w2=4,还是不满足,再修正几次,直到w1=4.5,w2=4,e=5就满足了,于是它就会做‘与’运算了。

这里教师的作用就是提供‘正确’的训练数据,这样做学得很快,跟人一样,我们在学校里学习就是这样。另外一种无教师的学习,就会慢很多,会在失败中学习,想起以前英语老师教我们学英语就是要"Make mistakes & try again!",从错误中学习。而正确与错误与否是外界告诉的,这就是要去尝试,去栽根头,然后再爬起来。

阅读(7752) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册