博舍

人工智能的发展与未来 我国第一个人工智能

人工智能的发展与未来

随着人工智能(artificialintelligent,AI)技术的不断发展,各种AI产品已经逐步进入了我们的生活。

现如今,各种AI产品已经逐步进入了我们的生活|Pixabay

19世纪,作为人工智能和计算机学科的鼻祖,数学家查尔斯·巴贝奇(CharlesBabbage)与艾达·洛夫莱斯(AdaLovelace)尝试着用连杆、进位齿轮和打孔卡片制造人类最早的可编程数学计算机,来模拟人类的数理逻辑运算能力。

20世纪初期,随着西班牙神经科学家拉蒙-卡哈尔(RamónyCajal)使用高尔基染色法对大脑切片进行显微观察,人类终于清晰地意识到,我们几乎全部思维活动的基础,都是大脑中那些伸出细长神经纤维、彼此连接成一张巨大信息网络的特殊神经细胞——神经元。

至此,尽管智能的具体运作方式还依然是个深不见底的迷宫,但搭建这个迷宫的砖瓦本身,对于人类来说已经不再神秘。

智能,是一种特殊的物质构造形式。

就像文字既可以用徽墨写在宣纸上,也可以用凿子刻在石碑上,智能,也未必需要拘泥于载体。随着神经科学的启迪和数学上的进步,20世纪的计算机科学先驱们意识到,巴贝奇和艾达试图用机械去再现人类智能的思路,在原理上是完全可行的。因此,以艾伦·图灵(AlanTuring)为代表的新一代学者开始思考,是否可以用二战后新兴的电子计算机作为载体,构建出“人工智能”呢?

图灵在1950年的论文《计算机器与智能(ComputingMachineryandIntelligence)》中,做了一个巧妙的“实验”,用以说明如何检验“人工智能”。

英国数学家,计算机学家图灵

这个“实验”也就是后来所说的“图灵测试(Turingtest)”:一名人类测试者将通过键盘和显示屏这样不会直接暴露身份的方式,同时与一名人类和一台计算机进行“网聊”,当人类测试者中有七成都无法正确判断交谈的两个“人”孰真孰假时,就认为这个计算机已经达到了“人工智能”的标准。

虽然,图灵测试只是一个启发性的思想实验,而非可以具体执行的判断方法,但他却通过这个假设,阐明了“智能”判断的模糊性与主观性。而他的判断手段,则与当时心理学界崛起的斯纳金的“行为主义”不谋而合。简而言之,基于唯物主义的一元论思维,图灵和斯金纳都认为,智能——甚至所有思维活动,都只是一套信息处理系统对外部刺激做出反应的运算模式。因此,对于其他旁观者来说,只要两套系统在面对同样的输入时都能够输出一样的反馈,就可以认为他们是“同类”。

1956年,人工智能正式成为了一个科学上的概念,而后涌现了很多新的研究目标与方向。比如说,就像人们在走迷宫遇到死胡同时会原路返回寻找新的路线类似,工程师为了使得人工智能达成某种目标,编写出了一种可以进行回溯的算法,即“搜索式推理”。

而工程师为了能用人类语言与计算机进行“交流”,又构建出了“语义网”。由此第一个会说英语的聊天机器人ELIZA诞生了,不过ELIZA仅仅只能按照固定套路进行作答。

而在20世纪60年代后期,有学者指出人工智能应该简化自己的模型,让人工智能更好的学习一些基本原则。在这一思潮的影响下,人工智能开始了新一轮的发展,麻省理工学院开发了一种早期的自然语言理解计算机程序,名为SHRDLU。工程师对SHRDLU的程序积木世界进行了极大的简化,里面所有物体和位置的集合可以用大约50个单词进行描述。模型极简化的成果,就是其内部语言组合数量少,程序基本能够完全理解用户的指令意义。在外部表现上,就是用户可以与装载了SHRDLU程序的电脑进行简单的对话,并可以用语言指令查询、移动程序中的虚拟积木。SHRDLU一度被认为是人工智能的成功范例,但当工程师试图将这个系统用来处理现实生活中的一些问题时,却惨遭滑铁卢。

