内容简介:-------------推荐阅读------------
AI与神经网络
人工智能已经发展了六七十年,经历了几度繁荣和衰落。虽然已取得不错的进展,但是与理想中的人工智能差距还是很大。
人工智能三大学派:符号学派、连接学派、行为学派。符号学派认为,任何能够将物理的某些模式或符号进行操作并转化成另外一些模式或符号的系统,就可能产生智能行为;连接学派认为高级的智能行为是从大量神经网络的连接中自发出现的,通过大量神经元来模拟大脑;行为学派并没有把目光聚焦到高级智能的人类身上,而是关注低级的昆虫能灵活走动并快速反应。上世纪的八九十年代形成三足鼎立的形势。
这几年再度让人工智能火起来的是连接学派,连接学派通过深度学习将以往很多领域的表现都大幅提高,连接方式无疑已经成为目前最闪耀的人工智能解决方案。连接派的模型都是以神经网络为基础进行创新的,所以核心部分仍然是神经网络结构。
关于分类
人类对事物的识别其实很大程度就是对事物进行分类。就好比下面图中的各种花,我们看到桔梗时就知道它是一种花,看到曼陀罗时也认为它是一种花,看到不同的花我们都对它们进行分类。类似的还有人、树、汽车等等,都属于分类概念,当看到相应事物时都会对其进行分类。
分类是人工智能的核心部分,神经网络则可以实现像人类这样的识别分类能力。对于机器来说,所有信息都是用离散的数字信号来表征的,神经网络的目标就是通过这些离散的信号来进行分类从而达到识别效果。
最简神经网络
感知器是最基础的神经网络,它可以有多个输入(x1,x2,…xn),每个输入对应有一个权重(w1,w2…wn),除此之外还有一个偏置项w0。每个输入和对应的权重相乘然后进行累加,再通过一个阶跃函数,最简神经网络就是这么简单。这么简单的模型有什么用?其实它可用于线性分类。
假如现在有两类事物,分别用蓝色和黄色表示。我们提取了两个判断因子x1和x2,现在准备使用简单的神经网络函数来决定某个点属于蓝色还是黄色。先计算z = a x1+b x2+c,然后再将z值通过Sigmoid激活函数,Sigmoid函数如图,其值被压缩到0-1之间,0.5作为蓝黄色的分界线。
现在的问题是a、b、c参数该怎么确定才能正确地将蓝色和黄色分开呢?我们先随便猜三个值,比如a=0.20,b=-0.3,c=0.7,则此时的分类效果如下。
继续猜a=-0.20,b=-0.7,c=-0.5,这会运气好,效果看起来挺不错的,都正确分类了。可以肯定的是我们可以无限地猜测下去,而且会找到更加完美的分割线。但是哪条分割线是最好的,而且我们应该如何来寻找这些分割线呢?目前为止我们采取的是猜的策略,也许一猜就中,也许永远都猜不中。
更强大的神经网络
简单的感知机属于线性模型,而通过嵌套多个神经网络层和增加神经元就可以解决很多复杂的问题。
整个神经网络模型包含了三要素:线性变换、非线性变换和线性决策。线性与非线性变换实际上就是坐标变换,将信息聚合到其他空间中。从线性到非线性属于特征变换,将某种特征转成另外一种特征。而多层神经网络就是做表征学习。
从数学上看,神经网络的嵌套就是多个函数嵌套,通过复杂的函数嵌套关系来描述特征关系。
同样是对两类事物进行分类,但这次的任务比较复杂,可以看到黄色和蓝色并不能通过简单的函数进行分割,这时最简单的神经网络已经无能为力了,此时就需要嵌套多个神经网络层并且增加神经元来解决了。
现在我们先对原来中间的网络层增加两个神经元,并再增加一层网络,一共拥有两个隐含层。
最终这种多层的神经网络确实能够完成对这种比较复杂的两类事物的分类。
训练神经网络
我们不可能靠猜测靠运气吃饭,神经网络的参数也一样,还是要踏踏实实地按照科学的方针来训练神经网络。实际上我们常常用误差逆传播算法来训练神经网络,它使用的是梯度下降法,通过反向传播不断调整神经网络中各个权重从而使输出层的误差平方和最小。
神经网络的输出层我们会获取到了一个最终的输出,而这个输出与目标值可能存在误差,可以使用误差平方和作为评判标准,这样我们就可以判断我们找到的函数的好坏。
而且,误差是会反向传播的,每个神经元都会有对应的误差。具体处理时通过梯度下降法便可以更新每一个神经元的权重,这样就能解决了神经网络中连接的参数值了,即能确认所有函数的参数。
大概流程为:
-
计算从输入到输出的前馈信号。
-
根据预测值和目标值计算输出误差E。
-
通过前一层中的权重和相关激活函数的梯度对它们进行加权反向传播误差信号。
-
基于反向传播误差信号和输入的前馈信号计算参数的梯度
。
-
使用计算好的梯度来更新参数,公式为
。
-------------推荐阅读------------
我的开源项目汇总(机器&深度学习、NLP、网络IO、AIML、 mysql 协议、chatbot)
以上所述就是小编给大家介绍的《AI神经网络如何辨别事物》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 试试 kaggle 竞赛:辨别猫狗
- React怎样从函数中辨别类
- MSP和CMP,辨别一二
- 漫画:如何辨别二逼互联网公司!?
- 压缩算法 bzip2 的官网 bzip.org 域名过期,请注意辨别
- 神经网络 – 序列预测LSTM神经网络落后
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Flash ActionScript 3.0 动画高级教程
Keith Peters / 苏金国、荆涛 / 人民邮电出版社 / 2010-1 / 65.00元
《Flash ActionScript 3.0 动画高级教程》是介绍Flash 10 ActionScript动画高级技术的经典之作,是作者在这一领域中多年实践经验的结晶。书中不仅涵盖了3D、最新绘图API以及Pixel Bender等Flash 10 ActionScript特性,深入介绍了碰撞检测、转向、寻路等Flash游戏开发技术,还通过实例具体讲解了等角投影和数值积分的基本理论和应用。 ......一起来看看 《Flash ActionScript 3.0 动画高级教程》 这本书的介绍吧!