收藏 分享(赏)

计算机应用自己动手写神经网络 Java实现.pdf

上传人:空登山 文档编号:7028001 上传时间:2022-08-28 格式:PDF 页数:212 大小:129.66MB
下载 相关 举报
计算机应用自己动手写神经网络 Java实现.pdf_第1页
第1页 / 共212页
计算机应用自己动手写神经网络 Java实现.pdf_第2页
第2页 / 共212页
计算机应用自己动手写神经网络 Java实现.pdf_第3页
第3页 / 共212页
计算机应用自己动手写神经网络 Java实现.pdf_第4页
第4页 / 共212页
计算机应用自己动手写神经网络 Java实现.pdf_第5页
第5页 / 共212页
亲,该文档总共212页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、有曹自2,动手写神壁网络葛一鸣。著ZIJI t,八.I,J I J .飞XIr、IIf飞NJINGW人飞GLlOAlphaGo战胜李世石,标志着新一轮人工智能的浪潮已经来袭。而你是否已经做好迎接新的人工智能技术的准备?本格,将带你一探作为AlphaGo基石的人工神经网络。本,不陆限于纸上谈兵,我们用代码诠释一切。本悟,可能改变你对人工智能的态度。田中骂王信出版集团多人民邮电出版社树突细胞核Metadata ops 突触A图1-8神经细胞的结构Metadata(Name,repli臼s,. ): /home/foo/data,3, . Data nodes Rack2 A图1-9Hadoop分布

2、式文件系统的架构回回回回回CPU 国aII I I I I I I I I I I I I I I 1ii11111111111 tEI I 11 圄EI I I I I 11 I I 11 EE11 圄EI 11 I I 11 I I 11 EE11 1ii111 II II I II II ”E 111 CPU A图1才OCPU和GPU的架构差别. ”刷刷,制h翩臼2011072GOOOA图1-11Neuoph人工神经网络IDE工具箱. 香蕉e、Q. 苹果w1 w2 p1 要lj定边界A图2-4苹果、香蕉的判定边界。、AQ. 01 . A图2-5逻辑与操作Newons ,宫附自m险. ac

3、t1Yati0n1e Comee怕”、$回岳通迦蔚蓝蓝董6 e、Q. Neuroph Neuroph Stud;o Neural netw。rkIDE Neuroph Library A图2一6逻辑与操作的判断边界和权值向量A图3才Neuroph系统架构图 NeurophStud;o 201510122201 Startt曝11.u:r1tn1tsorlr. tninl.lll-fiah1in1 nei.o忧”“叫“Tninh11 HlOT null Cr11“n阳dnetwork”A图3-2NeuophStudio工作界面日AC阳日. 日, Ctrl+S Ctrl+Shift+S 己A图3-

