什么是机器学习?


Chris Budd/文
杨探 张文君/译 王瑞霞/校

本文是基于克里斯 · 巴德正在进行的格雷山姆学院系列讲座中的一次演讲。你可以在文末看到演讲的视频,也可以点击此处查看有关该演讲的其他文章。

机器学习是最近人工智能领域最重要的发展之一。我们对于智能的想法是,不是把东西教授给机器(在传统计算机程序的意义上),而是机器自己学习的东西,这样它就能直接从做这些的经验(或数据)中学习如何处理复杂的任务。

随着计算机速度的巨大提升和程序算法的发展,机器学习正在迅速发展。由此产生的算法正开始对我们的生活产生重大影响,而且其表现往往比人类出色。那么机器学习是如何工作的呢?

image1.jpeg 即使机器学习算法相对简单,也能学会如何区分猫和狗的图片。

从经验中学习

在机器学习系统中,计算机编写自己的代码来执行任务,通常是通过对这类任务的大型数据库进行训练。其中很大一部分涉及识别这些任务中的模式,然后根据这些模式做出决策。举一个(有点吓人的)例子,假设你有一家公司,正在寻求招聘一名新员工。你刊登了招聘广告,有 1000 个人申请这份工作,并且每个人都投了简历。这太多了,你不能亲自来筛选,所以你想让一台机器来做这件事。

为了做到这一点,你需要把过去许多应聘者的简历都记录在案。对于每一份这样的简历,你都有一份记录,说明你是否真正雇佣了那个人。为了训练这台机器,你需要拿出一半的简历,要求它找出其中的模式,这些模式与简历能否成功申请工作相对应。因此,如果给机器提供一份简历,它就可以决定这个人是否能够被雇佣。训练完机器之后,你就可以用另一半简历对它进行测试。如果测试成功率足够高,那么你就有信心,机器将能够从一个人的简历来判断他能否被雇佣。在任何阶段都不需要人的判断。这样的程序在现代计算机技术下是完全可行的,然而它引起了重大的伦理问题,我将在下一篇文章中对此进行讨论。

基本要点

为了更清晰地展示机器学习过程,我们将使用一个非常具体的例子来考虑模式识别问题,即开发一种能够识别手写数字的机器。而不管这个数字是如何书写的,这样的机器应该都能够准确地识别它所代表的数字。

image2.jpeg 即使是人类,也很难辨认出笔迹

数字识别过程分为两个阶段。首先,我们必须能够把手写的数字图像扫描到机器中,并从图像(数字)中提取重要的数据。这通常是通过主成份分析(PCA)的统计方法完成,它可以自动提取出图像的主要特征,比如图像的高度、长度和线的交叉点等(你可以点击 此处 ,在人脸识别的文中了解到更多有关 PCA 的内容)。该过程与求矩阵特征值和特征向量的方法紧密相关,与谷歌在万维网上搜索信息所用的程序也非常类似。

其次,我们要从这些提取的特征中训练机器并用来识别数字。一种非常流行的训练方法是神经网络。这种机器学习的技术是基于我们对人类大脑工作方式的粗略认识。首先,创建一组软件 “神经元” 并把它们连接在一起,它们可以相互发送消息。接下来,要求网络解决大量已经知道结果的问题。通过这样做,它 “学会” 如何确定神经元之间的连接,以便能够成功地识别数据中哪些模式得到正确的结果。

这种神经网络的一个早期例子是一个称为感知器的单层系统,它是用来模拟单个神经元的。1962 年弗兰克 · 罗森布拉特(Frank Rosenblatt,1928-1971)提出了感知器的概念。感知器的典型架构如下图所示:

image3.png

weighted sum:加权和;Output: 输出

在感知器中输入 n 个数字:\(X_{1}\)、\(X_{2}\)···\(X_{n}\)。然后把每个 \(X_{i}\) 乘以所对应的权重 \(w_{i}\),把所有这些乘积相加,得到加权和:

\[w_{1}X_{1} + w_{2}X_{2} + \cdots + w_{n}X_{n}.\]

如果这个和大于某个阈值 C,它就会返回(输出)1,否则返回(输出)0。换句话说,如果

\(w_{1}X_{1} + w_{2}X_{2} + \cdots + w_{n}X_{n} - C > 0\),

感知器会返回 1。如果

\[w_{1}X_{1} + w_{2}X_{2} + \cdots + w_{n}X_{n} - C \leq 0.\]

感知器会返回 0。对于我们所说的问题,输入的这些 \(X_{i}\) 是对数字图像提取的特征,它决定了该数字是 3 还是 4。训练感知机器的过程包括找到合适的权重 \(w_{i}\) 和阈值 C,以便使感知器始终识别正确的数字。要做到这一点,需要谨慎地使用以统计为基础的数学优化算法。

示例

例如,假如我们从图像 “一” 中提取出两个特征 \(X_{1}\)和 \(X_{2}\),\(X_{1}\)可以计算图像中直线的条数,\(X_{2}\)可以计算图像中线相交的次数。现在,每个手写的 3 和 4 的图像都带有这两个数字,因此可以位于一个坐标系上。因为 3 通常没有直线段也没有交叉线段,因此 3 的图像在坐标系上的坐标很可能接近于点 \(\left( 0,0 \right)\)。4 的图像有三个直线段和一个交叉点,它的图像坐标很可能接近于点 \(\left( 3,1 \right)\)。那么感知器的加权和就是:

\[w_{1}X_{1} + w_{2}X_{2} - \text{C.}\]