而这之后,人工智能的发展也与图灵的想象有所不同。

现实中的人工智能发展,并未在模仿人类的“通用人工智能(也称强人工智能)”上集中太多资源。相反,人工智能研究自正式诞生起,就专注于让计算机通过“机器学习”来自我优化算法,最后形成可以高效率解决特定问题的“专家系统”。由于这些人工智能只会在限定好的狭窄领域中发挥作用,不具备、也不追求全面复杂的认知能力,因此也被称为“弱人工智能”。

但是无论如何,这些可以高效率解决特定问题的人工智能,在解放劳动力,推动现代工厂、组织智能化管理上都起到了关键作用。而随着大数据、云计算以及其他先进技术的发展,人工智能正在朝着更加多远,更加开放的方向发展。随着系统收集的数据量增加,AI算法的完善,以及相关芯片处理能力的提升,人工智能的应用也将逐渐从特定的碎片场景转变为更加深度、更加多元的应用场景。

人工智能让芯片的处理能力得以提升|Pixabay

从小的方面来看,人工智能其实已经渐渐渗透进了我们生活的方方面面。比如喊一声就能回应你的智能语音系统,例如siri,小爱同学;再比如在超市付款时使用的人脸识别;抑或穿梭在餐厅抑或酒店的智能送餐机器人,这些其实都是人工智能的应用实例。而从大的方面来看,人工智能在制造、交通、能源及互联网行业的应用正在逐步加深,推动了数字经济生态链的构建与发展。

虽然脑科学与人工智能之间仍然存在巨大的鸿沟,通用人工智能仍然像个科幻梦,但就像萧伯纳所说的那样“科学始终是不公道的,如果它不提出十个问题,也永远无法解决一个问题。”科学总是在曲折中前进,而我们只要保持在不断探索中,虽无法预测是否能达到既定的目的地,但途中终归会有收获。

参考文献

[1]王永庆.人工智能原理与方法[M].西安交通大学出版社,1998.

[2]Russell,StuartJ.ArtificialIntelligence:AModernApproach[J].人民邮电出版社,2002.

[3]GabbayDM,HoggerCJ,RobinsonJA,etal.Handbookoflogicinartificialintelligenceandlogicprogramming.Vol.1:Logicalfoundations.,1995.

[4]胡宝洁,赵忠文,曾峦,张永继.图灵机和图灵测试[J].电脑知识与技术:学术版,2006(8):2.

[5]赵楠,缐珊珊.人工智能应用现状及关键技术研究[J].中国电子科学研究院学报,2017,12(6):3.

[6]GeneserethMR,NilssonNJ.LogicalFoundationofArtificialIntelligence[J].brainbroadresearchinartificialintelligence&neuroscience,1987

作者:张雨晨

编辑:韩越扬

[责编:赵宇豪]

《一个人工智能的诞生》学习记录

文章目录前言一、路线图二、开始学习1.识别数字2.鳄鱼与蛇3.序幕4.加一层5.梯度下降6.终点7.搭建你的神经网络8.神经网络挑战赛前言

通过学习PaperCilb制作的交互视频《一个人工智能的诞生》学习机器学习的基本逻辑。以下学习内容为jibencaozuo.com侵删欢迎大家指正

一、路线图

下图是一个人工智能的诞生的总体学习路线图介绍:

二、开始学习1.识别数字

万物皆数——毕达哥拉斯AllisNumber——PythagorasMNIST数据库是一个经过预先处理的数字照片集合(7万张手写数字28X28像素)。