4、3在NeuophStudio中新建神经网络工程N剧rophStudi,。20151012220咀立件t嗣组(E)Versi。ning现J!l(V)导航(N)激)噩掏(A)运而(时澜试(D)工色巴 面圃flJ T Tl S 回皿IxI .,一一一一一一 clmif!cat!on_of an!aal peci fa_recogr山Ion自可porr皿翩翩Tralnln 曹南ETest Se1s 董挽tPnceptron 震副帖贴”酷噩命名工具A图3-4在工程的神经网络文件夹下新建神经网络 New Neural Netw。rlt步Setne=al network noae and type 1 Se

5、t neural netmk 一nHe and type NourNetwork Noa 协町42. 口王歪歪JC主E二ll.响亮戚JC豆豆二3酬(H)A图3-5建立感知机网络电陆”INe伽帽步”回berof 1DOUt neuors. maber of ouDUneur回l. Set ne.iral net。rknuo ond type . Lmnl . rulo ,Pmoptr飞口王王EF步A图3-6设置感知机参数国lW剑酬。”崎741657-4.143007咽蝠“回7 A图3-8查看神经元的权重回回mM山WZ川即旦出)叫剧nEbbdhm协A. . h-h-B 橱窗EE统旦旦旦且坐旦些“(

6、 -DtaSel. 剪切Ctrl+X平.刷Ctd+CL吧;二户和朋恼Ctrl+V c 幢Delete重曲也工具届世A图3-9新建训练数据集 .New 。.Set 步Set由uset aa.c type and a国bc:rof lnouts and o川,l. 蛊撞文件负型2 Set data set D&AC,”e and 四刷bcrof 量圃”zType Super叫sd .四t阳Hltaber of i晒血怡luaber of out阳if寸巴loadfroa tile Plle Dlioiter , Jflrst Line Ccntains C。h且n胃四Br,Oe 口豆豆3下一步巳歪

7、歪:J工里二四川A图3-10新建有监督的训练数据集O. I富:c1rt 案,.ff 串,.clau!flcotion。f_anlaol_,pede.i血于!ace_recoprltion ,.阳臼阳白,eurallet.orlts | 5马马p阳Te.t Se p町C叩tron leurol letwork Trolnlnc Se nl.也to. or data tset Te Sets ,尊1 1.0 1.0 10.0 Fo.-o 2 Outpul 1 l. 0 l. 0 0 0 o. 0 1 0 :o. 0 :o. 0o. 0 E主立三己一一A图3-11编辑训练数据鸣嘟”附咽回咽田c.帽嗣

8、I 。., . , A图3-12使用训练数据训练感知机画ilG由!型Totallctork l!rr何CraohL Total Ne刷刷rkError Graph 0375 OJ田0.325 。,萃”。0. 2百0.200 0.175 E- o.田0.125 0 100 00百0.0目0.025 。刀1.0 1.5 2.0 2.5 3.0 3.5 4.0 5 so s.s lteratiot、A图3-13训练过程中的误差变化图Test Sets Pcrccotron leunl lotork !: lcdcunllot。d:lnnet 岳阳cnnet Tro!nlSets nl.dato .

9、。飞Tc事tSeu 嗣同e刷刷w11 A图3-14自定义网络输入Total lctwork l!rror Croph叫pcrl.met Dataset and da1画ln1 tn2 L可erlA图3才5刷新网络回回6.0 Layer 1 A图3才6刷新网络后的效果回eII Clasofnuon 178 I 13 II C圃,fnII Real II 1484 :=Jt:JLl A图3-17从UCI下载训练数据步Scneural network na.c and type 1. Set neural netTrk Keural letTork ., 厂一一一naae and type 2. J

10、leural !letw。帮助坐立A图3-18选择多层感知机步Set lno lul tl Layer Perceptr。”paraaetcr l Set neural net。rk阳阳。阳区2naae and type 2 Hldd四阳ncons1 7 问”.Ob. ”四】Output neur瞄N=:J回Us eBhs !feurons 巴ConnectM四t阳tneurons Le叫咱ruleackpr。问ation-I 匡正下一步c二雪二帮助A图3-19设置神经网络参数oa.s.刷刷f啕”. ” 1111 Ml Ill ”4 1111 1111.网,”ta11111 ”, ”网,内,.

11、 ,., 阳,.,Ou1 I Clwll阳3阳恤“恤,A图3-20BP神经网络测试集。川握一一J一据乃BFFS白OES乃ESEr数。E一试?01川刊捏一阳1日?ou练川刊刊刊出zm川山山川山川一中。a币2101101023200平b飞口on!Hl_d. n 主摇摇油田训练集.,翩翩酣宁愿崎自! 削mmdk,剖HUM叫中ym p . Am GI 蜘幅蛐旬”,明高;:草草 一气了丁. 1 A图3-22关联训练数据并进行训练T。talNetwork Error Graph m伺咽:111 037吉 b 0.JOO rm 0250 有0.225O.lllO 0.100 0.0部队O启,.。饵,。声0

12、5 w 15 20 25 JO 35 . 。铺到写回6570 到rationA图3-23动物分类整体误差图 . 1HlflOtl叭。,.,. ,_ . , . lotork E: kl Cl on!Hl dm .、Troln!nc s. - rain!Seti ,叫. . 叩OolllCM? O.J GI“翩. A图3-24测试神经网络Neural Network LearningRule DataSet Layer Neuron I I DataSetRow A图3-25Neuroph的总体架构图输入函数 G JnputFunction -org.n剧roph.core.1nputG And

13、 -org.neuroph core.input 巴_Difference旦旦旦旦,。ph.co巴旦旦lG Max - org.neuroph.co1e.input G Min org.neuroph.core input G o卜。rg.neuroph.core.inputG Product 。rg.neur。phC。reinptt G Sum 。rg.neur。ph.c。re.input G SumSqr - org.neuroph.core.input G We19htedSum 。rg.neuroph.core.1nput传输函数 0 TransferFunction - 019.ne

14、uroph.core transfer G Gau臼ian。rg.ncuroph.c。re.transferG Linear - org.neuroph c。re.transfer0 Log org.neuroph.core tran。idorg.neuroph.c。,etransfer A图3-26Neuroph支持的输入函数和传输函数out巳坐业生止一一 in阳刷刷rons:NeuronD 四tputNeuronsNeuronO learningRu阳,L , learningThread Thread 圭 LearningRule org.neuoph.core.learmngG H。p

15、fieldleamingor9,neuroph.nnet l回ming G11e旧tt怠a阿、t G Supervi回川才Leaming。rg.neur。ph.C。relearning G LMS。,9.n凹roph.nnet.learningG Per四ptroolearni呵。,g.n剧roph.nnet.learning0 Sigm。idDeltaRleorg.neuroph.nnet.learning 0 SupervisedHebbianlearni呵。叼neuroph.nnet.learn1ng0 S1mulatedAnneahnglearmn9 org时urophnnel.lca

16、rninq 0 UnsupervisedL回rmng9 nuroph.co1e learnim1 plugins Map 国labelString 0 Competit1velearmng org.neuioph.11net.lea1111ng 。0Unstpervi四dHebbianlearningog.n剧aph.nnet.learmng0 Kohonenlearmn。m.neurooh.nnet.l . rn”。, listene陌EventlistenerlistA图327 NeuralNetwok结构A图3-28LearniigRule的主要学习算法环魄变量变量值PA四C:口,町Ad

17、olnistrat。】rAPI对Data. . SSl.I!ll.OC,IL.I! C: DorsAdolnistrat。内th!。gkey TEIP D:DsersA曲lnistrat。叭AooData.TIP D. DerA面lni otratorA回刻Data. 革统变量(S)一变量值Clmr.tl棚归自回国翻翻帽四”l!ISml刷皿川自llVCDDASAIPL! . . . D飞忡。lo皿Uuapl臼瑾ill二匮c堕歪二C王军二Jc:王至2A图3-29设置JAVAHOME环境变量 Install/Update Java Java EE JavaScript Maven -”at Ion

18、s Select the installation used to launch Maven Name Details 加入Mav凹的安装自录即可User Interface User Settings Mylyn,。mphI N。te:Embedded runtime眼alwaysused for dependency Oracle I resolution :旦平velo;r!压豆豆亟c:豆豆1 C三:JA图3-30在Eclipse中配置MavenImport Existing Mav町、ProjectsSelect an imp。rt四urce:efilt-.text Java EE M

19、aven R Check out Maven P叫配tsfromSCM Existing Maven P叫ectslQ. Install。rd叩loyan artifact to a Maven repo叫。可!l! Materialize Maven Projects from SCM ,.。mpho Plug-inD制elopmentRemotes恬tems Backl Finish C豆豆二A图3-31导入已存在Maven工程A图4-2识别坐标点的象限的感知机 0 Object -JVa.lang L回mingRule-o咱n剧,。phc。re.leoming 0 Jtera阳eleam

20、ing。rg.n剧rophc。re.teaming 0 Supennsedleorn;ng org.neuroph.core.learn;ng 0 LMS org.neuroph.nnet.learn;r咱 0 s;gm。;doeltaRulo。rg.neuroph.nn吼learning 0 BackPr叩agation:叫时叩且旦旦le时,000 000 0 00000 000 0000000 00 。00 0 0 0 0 000 0 0 0000 0000 0 000000 00 0 0 0。000000 000。000000 。0 0 00 0 0 0 0 0 0 0 0 0 0 0

21、0。BackPropagation在Neuroph中的位置二A图6-6/ ADALINE训练用点阵数字。山A图5-3wri1e2 16.J闻wn恒1-&.j闻writo1-6同wri1e13.j闻WT幅1-14j闻write1.J咱5 4 叫3 3 3 ;. write5-0 JI咱wri田4-9.J闯W加中2闻write3-7.j四write3-12同W忖恒3-10.JpgW忖恒2-5.j闻气7 , 7 6 岳J wn崎9-4跟咱wn恒!H9.j闻wn恒8-17.JJ咀wn国715,j四W忖悟。18.J闻wri悟13阳wr忧e!-11,JJ唱- .,. J V叫,、Hf 如VH A 部分MN

22、IST手写体图片A图7-7Local Hist。叩References Declarations Add t。Snippets. 阳miSDebug As Profile As tar uwFe ma撒. ; t!J Run C。向urations二VM arguments: 专言可有百gVariables Create, manage, and run c。nfigurati。MRun a Java applicati。nAp; Cl。seE二设置Java的运行时堆空间大小A图7-8 。()()0 0 0 ()() 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 A图8-1包

23、含4个神经元的Hopfield网络000 0 0 A图8-3Hopfield网络训练数字A图8-4Hopfield网络测试用数字图像. 1 A图10-1神经元的权重向量读据世II能网络气设置给定城市的第6个属性值pub! ic void setCString ci tyame, int i,也ublevalue) L句彗识lDataset I 属性值全部记录在X中private double) x = new doubleDATA_COL_N则,A图10-12城市聚类案例的数据抽取回C”曲三c(2, l.S) ll2e(3,2,6) 墨3et,。, ll4e(5,l,3) 墨1(1) 2立S

