深度学习的工作原理

人工智能(AI) 和 机器学习(ML) 是目前最热门的话题。

 

术语“AI”每天无处不在。经常听到有抱负的开发者说他们想要学习人工智能。还听到高管们说他们希望在他们的服务中实施AI。但很多时候,很多人都不明白AI是什幺。

 

阅读完本文后,您将了解AI和ML的基础知识。更重要的是,您将了解最受欢迎的ML类型深度学习是如何工作的。

 

背景

 

了解深度学习如何运作的第一步是掌握重要术语之间的差异。

 

人工智能与机器学习

 

人工智能 是人类智能在计算机中的复制。

 

当AI研究首次开始时,研究人员正试图复制人类智能以执行特定任务 – 比如玩游戏。

 

他们介绍了计算机需要尊重的大量规则。计算机有一个特定的可能操作列表,并根据这些规则做出决策。

 

机器学习 是指机器使用大型数据集而不是硬编码规则进行学习的能力。

 

ML允许计算机自己学习。这种类型的学习利用了现代计算机的处理能力,可以轻松处理大型数据集。

 

监督学习与无监督学习

 

监督学习 涉及使用具有输入和预期输出的标记数据集。

 

当您使用监督学习训练AI时,您可以给它一个输入并告诉它预期的输出。

 

如果AI生成的输出错误,则会重新调整其计算结果。这个过程在数据集上迭代完成,直到AI不再犯错误为止。

 

监督学习的一个例子是天气预测AI。它学会使用历史数据预测天气。该训练数据具有输入(压力,湿度,风速)和输出(温度)。

 

无监督学习 是使用没有指定结构的数据集进行机器学习的任务。

 

当您使用无监督学习训练AI时,您可以让AI对数据进行逻辑分类。

 

无监督学习的一个例子是电子商务网站的行为预测AI。它不会通过使用标记的输入和输出数据集来学习。

 

相反,它将创建自己的输入数据分类。它会告诉您哪种用户最有可能购买不同的产品。

 

现在,深度学习如何运作?

 

您现在已准备好了解深度学习是什幺以及它是如何工作的。

 

深度学习是一种 机器学习 方法。它允许我们在给定一组输入的情况下训练AI来预测输出。有监督和无监督学习都可以用来训练AI。

 

我们将通过建立假设的 机票价格估算 服务来了解深度学习的工作原理。我们将使用有监督的学习方法对其进行训练。

 

我们希望我们的机票价格估算器使用以下输入预测价格(为简单起见,我们不包括退票):

起源机场
目的地机场
出发日期
航空公司

神经网络

 

让我们看看人工智能的大脑内部。

 

像动物一样,我们的估算器AI的大脑有神经元。它们由圆圈表示。这些神经元是相互连接的。

 

 

图片来源: CS231n

 

神经元被分为三种不同类型的层:

输入层
隐藏层
输出层

在 输入层 接收输入数据。在我们的例子中,我们在输入层有四个神经元:Origin机场,目的地机场,出发日期和航空公司。输入层将输入传递给第一个隐藏层。

 

在 隐藏图层 上我们投入的数学计算。创建神经网络的挑战之一是决定隐藏层的数量,以及每层的神经元数量。

 

深度学习中的 “ 深层 ”是指具有多个隐藏层。

 

在输出层返回的输出数据。在我们的例子中,它给了我们价格预测。

 

 

那幺它如何计算价格预测呢?

 

这就是 深度学习的魔力 所在。

 

神经元之间的每个连接与 权重 相关联。这个权重决定了输入值的重要性。初始权重是随机设置的。

 

在预测机票价格时,出发日期是较重的因素之一。因此,出发日期神经元连接将具有很大的权重。

 

 

图片来源:CodeProject

 

每个神经元都有一个激活功能。没有数学推理,这些函数很难理解。

 

简而言之,其目的之一是“标准化”神经元的输出。

 

一旦输入数据集通过神经网络的所有层,它就会通过输出层返回输出数据。

 

没什幺复杂的吧?

 

训练神经网络

 

培训AI是深度学习中最难的部分。为什幺?

 

 

    1. 您需要一个 大型数据集。

 

    1. 您需要 大量的计算能力。

 

 

对于我们的机票价格估算器,我们需要查找机票价格的历史数据。由于大量可能的机场和出发日期组合,我们需要一个非常大的票价列表。

 

为了训练AI,我们需要从数据集中提供输入,并将其输出与数据集的输出进行比较。由于人工智能尚未经过培训,其产出将是错误的。

 

一旦我们完成整个数据集,我们就可以创建一个函数,向我们展示AI输出与实际输出的错误。此功能称为成本函数。

 

理想情况下,我们希望我们的成本函数为零。那时我们的AI输出与数据集输出相同。

 

我们如何降低成本函数?

 

我们改变神经元之间的权重。我们可以随机更改它们直到我们的成本函数很低,但这不是很有效。

 

相反,我们将使用一种名为 Gradient Descent 的技术。

 

Gradient Descent是一种允许我们找到函数最小值的技术。在我们的例子中,我们正在寻找最低成本函数。

 

它的工作原理是在 每次数据集迭代 后以小增量改变 权重 。通过计算成本函数在某一组权重下的导数(或梯度),我们能够看出最小值的方向。

 

 

图片来源:Sebastian Raschka

 

要最小化成本函数,您需要多次遍历数据集。这就是您需要大量计算能力的原因。

 

使用梯度下降更新权重是自动完成的。这就是深度学习的魔力!

 

一旦我们训练了我们的机票价格估算器AI,我们就可以用它来预测未来的价格。

 

综上所述…

深度学习使用神经网络来模仿动物智力。
神经网络中有三种类型的神经元层:输入 层,隐藏层和输出层。
神经元之间的连接与权重相关联,决定了输入值的重要性。
神经元对数据应用激活函数以“标准化”来自神经元的输出。
要训练神经网络,您需要一个大型数据集。
迭代数据集并比较输出将产生一个成本函数,表示AI从实际输出中脱离了多少。
在通过数据集的每次迭代之后,使用梯度下降来调整神经元之间的权重以降低成本函数。

发表评论

电子邮件地址不会被公开。 必填项已用*标注