Skip to content
On this page

历史

人工智能

人工智能诞生于 20 世纪 50 年代,当时计算机科学这一新兴领域的少数先驱开始提出疑问:计算机能否能够“思考”?我们今天仍在探索这个问题的答案。

人工智能的定义是:努力将通常由人类完成的智力任务自动化,因此人工智能是个非常大的领域,不仅包括了机器学习和深度学习,还包括了其他学习方法。其中有一种通过硬编码覆盖所有情况来实现与人类同水平的人工智能,被称为“符号主义人工智能”,曾经是人工智能的主流范式。然而这当然是简单粗暴的,之后也当然被取代了,于是就出现了一种新的方法取代符号主义人工智能,这就是“机器学习”。

机器学习

机器学习先驱阿兰·图灵思考的问题是:通用计算机是否能够学习与创新,他得出的结论是:能。机器学习的概念就来源于图灵的这个问题,对于计算机而言,除了我们命令他做的任何事情之外,它能否自我学习执行特定任务的方法?如果没有程序员精心编写的数据处理规则,计算机能否通过观察数据自动学会这些新规则?

图灵的这个问题引出了一种新的编程范式。在大部分的程序设计中,人们输入的是规则和数据,输出的是答案,而利用机器学习,人们输入数据以及从数据中预期得到的答案,系统输出的是规则。这些规则后可应用于新的数据,并使计算机自主生成答案。也就是说,机器学习系统是训练出来的,而不是用明确的程序编写出来的。

从数据中学习表示

机器学习算法通常会执行一项数据处理任务的规则,因此我们需要以下三个要素来进行机器学习。

  1. 输入数据点:例如你的任务是语音识别,那么这些数据点可能是记录人们说话的声音文件。
  2. 预期输出的示例:对于语音识别任务,这些示例可能是人们根据声音整理生成的文本。
  3. 衡量算法效果好坏的方法:衡量方法是为了计算算法的当前输出与预期输出的差距。衡量结果是一种反馈信号,用于调节算法的工作方式,这个调节步骤就是我们所说的”学习“

机器学习模型将数据变换为有意义的输出,这是一个从已知的输出和输入中进行学习的过程。因此,机器学习和深度学习的核心问题在于”有意义地变换数据“,换句话说,在于学习输入数据的”有用表示“,让数据更接近预期输出。

表示这一概念的核心在于以一种不同的方式来查看数据(即表征数据或将数据编码),例如将彩色图片编码为 RGB 或 HSV,当你想选择图片中的所有红色像素用 HSV 很困难,而用 RGB 则很简单,机器学习模型都是为输入数据寻找合适的表示,使其更适合手头的任务。

深度学习之深度

深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层(layer) 中进行学习,这些层对应越来越有意义的表示。深度学习中的深度是指一系列连续的表示层。深度学习的技术定义就是:学习数据表示的多级方法。

深度学习的工作原理

机器学习是将输入映射到目标,比如将图片映射到标签”猫“,这一过程是通过观察许多输入和目标的示例完成的。而深度神经网络通过一系列简单的数据变幻通过观察示例学习到的。

神经网络中每层对输入数据所作的具体操作保存在该层的权重里,在这个语境下,学习的意思是为神经网络的所有层找到一系列权重值,让网络能够将每个实例输入与其目标正确地意义对应。

想要控制神经网络的输出,首先需要衡量输出和预期之间的距离,这就是神经网络损失函数的意义,该函数的输入是网络预期值和真实目标值,然后计算一个距离值。衡量该网络在这个示例上的效果好坏,深度学习的基本技巧就是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前实例对应的损失值,这种调节由优化器完成。

一开始,我们对神经网络的权重随机赋值,因此网络只是实现了一系列随机变换,输出结果自然也跟理想值相去甚远,相应的,损失值也很高。但是随之循环重复,权重值也向着正确的方向微调,这种循环重复到一定程度之后,其输出值和目标值尽可能地接近,这就是训练好的网络。

这是一个简单的机制,但是一旦由足够大的规模,将会产生魔法般的效果。

入门前的基础知识

在机器学习中,分类问题中的某个类别叫做类(class)。数据点叫做样本(sample),某个样本对应的类叫做标签(label)

神经网络的核心组件是”层“,它是一种数据处理模块,你可以将它砍成数据过滤器,进去一些数据,出来的数据变得更加有用,具体来说,层从输入数据中提取表示,大多数深度学习都是将简单的层链接起来,从而实现渐进式的数据蒸馏。就像小学科学课讲的,用滤纸、活性炭逐层对水过滤,深度学习模型的模型就像是数据处理的过滤器,包含一系列数据过滤层(即层(layer))。

Released under the MIT License.