24、ll2 (l 3 2 6 翠3(1) 0 “(1) s 1 3 |A图11-2R语言的工作界面/ 自a,动于主主神壁网络葛一鸣。著ZIJI DONGSHOU XIE SHEN JING W ANGLUO 人民邮电出版社北京图书在版编目CCI P)数据自己lIJ手写神经网络葛一鸣著一北京:人民邮电出版社,2017.9ISBN 978-7一115 46201- 5 I.臼II.葛III.人工神经元网络一基本知识川TP183中国版本图书馆CIP数据核字(2017)第182198号内容提要本书讲解通俗易懂,使用简单的语言描述入工神经网络的原理,并力求以具体实现与应用为导向,除了理论介绍外,每一章节的应

25、用和实践都有具体的实例实现,让读者达到学以致用。本书分为ll章,主要内容为:简单的人工神经网络模型和理论应用:介绍了一个基于Java的人工神经网络框架Neuroph;介绍了基于Neuroph开发一个简单的人工神经网络系统一感知机:介绍了ADALINE网络以及使用Neuroph实现ADALINE神经网络;介绍了BP神经网络的基本原理和具体实现:介绍了BP神经网络的具体实践应用;介绍了Hopfield网络的原理、实践和应用;介绍了双向联想网络BAM的原理、实践和应用;介绍了竞争学习网络,特别是SOM网络以及相关算法与实现;介绍了PCA方法以及与PCA方法等价的PCA神经网络。本书适合以下类型的读者