一张照片包含784个像素,【像素:由8bit存储灰度值,即共有2的8次方0-255个灰度值(0黑)】最终可以形成一个(X1,X2,X3,X4…X784)的784维向量,该向量对应784维空间中的一个点。以3,7分类为例:由于3和7在28X28的一张照片中,数字轨迹在图片中的分布位置有一定的规律,由此形成的向量中的每一个值必然有一定的区间,那么3和7在784维空间中的分布也有一定的区域存在,由此将MNIST数据库中的所有3,7进行向量的标注可以形成两个大致的区域。系统只需要能找到一个783维的参数表达式就可以将784维的两类数据分开,从而判断3和7。就像二维坐标系中的ax+y+b=0一样,最终会形成一个X1W1+X2W2…X784*W784+b=0的参数式,其中Xi是像素值(不同照片不一样会变),Wi是权重,如果系统能找到所有的Wi值,即找到783维的分割域,那么系统就可以据此判断3和7。

这就是系统进行自动训练的简单描述,但如何去寻找Wi的值才是重中之重,下节会讲到。

2.鳄鱼与蛇

说不定只有在盲人的世界一切东西才显出其真实的样子——若泽·萨拉马戈Perhapsonlyinaworldoftheblindwillthingsbewhattheytureare——JoséSaramago本节内容主要讲解机器如何自动实现Wi的值的动态调整,从而实现简单的机器学习。使用鳄鱼与蛇的例子进行讲解:由于不同的体长和体重使两者有很好的区别性,用X1表示体长,X2表示体重,可以制作出如图所示的点图。与上节课类似的我们可以找到一条分割线(该分割线方程为:W1X1+W2X2+b=0)划分为两个区域,据此可以区别出两个物种的分布域。这是人工标识并推导出了这条分割线,机器通过对Wi的值进行自动调整,也可以实现分割线方程的表达。可以通过下面的这种模式进行分析:分类就是智能的源头输入特征—识别特征—输出结果—判断对错我们只需要通过一个反馈值不断优化初始分割线方程的Wi值即可实现最终的方程表达式:1)这是初始方程:f(x)=W1X1+W2X2+b2)添加反馈参数:f(x)=(Wi+ΔWi)*X1+(Wj+ΔWj)*X2+(b+Δb)ΔWi与ΔWj是反馈参数3)和人的思维模式一样,系统只需要对输入的特征能够完成基本的识别,再对识别的结果进行判断即可完成对目标的分类。(判断:通过给定目标结果Y的值再与系统输出结果y的值进行比对。设置目标结果Y:鳄鱼=1,蛇=0)4)输入特征值进行比对:输入一组特征值带入方程–>结果包含>00,则输出结果y=1,而目标结果Y=1此时说明方程正确不修改。反之y不等于Y,说明判断结果表示该分割线方程错误进而进行反馈调整。5)反馈值调整:反馈值的计算方程:ΔWi=ΔWi(t+1)-ΔWi(t)PS:方程通常会乘以参数r后期会讲到该内容。//在学习过程中不是很明白最后给出的表达式:ΔWi=(Y-y)*Xi、Δb=(Y-y)*1希望哪位Dalao能够指点下迷津。最后不断重复:输入特征—识别特征—输出结果—判断对错—调节反馈的过程即可实现最终输出正确的分割方程。

类似的对可以实现更高维度的数据分类:但上述例子只是最简单的一种情形,实际情况下很多模型都无法通过一条直线、一个平面或者超平面进行分割,比如下面的例子,下节内容将对该模型进行分析。

3.序幕

我们的头脑所想象的秩序像是一张网,或是一架梯子,那是为了获得某种东西而制造的但是,上去之后就得把梯子扔掉,因为人们发现,尽管梯子是有用的,但是没有意义——翁贝托·埃科Theorderthatourmindimaginesislikeanet,orlikealadder,buildtoattainsomethingButafterwardyoumustthrowtheladderaway,becauseyoudiscoverthat,evenifitwasuseful,itwasmeaningless——UmbertoEco本节只有一个问题,就是完成对(0,0)(1,0)(0,1)(1,1)的分类:系统给出了一条可以自由活动的任意直线,通过调整直线的位置来对黄点和蓝点进行分类。很显然只通过变换直线是无法完成分类操作的,此时提示可以通过变换空间来实现。通过调整坐标网格四个角可以调整空间,从而实现分类。这节课就这么简单,序幕已经拉开,开始学习后面的内容。

