深度学习-基于Python语言和TensorFlow平台课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《深度学习-基于Python语言和TensorFlow平台课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深度 学习 基于 Python 语言 TensorFlow 平台 课件
- 资源描述:
-
1、人工智能极简历史第1章深度学习基于Python语言和Tensorflow平台重要人物及其贡献为什么要了解人工智能的发展历史主要理论和关键技术重要事件简要了解在人工智能发展历程中:出现的经纬(时间顺序和逻辑关系)有助于更好地理解书中内容,“知其然,更知其所以然”。了解人工智能发展的历史脉络了解深度学习技术的由来和最新发展动向01HISTORY02RISE&FALL03OUTLOOKtarget目标体会人工智能发展历程中各个波峰波谷的缘由目 录 导 航1.11.21.31.4重要奠基时期人工智能的诞生第一个快速发展期人工智能的第一个寒冬Contents&关键要素之一:对神经元的研究和模型化人工智能
2、研究的萌芽圣地亚哥拉蒙-卡哈尔(西班牙语:Santiago Ramn y Cajal,1852年5月1日1934年10月17日),西班牙病理学家、组织学家,神经学家,1906年诺贝尔生理学或医学奖得主。被认为是现代神经科学之父,绘图技能出众,他关于脑细胞的几百个插图至今仍用于教学与人类对自身大脑的研究息息相关&拉蒙-卡哈尔的贡献人工神经元的研究和人工神经元模型的提出明确阐述了神经元(也叫做神经细胞)的独立性和神经元之间通过树枝状触角相互连接的关系奠定了生物神经网络的基础,也为人工神经网络(Artificial Neural Network)提供了重要的参考依据MP模型的提出1943年,神经学家
3、沃伦麦卡洛克(Warren McCulloch)和年轻的数学家沃尔特皮茨(Walter Pitts)提出了一个人工神经元的模型麦卡洛克-皮茨神经元模型(McCulloch-Pitts Neuron Model),简称MP模型+Warren McCullochWalter Pitts迄今为止,神经网络的基本单元仍然在使用这个模型 MP模型最初的模型现代简洁的表达MP模型的组网神经元组成神经网络的示意图&关键要素之二:计算机和程序的出现计算机的发明对人工智能研究的促进1945 年末至 1946 年初,世界上第一台数字计算机ENIAC诞生在美国宾夕法尼亚大学冯诺伊曼体系结构迄今为止,冯诺伊曼体系结构
4、在各类计算机中仍在广泛被使用计算机计算机和和程序程序的出现,使得的出现,使得人工智能人工智能的实现有了的实现有了硬件和硬件和软件基础软件基础&关键要素之三:图灵测试的提出图灵测试坚信人工智能可以成功,并确定了一个判断人工智能成功与否的标准。目 录 导 航1.11.21.31.41.5重要奠基时期人工智能的诞生第一个快速发展期人工智能的第一个寒冬AI研究的沉默探索与复苏Contents&达特茅斯会议(Dartmouth Conference)人工智能正式诞生1956年夏天,以约翰麦卡锡、马文明斯基、克劳德香农、艾伦纽厄尔、赫伯特西蒙、纳撒尼尔罗切斯特等为首的一批当时科学界的年轻才俊在美国的达特茅
5、斯开会,会议名字叫做人工智能夏季研讨会。在会议上,大家一起研究探讨了用机器模拟智能的一系列有关问题,并首次正式提出了“人工智能”这一术语,它标志着“人工智能”这门新兴学科的正式诞生,因此之后大家普遍认为1956年是人工智能的元年。AI=Artificial Intelligence目 录 导 航1.21.31.41.51.6人工智能的诞生第一个快速发展期人工智能的第一个寒冬AI研究的沉默探索与复苏第二次冬天Contents弗兰克罗森布拉特和他的感知机感知机模型的出现,使人类历史上开始了真正意义上的机器学习时代。约翰麦卡锡和LISP语言约翰麦卡锡John McCarthy 发明了第一个面向人工智
6、能的高级计算机语言LISP 函数式程序设计语言 实现了树形数据结构、自动存储管理、动态类型、条件表达式、递归运算等在当时较为高级的功能目 录 导 航1.31.41.51.61.7第一个快速发展期人工智能的第一个寒冬AI研究的沉默探索与复苏第二次冬天再一次腾飞Contents马文明斯基所起的作用马文明斯基是人工智能的创始人之一,但也是AI第一次寒冬的重要因素1969年,明斯基与他人合著的Perceptron一书中,断定了感知机的局限性(即无法处理非线性问题)。詹姆斯莱特希尔的报告1973年,著名数学家詹姆斯莱特希尔(James Lighthill)爵士向英国科学研究委员会提交报告,否定AI达到了
7、预期的进展,导致各国政府对AI领域停止资金投入,标志着人工智能第一个寒冬的开始。The Lighthill debate on Artificial Intelligence:The general purpose robot is a mirageSir James Lighthill目 录 导 航1.41.51.61.71.8人工智能的第一个寒冬AI研究的沉默探索与复苏第二次冬天再一次腾飞未来展望Contents沉默的探索阶段人们对AI的研究并未停止专家系统的研究 另一条探索之路&专家系统与Prolog语言的出现专家系统是汇聚了某个领域内的专家知识和经验,由计算机系统进行推理和推断,帮助和
8、辅助人类进行决策的系统。无监督学习技术的提出无监督学习是人们收集数据,让神经网络自己去发现规律并做出处理的机器学习方法,是现在乃至未来人工智能研究的重要方向之一1972年,芬兰科学家托伊沃科霍宁(Teuvo Kohonen)提出了自组织特征网络(self-organizing feature map,简称SOFM),支持无监督学习(Unsupervised Learning)反向传播算法的出现 1974年,保罗沃波斯(Paul Werbos)第一次提出了后来对神经网络的发展腾飞具有重要意义的反向传播算法反向传播算法(Backpropagation Algorithm,简称BP 算法)是根据神经
9、网络的计算结果误差来调整神经网络参数以达到训练神经网络目的的方法。但由于处于AI的寒冬期中,该方法在当时没有得到足够的重视。霍普菲尔德网络1982年,美国物理学家约翰约瑟夫霍普菲尔德(John Joseph Hopfield)提出了一种具有反馈机制的神经网络,并将动力学结合进神经网络中来。1984 年,霍普菲尔德成功实现了自己提出的神经网络模型,重新激发了人们对神经网络研究的热情。增强学习(Reinforcement Learning)&1983年,安德鲁巴托(Andrew G.Barto)、理查德萨顿(Richard S.Sutton)等人发表了关于增强学习的文章。&增强学习是研究机器如何在
10、不断变化的环境中相应地做出最合适的反应,通过让机器不断调整自己的行为以求获得更好的长效回报(Long-term Reward)来实现机器学习,被广泛用于无人驾驶、电子竞技等方向。玻尔兹曼机(Boltzmann Machine)1985年,大卫艾克利、杰弗里辛顿(Geoffrey Hinton)和特里塞吉诺斯基等人基于霍普菲尔德神经网络加入了随机机制,提出了玻尔兹曼机(Boltzmann Machine)的模型,这个模型由于引入了随机振动的机制,一定程度上具备了让神经网络摆脱局部最优解的能力。反向传播算法的发展 1986年,大卫鲁姆哈特(David Rumelhart)和詹姆斯麦克莱兰(Jame
11、s McClelland)在(Parallel Distributed Processing:Explorations in the Microstructure of Cognition)一文中,重新提出了反向传播学习算法并给出了完整的数学推导过程。同一时期,辛顿、罗纳德威廉姆斯、大卫帕克和杨立昆等人也分别做出了关于BP算法的独立研究和贡献。BP算法正式出现的意义在于,对于如何更高效地训练神经网络,让神经网络更有序地进行学习,提供了有效的、可遵循的理论和方法,这在以后神经网络尤其是深度学习领域是一个里程碑式的事件,至今BP方法仍然是训练多层神经网络的最主要、最有效的方法。多层前馈神经网络多层
12、前馈神经网络是一个包含输入层、多个隐藏层和输出层在内的神经网络,所谓的前馈指的是神经网络中的各层均只从上一层接收信号并向下一层输出信号,即每层只向前传递信号而不向后反馈梯度下降算法梯度下降算法是训练神经网络的反向传播算法的基础之一目 录 导 航1.51.61.71.8AI研究的沉默探索与复苏第二次冬天再一次腾飞未来展望Contents人工智能的第二个冬天 幅度不大:两个原因:人们期望值明显降低;没有类似第一次AI寒冬的理论上的重大挫折。时间范围不明显:有观点认为是从1987年华尔街金融危机带来的对人工智能投资大幅缩减开始的。主要起因:个人电脑(Personal Computer,简称PC)的出
13、现及其蓬勃发展。目 录 导 航1.61.71.8第二次冬天再一次腾飞未来展望Contents腾飞的要素之一 计算机性能提升计算机性能提升GPUGPU的发展的发展云计算的出现云计算的出现计算能力不再是瓶颈计算能力不再是瓶颈 计算机综合计算能力的大幅提升+人们对软硬件驾驭能力的提高腾飞的要素之二 大数据让神经网络不再缺乏训练数据 大数据的出现腾飞的要素之三 神经网络研究的成熟化 反向传播学习算法研究进一步成熟 卷积神经网络(Convolutional Neural Network,简称CNN)的发明 循环神经网络(Recurrent Neural Network,简称RNN)的研究 长短期记忆网络
14、(Long Short-Term Memory Network,简称LSTM)的提出 深度学习技术理论的提出重要发明(卷积网络)带来黎明LeNet用于手写文字的识别1989年,Yann LeCun(中文名字杨立昆)发明了具有实际研究价值的第一个卷积神经网络模型LeNet。开启新时代的AlexNet神经网络2012年,在ImageNet工程举办的年度图像识别大赛(Annual ImageNet Large Scale Visual Recognition Challenge)上,包括亚历克斯克里泽夫斯基(Alex Krizhevsky),辛顿等人在内的团队推出的AlexNet神经网络,获得了当年
15、的冠军。先进的AlexNet神经网络使用了综合几种新方法、已经较为成型的深度学习技术AlphaGo战胜世界冠军成为这一次AI大发展(特别是“深度学习”的概念)广为世人所知的标志事件目 录 导 航1.71.8再一次腾飞未来展望Contents人工智能的分类弱人工智能机器的智能在一些特定领域或具体任务上接近或超越人类的水平通用人工智能机器在所有需要智能的方面具备和人一样解决各种问题的能力超人工智能机器具备全方面超越人脑的能力,包括思维、创造性和社交能力人工智能的应用与研究方向&计算机视觉图像与视频分类、物体与边界识别、动作识别、图像内容语义归纳、风格转换、图像合成、智能搜索等&自然语言处理智能翻译
16、、语义识别、语义理解、情感判断、问题响应、文字生成等&智能控制(综合性)无人驾驶、智能电子竞技、智能交流、远程智能监控、客服智能座席等互助互利 共同进步深度学习 基于Python语言和Tensorflow平台开发环境准备第2章深度学习基于Python语言和Tensorflow平台安装课程所需的Python语言和TensorFlow框架快速学习或温习Python语言编程01INSTALL02OPTIMIZE03LEARNtarget目标优化开发环境目 录 导 航12345Python与TensorFlow简介Python的安装TensorFlow的安装优化开发环境Python编程快速入门Cont
17、entsPython语言简介 Python是目前人工智能领域使用最广泛的语言Python语言是荷兰人Guido van Rossum于1989年开始开发,并于1991年推出了第一个正式版本。Python语言名字的由来据说是基于Guido van Rossum对一个英国喜剧团体Monty Python的喜爱;Python本身是“蟒蛇”的意思Python语言面世以来,由于其语法优雅简洁而又不失严谨,编程快捷而又易于扩展功能,很快受到大家的喜爱,这些年来在各大开发语言排行榜上始终名列前茅Python语言特点解释型高级计算机语言免费开源语法优雅简洁编程快捷方便易于扩展有大量成熟类库PythonPyth
18、on语言的分支版本Python 2.x 早期版本,存在一些缺陷 由于历史原因,使用者仍很多,可用类库也很多 2020年将不再被支持Python 3.x 语法更严谨规范 更好的面向对象编程支持 改进的Unicode编码支持可以更好地支持英文外的各种语言(包括中文)迭代器、字典处理、文件处理等更完善的编程功能改进和类库支持我们应选用Python 3.x系列版本!主流的深度学习开发框架 老牌的平台:Theano、Caffe、Torch等:均具备成熟的开发工具、模式、功能和成功案例。较新的平台:谷歌的TensorFlow、微软的CNTK、百度的PaddlePaddle、Apache的MXNet等。Te
19、nsorFlow的特点&良好的企业支持及文档&选用使用广泛的Python语言为主并能应用于C+、Java、Javascript、Swift、Golang等多种常用开发语言&功能齐全(具备GPU加速支持等)、性能相对较优异&概念、模式较规范目 录 导 航12345Python与TensorFlow简介Python的安装TensorFlow的安装优化开发环境Python编程快速入门ContentsPython官方网站http:/python.org下载合适版本的安装程序下载合适版本的安装程序 目前3.7版本仍有兼容问题,建议安装3.6版本 如有可能,最好安装64位版本 注意选对对应操作系统的版本按
20、安装包说明一步步安装Python 注意勾选此处 选择此处以便修改安装位置修改安装位置 注意要勾选上pip修改安装位置 注意修改默认安装路径到较方便的位置 注意要勾选上此处顺利安装完毕继续一步一步即可顺利完成安装验证安装打开Windows的CMD命令提示符程序,输入python并回车,进入Python的交互式命令界面,即表示安装成功。也可以输入任意算式把Python当一个高级计算器用一下退出Python交互式界面Python的交互式命令界面中输入quit()函数即可退出验证pip是否成功安装输入pip-version命令并回车,有类似图中的响应输出即表示pip已正确安装pip是Python语言的
21、包管理器,也就是用来安装附加功能或第三方提供的代码包的软件目 录 导 航12345Python与TensorFlow简介Python的安装TensorFlow的安装优化开发环境Python编程快速入门ContentsTensorFlow官方网站http:/tensorflow.orgTensorFlow安装&在命令行模式下直接用pip安装即可pip install tensorflow 出现 Successfully installed 字样即为安装成功验证TensorFlow安装&在Python交互式命令界面下输入下面两行命令import tensorflowprint(tensorflow
22、._version_)注意均为两个下划线字符更新TensorFlow版本使用下述命令可以将TensorFlow更新到最新版本pip install-U tensorflow 安装TensorFlow时可能的问题如果在安装或运行TensorFlow出现一些问题,可以依次尝试:预先安装Microsoft Visual C+Redistributable 预先安装Microsoft Build Tools 某些计算机的CPU(主要是支持的指令集)较为特殊,需要在网络上搜索对应CPU的版本目 录 导 航12345Python与TensorFlow简介Python的安装TensorFlow的安装优化开发
23、环境Python编程快速入门Contents打造舒适的开发环境&修改Windows资源管理器的设置去除勾选“隐藏已知文件类型的扩展名”等&安装Windows命令行界面CMD的替代软件推荐 Cmder,备选 Console 2、PowerCmd等&安装Windows记事本的替代软件来编辑文本文件和Python程序文件推荐Notepad2-mod,备选 Sublime Text,Editpad Lite等&安装集成式Python开发环境推荐PyCharm,也可以用Sublime Text加装Python开发插件来替代目 录 导 航12345Python与TensorFlow简介Python的安装T
24、ensorFlow的安装优化开发环境Python编程快速入门Contents输入Python程序使用文本编辑器输入、修改和保存程序使用PyCharm集成式开发环境(IDE)注意文件编码要选 UTF-8运行 Python 程序Python程序文件的扩展名为.py&在Python交互式界面中一行一行输入并执行 a=16 b=18.9 print(a)16 print(b)18.9&在命令行界面中执行(最常用的方式)变量(variable)a=19a=a+1print(a)变量是我们在编写程序时存放数值的地方,存放数值的过程叫做给变量“赋值”注意等号与数学上等式中等号的区别,这里表示把右边的数值存入
25、左边的变量中存放文字的变量 字符串变量表达一串数值 数组变量函数及其参数函数(function),又叫做“方法”(method)是预先写好的一段可以重复使用的代码 print函数的作用是将参数作为一个表达式运算后输出其数值对象与面向对象编程p 对象是对事物进行分类的一种方法p 一般来说,对象类表示分类,例如“人”、“男人”;对象实例(有时候也直接简称为对象)代表对象类中的具体个体,例如“小明”、“张三”等p 每个对象类都可以包含属性和方法,例如“人”都有“名字”这个属性,也有“走路”这个方法,而具体对象实例“张三”的名字属性的值就是“张三”p 面向对象编程是在编程的设计和编码阶段,把所有涉及到
展开阅读全文