26、:对神经网络感兴趣,期望可以初步了解神经网络原理的读者;有一定编程经验,期望学习和掌握神经网络的程序员:期望对神经网络进行实际应用的工程人员:任何一名神经网络爱好者。著葛一鸣责任编辑张祷责任印制焦志炜人民邮电出版社出版发行北京市丰台区成寿寺路l l号邮编100164 电子邮件3 I 网址http:/ 北京市艺辉印刷有限公司印刷开本:800 xI 000 1/16 印张:12.25字数:239千字印数:l2 500册彩插:82017年9月第l版2017年9月北京第l次印刷定价:55.00元读者服务热线:(010)81055410 印装质量热线:(010)81055316 反盗版热线:(010)8

27、1055315 广告经营许可证:京东工商广登字20170147号自U士一口关于人工神经网络不可否认,我们己经迎来了人工智能的又一次高潮。与前几次人工智能的飞跃相比,这一次人工智能突破将软件算法、高井发硬件系统以及大数据有机地结合在一起,进而将人工智能推向了最接近人类智能的制高点。位于目前人工智能核心的,也是最炙手可热的算法,被称为深度学习。目前,最为成功的深度学习方法与人工神经网络联系紧密,甚至可以毫不夸张地说,传统的人工神经网络就是深度学习框架的基础。因此,可以认为,目前人工智能以及机器学习的觉醒从本质上说,是以人工神经网络为代表的学习算法和框架的盛行以及广泛实践。人工神经网络己经从实验室里

