码迷,mamicode.com
首页 > 其他好文 > 详细

从下往上看--新皮层资料的读后感 第四部分 第一代NN模型perceptron 感知机

时间:2016-08-16 07:06:19      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

    直到50年代,perceptron算法被Frank Rosenblatt搞了出来。perceptron的想法和pitts的路子就不大一样,perceptron关注MC神经元(MCN)本身的,而不是神经元在大脑中存在的复杂拓扑,所以其中除了MCN以外,没有其他的生物学含义。 按照Pitts的证明,一个开环的正向网络是可以满足所有的计算需求的。Rosenblatt沿着这条思路挖下去,发明了一套直接使用神经元数学特性的方法---perceptron。

技术分享技术分享

    第一步得复习一下MCN,pitts画MCN的时候系统框图还不流行,所以后来大家通常把MCN画成右边的样子,内在的数学表达式一致的。左边是加法,图片右边是个hardlim函数。按下图连接两个输入到一个MCN就得到一个perceptron(单细胞感知机)。是不是感觉被骗了,这是什么鬼,啥都没弄嘛。下面就来细说下。

技术分享技术分享

 

这里面一共是四个变量p1,p2,w1,w2,b是常数threhold。画出来特性就是右边的样子。明白了吧,其实这个单元提供了一种能力,在w1,w2确定的时候,可以把输出为1的输入组合分离出来。这玩意用模拟电路制造起来十分简单,所以可以拿来“鉴定”p1,p2的组合是否符合w1,w2约束的要求(是不是落在灰色的部分)。要改变要求怎么办?拿2个可调电阻改变一下w1,w2就可以了。所以这玩意不只是放在数字计算机上写代码来用,也可以直接做模拟计算机。其中的箭头方向是w1,w2组成的向量,这个向量可以调节内容进行旋转。分割线的刚好是这个向量的正交线,按threshold偏移。如果这个时候把b搞成变量,很自然的就可以在平面上各种平移。顿时在[p1,p2]和b的共同作用下这跟线就可以随便跑了。有兴趣的可以自己动手焊一个,都不用coding哈哈。

 技术分享技术分享

下面开始往里面多拉点输入进去改变输入的数量为R,向量规则依然管用,只是在改变图的维度。这么说比较抽象,做个相反的例子,降低维度,看看右边R=2的时候分割线是条线(看上一段的配图),R=1的时候分割就变成了点,同理可推,三维的时候是个面。四维的时候不知是什么鬼,但这个分类(具体的输入对应在分割的哪边,输出是0还是1)的功能依然被保留下来。从这个例子可以学到向量是个好东西,它能帮你把问题拉到你认识的维度来思考,对我这种粗糙的人来说,这就是个降维工具。所以后面我们所有的讨论和全部都在2维的角度来考虑你要升维降维的事情就不反复了。好了。这貌似和网络没啥关系啊,不着急,他们下面就进一步往下堆这种结构。

 技术分享技术分享

先看竖着堆堆看吧,一堆就发现,直接效果是可以标记出来分割出来的区域变多了,检查最后的输出结果a1,a2就可以知道满足两个节点的情况。

 

下面就开始拿它做点更复杂的事情。拿它做加法?简单啊,w1,w2,b=[1,1,0]搞定。沿着这条路推啊推,发现大多数计算都能搞定,唯独搞不定xor计算。倒回去看看Pitts的文章,马上哦一下。原来多几层堆下去就能搞定。这就是早年的perceptron,这玩意当时不只是个算法,而是一套模拟计算机框架。这种基本的mcp结构很容易用模拟电子做出来。如果把MPN简化成个圈,既可以看到类似下面的结构。

 技术分享

 

 

有了perceptron 这么个宝贝,Rosenblatt顿时就无敌了,拿一台IBM 704模拟成功以后。找美国海军要了一堆钱造了一台出来,名字叫做Mark I。(原计划Mark I是拿来做图像识别用的)。后来这玩意就不造了,原因很简单尽管逻辑上整体是靠谱的,但是单个感知机需要调整三个参数才能用Mark I又造得这么复杂,试问谁去调这些参数,具体又怎么调,调参就成了coding的问题。问题是这玩意还不是数字结构的,逻辑的路子,全都可以按照if else 的基本模式来步步进行。这玩意整个coding过程都必须算成人看不懂的参数出来。所以有了Mark I当时就开始,做自动调参事情,所以到此为止,你别以为perceptron 就是人工智能,这还差最最核心的一步---让机器自己coding。尽管这算是一个整体失败的机会作为对前人敬仰,我们还是上图瞻仰一下。

技术分享

 

 


所以需要清醒的认识一点,perceptron本质上是一套计算架构,这套架构才节点足够多的情况下可以实现所有的计算功能(数字计算机也可以)。是不是感觉白看了这么半天:)之后几十年的时间我们面临的问题事实上perceptron的自coding问题。只有具备了coding自身的能力在perceptron的网络框架下才能说具备初步的智能。同时和Pitts追求模型这里面有几点显著的不同。

    1。perceptron 关注分割模型,Pitts关注算术本身的完备性,出发点不同。

    2.   perceptron关注开环计算,数据是单向的开环的,Pitts的思路是不仅仅限于单向的,环装通路的考量也在其中。

    3.   perceptron没有引入更多的生物特征, Pitts希望以生物样本为蓝图来构建大脑的仿生行为。

 

从下往上看--新皮层资料的读后感 第四部分 第一代NN模型perceptron 感知机

标签:

原文地址:http://www.cnblogs.com/nasiry/p/5774933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!