4.加一层

一旦等你想出来之后,你就会发现方法都很简单。也只有在指导答案之后,才会觉得简单——罗伯特·M.波西格Thesolutionallaresimple——afteryouhavearrivedatthem.Buttheyaresimpleonlywhenyouknowalreadywhattheyare.——RobotM.Pirsig

之前的模型输入都是一次的,那么输入与输出之间的关系就是一次函数,即分割线方程为一次函数(直线),所以在序幕中无法通过调整直线来进行数据分类。上节课的解决方法是通过“弯曲”整个坐标系来实现。

(1,0)点在x=2这条线的左侧,在不改变x=2这条线位置的前提下怎么将该点挪到线的下面呢?“弯曲”整个坐标系!简单来说就是找到新的方程使得该点在这条线的左侧,比如将整个横坐标进行延展3倍,(1,0)就到原直线的左侧,此时直线方程为3x=2。我们发现通过对原方程稍作调整,x=2到3x=2,通过线性变换即可满足我们的需求。

对坐标系调整,将坐标系拉伸、压缩、反转、倾斜、平移,通过这些方式可以将一些数据改变它们本来的位置,在配合分割线方程就可以对数据进行分类。

上述的操作本质就是找到了新的坐标系表达式,而新的坐标表达式由原先的坐标变换而来,因此可以形成这样的模型Z1、Z2就是新坐标系的表达式

通过变换我们可以将(0,0)(1,0)(0,1)(1,1)四个点改变成这样图中两个亮点(-0.7,-0.97)(-0.32,-0.19)是之前的(0,0)(1,1),左上角(-1.88,0.21)是(1,0),右下角(0.87,-1.38)为(0,1)这个时候还是无法用一条线来分割这两类数据,因为我们始终是在做线性变换。所以引入非线性变换,常用的有四种激活函数(阶跃函数、逻辑函数、线性整流函数、双曲正切函数)。

阶跃函数特性:(1,1)通过线性变换—(-0.32,-0.19)通过非线性变换—输出(0,0)(0,0)通过线性变换—(-0.7,-0.97)通过非线性变换—输出(0,0)(0,1)通过线性变换—(-1.88,0.21)通过非线性变换—输出(0,1)(1,0)通过线性变换—(0.87,-1.38)通过非线性变换—输出(1,0)

由于阶跃函数只有0和1两种结果,因此将阶跃函数作为坐标系表达式(横坐标h1,纵坐标h2)后它的空间只有(0,0)(1,0)(0,1)三个点。对通过非线性变换的数据在h1h2坐标系进行展示:这时,就可以通过分割线进行区分。

回顾:我们按照下面的方式解决了分类异或问题:对原始数据(X1,X2)进行线性变换得到(Z1,Z2),再对其进行非线性变换得到(h1,h2)。此时就可以对数据进行分类,从而解决序幕中的分类问题。先设定好激活函数让坐标系变形,再通过线性变换分开数据,最后调整分割线方程完成分类。有些复杂的情况还需要升维来实现分类,比如在二维坐标系中,中间是一类,还有围绕一圈的另一类。无法通过上述的操作实现分类,这时我们多加一个Z相当与多加了一个维度,在二维输入的基础上构建三维,而且后面的也随之变成了分割面。通过调整成如下模式

找到分割面

将上图三维空间投影到二维空间,可以发现两类数据之间的分割线就是一个圆这样我们通过手动调整的方式完成了复杂模型的分类,那如何让机器自动完成这个操作呢,和分类鳄鱼与蛇类似,下节课会讲到

5.梯度下降6.终点7.搭建你的神经网络8.神经网络挑战赛

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