28、走了出来,得到了更加广泛的实际商业应用。本书致力于介绍传统的人工神经网络,作为读者步入现代人工智能以及深度学习的理论基础。主要内容2014年,我在百度阅读上提交了自己动手写神经网络电子书。从发布至今,己有2万余人阅读。在整理和总结大部分读者的意见后,我在原书的基础上进行了整理和进一步扩展,最终形成此书。全书分为11章,主要内容如下。第l章主要介绍人工神经网络以及人工智能的发展历史和基本原理。第2章主要介绍最为简单的人工神经网络模型和理论应用。第3章介绍了一个基于Java的人工神经网络框架Neuroph的架构以及基本使用方法。第4章主要介绍基于Neuroph开发一个简单的人工神经网络系统一一感知

29、机。第5章介绍了ADALINE网络以及使用Neuroph实现ADALINE神经网络。第6章介绍了BP神经网络的基本原理和具体实现。2 前言第7章介绍了BP神经网络的具体实践应用。第8章介绍了Hopfield网络的原理、实践和应用。第9章介绍了双向联想网络BAM的原理、实践和应用。第10章介绍了竞争学习网络,特别是SOM网络以及相关算法与实现。第11章介绍了PCA方法以及与PCA方法等价的PCA网络。本书特点本书的主要特点有。口力求通俗易懂,使用尽可能简单的语言描述人工神经网络的原理与理论。口力求以具体实现与应用为导向,除了理论介绍外,每章的应用和实践都有具体的实现详解。口使用Java作为主要语

30、言。与Matlab等语言不同的是,Java语言是目前企业级软件开发最为流行的语言,因此,使用Java实现的神经网络具备更强的系统集成能力与实践能力。由于Java语言本身通俗易懂,在基本语法上与CIC类似,因此,本书也适合没有Java基础的程序员。对读者的要求本书适合以下类型的读者。口对神经网络感兴趣,期望可以初步了解神经网络原理的读者。口有一定编程经验,期望学习和掌握神经网络的程序员。口期望对神经网络进行实际应用的工程技术人员。口任何一名神经网络爱好者。如果你熟悉Java,那么通读本书应该不会遇到太大的障碍。但熟悉Java并不是阅读本书的必要条件。实际上,只要你有编程经验,并且有面向对象编程的

31、一点概念,那么阅读本书就不会遇到太大的障碍。本书的资源本书的每章都提供了相关参考代码,可以帮助读者更好地了解本书内容。有兴趣的读者可以在问: 目录第1章人工神经网络概述.1.1 人工智能与神经网络简史1.1.l 人工智能的诞生:19431956年. . . 2 1.1.2 黄金发展期:1956-1974年.31.1.3 第一次低谷期:19741980年. 41.1.4 繁荣期:1980-1987年1.1.5 第二次低谷期:19871993年.1.1.6 再次崛起:1993年至今.6 1.2 生物学研究对神经网络的影响. .61.3 大数据对人工智能的影响.8 1.4 计算机硬件发展对人工智能的

32、影响.9 1.5 计算机软件发展对人工智能的影响.91.6 人工智能的广泛应用10 第2章人工神经元模型与感知机. . 12 2.1 人工神经元组成要素122.1.1 人工神经元的基本结构.12 2.1.2传输函数类型.132.2 感知机.152.2.l 使用感知机识别水果.15 2.2.2 让感知机记忆逻辑与.17 2 2.3 感知机的学习算法.18 第3童神经网络框架Neuroph介绍.21 3.1 Neuroph是什么.21 3.2 Neuroph系统的构成.223.3 Neuroph Studio的功能展示.22 3.3. l 使用NeurophStudio构造感知机处理逻辑与. .2

