Skip to main content
Dreamforce 将于 9 月 17 日至 19 日来到旧金山。立即注册,使用代码 DF24TRAIL20 节省 20%

将数据转化为模型

学习目标

完成本单元后,您将能够:

  • 解释手工编码算法和训练模型之间的差异。
  • 定义机器学习及其与 AI 的关系。
  • 区分结构化数据和非结构化数据,及其对训练的影响。

Trailcast

如果您想收听本模块的录音,请使用以下播放器。听完这段录音后,记得返回每个单元,查看资源,然后完成相关评估。

魔术背后的秘密

AI 似乎具备很神奇的能力。就像魔术一样,人们自然想窥视一眼窗帘的后面,以了解这一切是如何完成的。您会发现,计算机科学家和研究人员正在应用大量的数据、数学函数和处理能力而非镜子和错误引导。了解 AI 实际的工作方式将帮助您充分利用它的潜力,同时避开因其局限性而产生的陷阱。

从编写到训练的转变

几十年来,程序员编写代码作为输入,然后根据一组规则进行处理并返回输出。例如,下文说明了如何计算一组数字的平均值。

  • 输入:5、8、2、9 
  • 处理:将值 [5+8+2+9] 相加,然后除以输入数量 [4]
  • 输出:

这个将输入转换为输出的一套简单规则就是一种算法的一个示例。已经编写出了一些算法来执行某些相当复杂的任务。但有些任务涉及太多的规则(和例外情况),无法用手工编写的一种算法来捕获所有规则。游泳就是一个很好的相关例子,很难用一套规则进行概括。您可能在跳入游泳池之前听取一些建议,但只有您设法把头露出水面时,才能真正明白什么方法是奏效的。有些东西是从经验中才能学到的。

如果我们用同样的方法训练计算机会如何呢?不是说把它扔进游泳池,而是让它弄清楚如何才能成功地完成任务?但就像学习游泳和学习说外语之间有很大的不同一样,训练的种类取决于任务类型。让我们来看看训练 AI 的一些方法。

所需经验

设想一下,每次您去商店买牛奶时,您都会在电子表格中跟踪整个行程的细节。这种行为有点奇怪,但继续做吧。您设置了以下列。

  • 是周末吗?
  • 一天中的某个具体时间点
  • 下雨了吗?
  • 到商店的距离
  • 整个行程耗费的总时间(分钟数)

去了几次之后,您开始感觉到各种情形如何影响整个行程所需的时间。比如,下雨会使开车时间延长,但也意味着店里的人流量会减少。您在脑中在输入(周末 [W]、时间 [T]、降雨 [R]、距离 [D])和输出(分钟 [M])之间建立联系。

输入 [W, T, R, D 图

但是,我们如何让计算机注意到数据中的趋势,以便它也能进行预估呢?猜测和检验是其中一种方法。以下是您的做法。

步骤 1:给所有输入分配一个“权重”。这个数字表示输入对输出产生多大的影响。可以从赋予所有输入相同的权重开始。

步骤 2:根据现有的数据(以及一些我们不会在这里讨论的更为巧妙的数学函数)分配权重,以预估买牛奶需要的分钟数。我们可以将估算值与历史数据进行比较。差异会很大,但没关系。

步骤 3:让计算机为每个输入分配一个新的权重,使一些输入的重要性高过其他一些。例如,一天中的某个具体时间点可能比是否下雨更为重要。

步骤 4:重新运行计算,检查重新分配的权重是否会产生更好的估算值。如果确实如此,这表示新分配的权重更为适合,并且得到的估算值更接近正确值。

步骤 5:重复第三步和第四步,让计算机调整权重,直到得出的估算值无法再优化。

此时,计算机已经确定了每个输入的权重。如果您将权重视为可表示输入与输出之间关联性的强弱,则可以制作一个使用线条粗细来表示关联性强弱的图表。

输入节点与输出之间的关联性图

在这个例子中,一天中的某个具体时间点看起来有着最强的关联性,但是否下雨显然影响不大。

这种猜测和检验过程创建了一个关于买牛奶所需时间的模型。可以说,就像一艘模型船一样,我们要把它放入水池中看看它能否漂浮起来。这意味着要在现实世界中进行测试。因此,对于接下来几次买牛奶的行程,在出发之前,用模型估算一下需要多长时间。如果连续几次估算出的时间都是正确的,则您可以信心满满地使用该模型来估算未来每一次的行程。

一个机器人正在工作台上将一艘小型帆船模型的碎片拼装在一起。该图采用 2D 矢量艺术风格绘制。

[在 stability.ai 上使用 DreamStudio 通过 AI 生成的图像,并配有提示:“一个机器人正在工作台上将一艘小型帆船模型的碎片拼装在一起。该图采用 2D 矢量艺术风格绘制。”]

将正确的数据用于正确的工作

这是一个通过训练制作 AI 模型的非常简单的例子,但它涉及到了一些重要的思路。首先,这是机器学习 (ML) 的一个例子,它是一个使用大量数据来训练模型进行预测的过程,并未涉及手工编写算法。

其次,并非所有数据都是相同的。在我们给出的买牛奶这一例子中,电子表格就是我们所说的结构化数据。它组织有序,每一列都带有标签,让您知晓每个单元格的含义。相比之下,非结构化数据可能类似于新闻报道或未标记的图像文件。您所掌握的数据的种类将决定可执行的训练类型。

第三,电子表格中的结构化数据可以让计算机进行监督式学习。之所以称为监督式,是因为我们可以确保每一条输入数据都有一个匹配的预期输出,并且我们能够对其进行验证。相反,非结构化数据用于无监督式学习,即 AI 在不知道具体寻找目标的情况下试图在数据中找到关联性。

让计算机计算出每个输入的单个权重只是众多训练方法中的一种。然而,通常情况下,相互连接的系统比 1 比 1 加权所表现出的更为复杂。值得庆幸的是,在下一单元的学习中,您还能了解到其他训练方法!