🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#1.人工智能、机器学习与深度学习三者之间的关系 ![](https://box.kancloud.cn/8ec020f25dc52c0dd884d285d6fa8ab4_385x243.png) #2.人工智能的简洁定义如下:努 力将通常由人类完成的智力任务自动化。 在相当长的时间内,许多专家相信,只要程序员精 心编写足够多的明确规则来处理知识,就可以实现与人类水平相当的人工智能。这一方法被称 为符号主义人工智能(symbolic AI),但它难以给 出明确的规则来解决更加复杂、模糊的问题,比如图像分类、语音识别和语言翻译。于是出现 了一种新的方法来替代符号主义人工智能,这就是机器学习(machine learning)。 在经典的程序设计(即符号主义人工智能的范 式)中,人们输入的是规则(即程序)和需要根据这些规则进行处理的数据,系统输出的是答案 。利用机器学习,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是 规则。这些规则随后可应用于新的数据,并使计算机自主生成答案。 ![](https://box.kancloud.cn/e96377f41f4a3ffa0ce1eadd86dff5ca_474x247.png) #3.机器学习的技术定义:在预先定义好的可能性空间中,利用反馈信号的指引来寻找 输入数据的有用表示。 机器学习是将输入(比如图像)映射到目标(比如标签“猫”),这一过 程是通过观察许多输入和目标的示例来完成的。 #4.深度学习的技术定义:学习数据表示的多级方法 深度神经网络通过一系列简单的数 据变换(层)来实现这种输入到目标的映射,而这些数据变换都是通过观察示例学习到的 神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一 串数字。用术语来说,每层实现的变换由其权重来参数化(parameterize,见图 1-7)。权重有时 也被称为该层的参数(parameter)。在这种语境下,学习的意思是为神经网络的所有层找到一组 权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。但重点来了:一个深度神 经网络可能包含数千万个参数。找到所有参数的正确取值可能是一项非常艰巨的任务,特别是 考虑到修改某个参数值将会影响其他所有参数的行为。 ![](https://box.kancloud.cn/eb21fa1d04cf3bb27bd8b425af375068_844x369.png) #损失函数 想要控制一件事物,首先需要能够观察它。想要控制神经网络的输出,就需要能够衡量该 输出与预期值之间的距离。这是神经网络损失函数(loss function)的任务,该函数也叫目标 函数(objective function)。损失函数的输入是网络预测值与真实目标值(即你希望网络输出的 结果),然后计算一个距离值,衡量该网络在这个示例上的效果好坏(见图 1-8)。 ![](https://box.kancloud.cn/71d13e2ddd7da516e1eb91517b3d23cb_893x457.png) #优化器 深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示 例对应的损失值(见图 1-9)。这种调节由优化器(optimizer)来完成,它实现了所谓的反向 传播(backpropagation)算法,这是深度学习的核心算法。下一章中会详细地解释反向传播的工 作原理。 ![](https://box.kancloud.cn/d30135cba5bbbb01490b00630d1557ad_778x465.png) #训练循环 一开始对神经网络的权重随机赋值,因此网络只是实现了一系列随机变换。其输出结果自然也和理想值相去甚远,相应地,损失值也很高。但随着网络处理的示例越来越多,权重值也 在向正确的方向逐步微调,损失值也逐渐降低。这就是训练循环(training loop),将这种循环重 复足够多的次数(通常对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小。具 有最小损失的网络,其输出值与目标值尽可能地接近,这就是训练好的网络。 ***** **###深度学习已经取得的进展** * 接近人类水平的图像分类 * * 接近人类水平的语音识别 * * 接近人类水平的手写文字转录 * * 更好的机器翻译 * * 更好的文本到语音转换 * * 数字助理,比如谷歌即时(Google Now)和亚马逊 Alexa * * 接近人类水平的自动驾驶 * * 更好的广告定向投放,Google、百度、必应都在使用 * * 更好的网络搜索结果 * * 能够回答用自然语言提出的问题 * 在围棋上战胜人类