33、33.3.2 使用NeurophStudio进行动物分类实验. .283.4 Neuroph Library架构分析343.4.1 Neuroph Library核心架构.35 2 目录3.4.2 Neuron神经元.35 3.4.3 Layer层.363.4.4 NeuralNetwork神经网络373.4.6 Dataset和DataSetRow .38 3.5 Neuroph开发环境搭建.M3.5.l 基础平台一Java介绍以及安装.3 9 3. 3.5.3 开发工具一一Eclipse安装.40 3.6 总结41第4章使用Java实现感知机及其应用.42 4.1 第一个Neuroph程序

34、一一使用感知机记忆逻辑与.424 l.l 创建感知机网络424.1.2 理解输入神经元InputNeuron. . 45 4.1.3 理解贝叶斯神经元BiasNeuron.454.1.4 step传输函数是如何实现的.464.2 让感知机理解坐标系统. . .474.2.1 感知机网络的设计. . 47 4.2.2 感知机网络的实现474.3 感知机学习算法与Java实现.494.3.l 感知机学习规则的实现.50 4.3.2 一个自学习的感知机实现一SimplePerceptron . 51 4.3.3 小试牛刀一SimplePerceptron学习逻辑与. .524.3.4 训练何时停止.

35、 .53 4.4 再看坐标点位置识别. .554.5 感知机的极限一一异或问题.57 4.6 总结.到第5章ADALINE网络及其应用. .59 5.1 ADALINE网络与LMS算法. .59 5.2 ADAL时E网络的Java实现.605.3 使用ADALINE网络识别数字.但5.3.1 印刷体数字识别问题概述.625.3.2 代码实现. . 635.3.3 加入噪点后再尝试. 665.4 总结67目录第6章多层感知机和BP学习算法 “6.1 多层感知机的结构与简单实现“6.1.l 多层感知机结构的提出.68 6.1.2 定义多层感知机处理异或问题.69 6.1.3 多层感知机的简单实现.

36、71 6.2 多层感知机学习算法一BP学习算法.746.2.l BP学习算法理论介绍.746.2.2 BP学习算法与BP神经网络的实现. .77 6.3 BP神经网络细节优化. .84 6.3.1 随机化权值的方式.846.3.2 Sigmoid函数导数的探讨866.4 带着算法重回异或问题.87 6.5 总结. . .89第7章BP神经网络的案例. .907.1 奇偶性判别问题.907.1.1 问题描述. .90 7.1.2 代码实现907.2 函数逼近. .”7.2.l 问题描述. .”7 2.2 代码实现. .947.3. l 问题描述. ”7.3.3 代码实现.102 7.4 简单的语

37、音识别104 7.4.1 问题描述.104 7.4.2 代码实现.104 7.5 MNIST手写体识别.1067.5.1 问题描述.106 7.5.2 问题分析.108 7.5.3 代码实现. . 108 7.6 总结.l12 第8章Hopfield神经网络.1138.1 Hopfield神经网络的结构和原理. .113 8.1.1 Hopfield网络的结构.1138.1.2 网络吸引子.114 3 4 目录8.1.3 网络权值的设计.115 8.2 网络的存储容量. . . 117 8.3 Hopfield神经网络的Java实现. . . .118 8.3.1 Hopfield网络构造函数

38、1188.3.2 Hopfield网络的神经及其特点.1198.3.3 Hopfield网络学习算法. .120 8.4 Hopfield网络还原带有噪点的字符.121 8.5 Hopfield网络的自联想案例.1238.6 总结. 126 第9章BAM双向联想记忆网络1279.1 BAM网络的结构与原理.127 9.2 BAM网络的学习算法. 128 9.3 使用Java实现BAM网络.1299.3.1 BAM网络的静态结构.oo 129 9.3.2 BAM网络学习算法.130 9.3.3 BAM网络的运行1319.4 BAM网络的应用. . .133 9.4.l 场景描述一一人名与电话.

39、.133 9.4.2 数据编码设计.134 9.4.3 具体实现. . .136 9.5 总结. 140 第10章竞争学习网络.141 I 0.1 竞争学习的基本原理.14110.1.1 向量的相似性14210.1.2 竞争学习规则. .143 10.2 自组织映射网络SOM的原理. . .144 10.2.l SOM网络的生物学意义144 10.2.2 SOM网络的结构 .144 10.2.3 SOM网络的运行原理.145 10.2.4 有关初始化权重的问题.146 10.3 SOM网络的Java实现.147 10.3.l SOM网络拓扑结构的实现.147 10.3.2 SOM网络的初始权值