对于给定的 \({\ w}_{1}\),\(w_{2}\) 和 \(\ C\),当这个式子为 0 时,将它定义为一条直线。如果使用训练图像,感知器设法找到 \(w_{1}\),\(w_{2}\) 和 \(C\) 的值,以便用直线分离对应于数字 3 的所有点和对应于数字 4 的所有点,那么它也有很好的机会正确识别新的数字图像。如果存在这样的直线,那么数据被称为线性可分的。

image4.png

假设红点代表来自 3 的图像,蓝点代表来自 4 的图像。如果算法使用 $C=2$,$X_1=X_2=1$,那么加权和集等于 0 对应于图中所示的直线。对于蓝色数据点,加权和大于零,而对于红色数据点,加权和小于零,因此该算法给出该数据集的结果始终是正确答案。

如果数据点不能用直线分开(即数据不是线性可分的),那么可以将这些点扩展到更高的维度,并希望它们在那里变成线性可分。作为一个非常简单的示例,你可以将上图中的 “屏幕外的点” 绘制成三维,该距离与它们到点 (0,0) 的原始距离相对应。但是,一般使用的是更复杂的方法。当然,如果要从原始数据中提取两个以上的特征,那么可以在更高维度上使用类似的方法。

感知器方法还在区分猫和狗方面相当成功:image5.png 这些图显示了当更多的训练数据变得可用时,算法如何更新其线路的选择(即常数 C 和权重 $w_1$ 和 $w_2$)。图片:伊丽莎白 · 古德斯韦尔 Elizabeth Goodspeed, CC BY-SA 4.0

神经网络与深度学习

简单的感知器可以被训练完成许多简单的任务,但是很快就达到了它的局限性。显然,通过将许多感知器连接在一起可以获得更多成果,但是这种发展必须要以更强大的计算机为依托。当感知层连接在一起形成神经网络时,取得了重大突破。这种神经网络的典型结构如下图所示。在这种情况下,输入组合触发第一层感知器。这些输出组合触发下一层,最后这些组合产生输出。

image6.png

拥有的层级越多,网络也就越发达。然后通过给上面的每个连接分配权重用以训练这样的网络,这个过程类似于大脑加强或削弱神经通路的方式。深度学习描述了训练这种神经网络的过程。

由于新的数学优化算法的发展,结合了(以谷歌的 DeepMind 为例)计算机的强大能力,让这个事实成为可能。在为网络找到适合权重 wi 的过程结束时,你将得到一个黑盒,它可以快速地运行,并且做出 “决策”。你可以在这个网上建立一个神经网络。

不同的方法

顺便提一句,更详细地看一看学习的过程是有益的。神经网络有各种形式的学习过程。

在监督学习中,由网络用户预先提供一组输入和输出示例对。然后,学习方法旨在找到一个神经网络,该网络提供与示例匹配的输出。将神经网络的输出与示例的输出进行比较,常用的方法是找出正确输出和实际输出之间的均方误差。然后对网络进行训练,以便在所有训练集上将此误差最小化。这方面一个非常标准的应用是在统计学中使用曲线拟合,它对于手写和其他模式的识别问题非常有效。

在加强学习中,数据不是由用户预先给出的,而是由神经网络控制的机器与环境的交互作用一段时间后生成的。在每个时间点,机器在环境上执行一个操作,该操作将生成一个观察结果以及该操作的成本。该网络经过培训,可选择能将总成本降至最低的操作。在很多方面,这个过程类似于人类(尤其是幼儿)的学习方式。例如……

近年来,关于机器学习的数学算法取得了很大进展。卷积神经网络(CNN)是将图像处理技术与深层神经网络相结合的一种令人兴奋的、新的、重要的扩展方法。它们可用于人脸识别,甚至可用于检测情绪。现在被用于许多其他方面,包括医学诊断。

image7.jpeg为了学习如何下棋,象棋计算机阿尔法元(AlphaZero)自己进行了 70 万场比赛。

为了学习如何下国际象棋,阿尔法元(AlphaZero)使用了一个深层卷积神经网络。这是用一种强化方法训练的,机器在 24 小时内自己进行了 70 万场比赛。采用通用的蒙特卡罗树搜索(MCTS)算法来分配权重。类似的方法被用来学习如何下将棋和围棋,并且在每种情况下都达到了相似的表现水平。令人印象深刻!

机器学习的发展非常迅速,在更快的训练算法和更多数据的推动下,网络越来越复杂和深入。但是,把可能改变生命的决定,如医疗诊断,交给机器是否安全并且合乎道德?这是我们在下一篇文章讨论的内容。

关于本文

本文基于布德正在进行的格雷山姆学院系列讲座。你可以从 此处 看到其他文章。

克里斯 · 布德 · 奥贝(Chris Budd OBE)是巴斯大学应用数学教授,数学及其应用协会副主席,英国皇家科学研究所数学主席和英国科学学会荣誉会员。他特别感兴趣的是将数学应用于现实世界,并促进公众对数学的理解。

image8.jpeg克里斯 · 布德(Chris Budd)

他与 C. Sangwin 合著了一本很受欢迎的数学著作《数学加罗尔!》,由牛津大学出版社出版,他在山姆帕洛阿尔托研究中心(Sam Parc)编辑的《数学的 50 个视角》一书中占有重要地位。

作者简介: Chris Budd,University of Bath
翻译: 杨探,河北师范大学科学技术史专业硕士研究生。

张文君,河北师范大学科学技术史专业硕士研究生。
校对: 王瑞霞,河北师范大学数学与信息科学学院硕士毕业,现为石家庄铁道大学四方学院教师。
原文链接: https://plus.maths.org/content/what-machine-learning