想知道深度学习如何运作?这是所有工程师的快速指南
“AI“一词随处可见,你会听到一些很有抱负的开发者表示,他们想要开始学习人工智能,也会听到高管们表示,他们希望在自己的服务中实施AI。但其实很多人都不明白AI到底是什么。
阅读完本文后,您将了解AI和ML的基础知识。更重要的是,您将了解最流行的ML类型深度学习是如何工作的。
本指南适用于所有人,因此不会涉及高等数学的部分。
背景
了解深度学习如何运作的第一步是掌握重要术语之间的差异。
人工智能与机器学习
人工智能是计算机中人类智能的复制
当AI研究首次开始时,研究人员正试图复制人类智能以执行特定任务:比如玩游戏。
他们引入了计算机需要尊重的大量规则。计算机有一个特定的可能行动清单,并根据这些规则做出决定。
机器学习是指机器使用大型数据集,而不是硬编码规则学习的能力。
ML允许计算机自己学习,这种类型的学习利用了现代计算机的处理能力,可以轻松处理大型数据集。
监督学习与无监督学习
监督学习涉及使用具有输入和预期输出的标记数据集。
当您使用监督学习训练AI时,您可以给它一个输入并告诉它预期的输出。
如果AI生成的输出错误,则会重新调整其计算结果。这个过程在数据集上迭代完成,直到AI不再犯错误为止。
监督学习的一个例子是天气预测AI。它学会使用历史数据预测天气。该训练数据具有输入(压力、湿度、风速)和输出(温度)。
无监督学习是使用没有指定结构的数据集进行机器学习的任务。
当您使用无监督学习训练AI时,您可以让AI对数据进行逻辑分类。
无监督学习的一个例子是电子商务网站的行为预测AI,它不会通过使用标记的输入和输出数据集来学习。
相反,它将创建自己的输入数据分类,它会告诉您哪种用户最有可能购买不同的产品。
现在,深度学习如何运作?
现在,您已经准备好了解深度学习是什么以及它是如何工作的。
深度学习是一种机器学习方法。它允许我们在给定一组输入的情况下训练AI来预测输出。有监督和无监督学习都可以用来训练AI。
我们将通过建立假设的机票价格估算服务来了解深度学习的工作原理。我们将使用有监督的学习方法对其进行训练。
我们希望机票价格估算器使用以下输入预测价格(为简单起见,我们不包括退票):
- 出发机场
- 目的地机场
- 出发日期
- 航空公司
神经网络
让我们看看人工智能的大脑。
像动物一样,我们的估算器AI的大脑有神经元。它们由圆圈表示。这些神经元相互关联。
神经元被分为三种不同类型的层:
- 输入层
- 隐藏层
- 输出层
输入层接收输入数据。在我们的例子中,我们在输入层有四个神经元:Origin Airport、Destination Airport、Departure Date和Airline。输入层将输入传递给第一个隐藏层。
隐藏层对我们的输入执行数学计算。创建神经网络的挑战之一是决定隐藏层的数量,以及每层的神经元数量。
深度学习中的“深层”是指具有多个隐藏层。
输出层返回输出数据。在我们的例子中,它给了我们价格预测。
那么它如何计算价格预测呢?
这就是深度学习的魔力所在。
神经元之间的每个连接与权重相关联。这个权重决定了输入值的重要性。初始权重是随机设置的。
在预测机票价格时,出发日期是较重的因素之一。因此,出发日期神经元连接将具有很大的权重。
每个神经元都有一个激活功能。没有数学推理,这些函数很难理解。
简而言之,其目的之一是“标准化”神经元的输出。
一旦输入数据集通过神经网络的所有层,它就会通过输出层返回输出数据。
没什么复杂的吧?
训练神经网络
训练AI是深度学习中最难的部分。为什么?
- 您需要一个大型数据集。
- 还需要大量的计算能力。
对于我们的机票价格估算器,我们需要查找机票价格的历史数据。由于有大量可能的机场和起飞日期组合,我们需要一个非常大的机票价格清单。
为了训练AI,我们需要从数据集中提供输入,并将其输出与数据集的输出进行比较。由于人工智能尚未经过训练,其产出将是错误的。
一旦我们遍历整个数据集,我们就可以创建一个函数,向我们展示AI输出与实际输出的错误。此功能称为成本函数。
理想情况下,我们希望我们的成本函数为零。那时我们的AI输出与数据集输出相同。
我们如何降低成本函数?
我们改变神经元之间的权重,可以随机更改它们直到我们的成本函数很低,但这不是很有效。
相反,我们将使用一种名为Gradient Descent的技术。
Gradient Descent是一种允许我们找到函数最小值的技术。在我们的例子中,我们正在寻找成本函数的最小值。
它的工作原理是在每次数据集迭代后以小增量改变权重。通过计算成本函数在某一组权重下的导数(或梯度),我们能够看出最小值的方向。
要最小化成本函数,您需要多次遍历数据集。这就是您需要大量计算能力的原因。
使用梯度下降更新权重是自动完成的。这就是深度学习的魔力!
一旦我们训练了我们的机票价格估算器AI,我们就可以用它来预测未来的价格。
我在哪里可以了解更多?
还有许多其他类型的神经网络:用于计算机视觉的卷积神经网络和用于自然语言处理的递归神经网络。
如果您想学习深度学习的技术方面,我建议您参加在线课程。目前,深度学习的最佳课程之一是吴恩达的深度学习专业。
综上所述...
- 深度学习使用神经网络来模仿动物智力。
- 神经网络中有三种类型的神经元层:输入层、隐藏层和输出层。
- 神经元之间的连接与权重相关联,决定了输入值的重要性。
- 神经元对数据应用激活函数以“标准化”来自神经元的输出。
- 要训练神经网络,您需要一个大型数据集。
- 迭代数据集并比较输出将产生一个成本函数,表明AI从实际输出中脱离了多少。
- 在通过数据集的每次迭代之后,使用梯度下降来调整神经元之间的权重以降低成本函数。
编译出品