40、设置15010.3.3 Kohonen算法的实现.15310.4 SOM网络的应用.157 10.4.1 使用SOM网络进行动物聚类158 目录10.4.2 使用SOM网络进行城市聚类16110.S 总结.164 第11章PCA神经网络.16511.1 PCA方法概述. 165 11.1.1 PCA方法数学背景.16611.1.2 PCA计算示例.16711.2 PCA神经网络学习算法.17011.2.l Oja算法. 170 11.2.2 Sanger算法. . . .171 11.3 基于Neuroph实现PCA网络172 11.3.1 Oja算法的实现17211.3 .2 Sanger算

41、法的实现.177 11.4 使用PCA网络预处理MNlST手写体数据集. . .17811.S 总结.1815 第1意人工神经网络概述自从人类有文明以来,人类探索的脚步就从未停止过。我们为自己而骄傲,因为我们拥有这颗星球上最高的智慧,足以主宰整个星球:但我们也为自己而迷惑,我们从哪里来,谁创造了我们,并且给予我们与众不同的智慧?对这两个问题,目前还没有答案,但对自身的好奇,迫使我们正在尝试复制自己的智慧。那么,我们能够成为新时代的“上帝”吗?我们可以创造比我们更加聪明的物种吗?一切正在进行中回人工智能与神经网络简史说到人工神经网络,就不得不提人工智能。早在20世纪40年代,世界上第一台计算机E

42、NIAC就问世了。从那时起,一大批科学家开始探讨基于电子元器件制造电子大脑的可能。仅在计算机问世的短短十几年后,1956年,在达特茅斯学院举行的一次会议上正式确立了人工智能的研究领域。在当时,许多人对人工智能充满着美好的幻想,甚至有不少人预言,经过一代人的努力,就可以让机器达到人类的智能。很不幸的是,他们当时太低估人工智能这一领域的难度了。在经过大约20年的发展后,人工智能就遇到了严重的瓶颈,技术的停滞不前使绝大部分人开始认识到这项技术也许并不那么容易,甚至有人己经开始泼人工智能的冷水,认为制造智能机器是一种不可能的事情。随着技术受冷,人工智能研究者也遇到了经费问题。这种情况一直持续到20世纪

43、80年代,专家系统的崛起以及随之带来的大量知识储备的出现,才给了人工智能新的血液。并且非常巧合的是,联结主义学习,也就是神经网络,在这个时期也取得了重大的突破。但好景不长,那些对专家系统热捧的人也马上失望了,基于大量知识储备和规则的专家系统并不可能实现真正的智能,于是在20世纪80年代末90年代初的时间内,人工智能的发展又遭遇了一次财政危机。一直到1997年的一次重大事件,即IBM公司的“深蓝”. 第1章人工神经网络概述战胜国际象棋世界冠军卡斯帕罗夫,将人工智能再一次展示在人们眼前。2016年,Google公司的AlphaGo战胜李世石,标志着人工智能又一次回到了鼎盛时期。1.1.1 人工智能

44、的诞生:19431956年二战中后期,计算机技术得到了很大的发展。为了配合军方试验,更快地计算导弹轨道、角度等信息,世界上第一台计算机ENIAC诞生。这为人工智能的实现提供了很好的技术基础。神经学的研究显示,人脑而是由神经元构成的电子网络。神经细胞只存在激活和抑制两种状态,没有中间状态。此外,维纳的控制论、香农的信息论、图灵的计算理论相继表明,制造一个基于电子元器件的大脑是可能的。1943年,生理学家W.S. McCulloch和数学家W.A. Pitts提出神经元的数学模型M-P模型。这是按照生物神经元的结构和工作原理构造出来的一个抽象和简化了的模型,也就是对一个生物神经元的建模。M-P模型

45、的名称正是取自两名提出者名字的首字母。图1-1所示为提出者之一的W.S. McCulloch。1949年,心理学家DonaldHebb在行为构成一书中提出Hebb算法:他还首先提出了连接主义这一概念。所谓连接主义,1!11- 1 W. S. McCulloch 是用来形容大脑的工作方式,即大脑的工作是靠脑细胞之间的连接活动完成的。Hebb指出,如果源和目的神经元均兴奋时,它们之间的突触连接会增强。这也正是Hebb算法的生物学基础。Hebb的最大贡献也在于他提出了有关神经网络工作原理的重要假设:神经网络的信息存储在连接的权值中。图1-2所示为DonaldHebb。1950年,图灵发表一篇跨时代的

46、论文,预言了创造具有真正智能的机器的可能性,并且给出了一种用于测试机器是否拥有真正智能的测试方法,即大名鼎鼎的图灵测试。图灵指出:如果一台机器能够与人类展开对话而不能被辨别出其机器身份,那么称这台机器具有智能。图灵测试也是人工智能哲学方面第一个严肃的提案。3WJA ,FKLhRL一1951年,W.S. McCulloch和W.A. Pitts的学生MarvinLee Minsky与DeanEdmonds 一起构建了第一台神经网络机(称为SNARC)。在接下来的50年中,Mins问f成为了人工智能的领导人物。图1-3所示为MarvinLee Mins均。1955年,Newell和(后来荣获诺贝尔

47、奖的)Simon在J.C.Shaw的协助下开发了“逻辑理论家(LogicTheorist)。这个程序能够证明数学原理中前52个定理中的38个,2 1.1 人工智能与神每网络简史其中某些证明比原著中的更加新颖和精巧。Simon认为他们己经“解决了神秘的心身问题,解释了物质构成的系统如何获得心灵的性质”(这一断言的哲学立场后来被JohnSearle 称为“强人工智能”,即机器可以像人一样具有思想)。A图1-2Donald Hebb A图1-3MavinLee Minsky 才.1.2黄金发展期:19561974年1956年,Minsky与JohnMcCarthy组织了达特茅斯会议。会议提出的断言之

48、一是“学习或者智能的任何其他特性的每一个方面都应能被精确地加以描述,使得机器可以对其进行模拟”。参会者包括RaySolomonoff, Oliver Sel企idge,Trenchard More, Arthur Samuel, Newell和Simon,他们中的每一位都在后来在AI研究的第一个十年中作出了重要贡献。这次会议上,Newell和Simon讨论了“逻辑理论家”,McCarthy则说服与会者接受“人工智能”一词作为本领域的名称。达特茅斯会议上,人工智能的名称和任务得以确定,同时出现了最初的成就和最早的一批研究者,因此这一会议被广泛认为是人工智能诞生的标志。达特茅斯会议后的数年,是人工

49、智能的拓荒者时代,几乎每到一处,都能取得令人振奋的成就。人们发现计算机可以解决代数应用题、几何证明题甚至是学习和使用英语。而再此之前,人们从来没有想象过机器竟然可以如此智能。伴随着大量的成就,人们开始对人工智能抱着过分乐观的态度,甚至认为完全智能的机器将在20年内出现。1958年,计算机科学家FrankRosenblatt提出了第一个真正优秀的人工神经网络一一感知机。通过感知机,己经可以解决一些线性可分问题。感知机的理论模型使用了M-P模型,井且拥有一套简单可行的学习算法。图1-4所示为FrankRosenblatt。1960年,电机工程师BernardWidrow和他的研究生MarcianHoff发表自适应开关电路,他们用硬件实现了神经网络,提出了ADAL卧ffi网络,并发表了Widrow-Hoff算3 4 第1章人工神经网络概述法(也就是LMS算法)。ADALINE网络可用于自适应滤波,在本书中大家也将看到如何使用ADAL时E网络进行印刷体数字识别。图1-5所示为BernardWidrow和MarcianHoff。A图1-4Frank Rosenb I att A图1-5BernadWidrow和MacianHoff 在这个时期,人们对人工智能都抱着极大的热情,Minsky甚至在1967年表达过:在一代之内,创造人工智能的问题将在实质上得到解决。1963年6月,MIT从新建立

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 网络技术 > 热门技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报