JavaRush /Java 博客 /Random-ZH /深度学习、人工智能和机器学习傻瓜式:通过示例进行解释

深度学习、人工智能和机器学习傻瓜式:通过示例进行解释

已在 Random-ZH 群组中发布
您想在同事的陪伴下展现您的才智,还是想在当前技术话题的对话中让您的朋友惊叹不已?在对话中提及“人工智能”或“机器学习”就完成了。 深度学习、人工智能和机器学习傻瓜式:通过示例进行解释 - 1“人工智能”这个词现在已经被广泛听到。程序员想要学习人工智能。领导者希望在他们的服务中实施人工智能。但在实践中,即使是专业人士也并不总是理解“人工智能”是什么。本文旨在帮助您理解术语“人工智能”和“机器学习”。您还将了解最流行的机器学习类型深度学习的工作原理。而且,重要的是,这些说明是用易于理解的语言编写的。这里的数学不会太难理解。

基本

理解深度学习的第一步是理解关键术语之间的区别。
深度学习、人工智能和机器学习傻瓜式:通过示例进行解释 - 2
图片:数据纳米

人工智能与机器学习

人工智能(AI 或 AI agnl.)是一种通过计算机复制人类思维过程的尝试。当人工智能领域的研究刚刚开始时,科学家们试图在一定条件下严格复制人类智能的行为,即磨砺其解决某些问题。比如让机器可以玩游戏。他们制定了计算机器必须遵循的许多规则。计算机有一个可能的操作列表,它根据开发阶段设定的规则和限制做出决策。
机器学习(英文为ML或ML)是指机器通过处理大量信息而不是明确定义的规则来学习的能力。
机器学习允许计算机自行学习。这种类型的学习利用了现代计算技术,可以轻松处理大量数据。

监督学习与无监督学习

监督学习使用由输入和预期输出组成的标记数据集。当您使用监督学习训练人工智能时,您提供数据作为输入并指定输出应该是什么。如果AI产生的结果与预期不同,那么AI必须纠正其计算。只要人工智能出错,这个过程就会在数据数组上重复多次。监督学习的一个例子是预测天气的人工智能。它学习使用历史数据预测天气。输入数据是压力、湿度和风速,结果我们应该得到温度。 无监督学习是一项使用非结构化数据训练人工智能的任务。当您使用无监督学习来训练人工智能时,您可以使人工智能对数据进行逻辑分类。使用无监督机器学习的人工智能的一个例子是在线商店中客户行为的机器人预测器。它无需使用预先已知的输入和输出即可学习。相反,它必须对输入数据本身进行分类。该算法应该识别并告诉您哪种类型的用户更喜欢哪种产品。

机器学习的工作原理

因此,深度学习是机器学习的方法之一。它允许您根据给定的输入数据预测结果。要训​​练人工智能,您可以使用上述两种选项:监督学习和无监督学习。我们将使用一个清晰​​的示例来了解深度学习的工作原理:假设我们需要开发一项用于预测航空旅行价格的服务。我们将使用监督方法训练我们的算法。我们希望我们的航空旅行价格预测服务能够根据以下输入数据来预测价格(为了便于演示,我们不考虑回程航班):
  • 出发机场;
  • 到达机场;
  • 计划出发日期;
  • 航空公司。
神经网络 让我们来看看人工智能的大脑。与生物体的情况一样,我们的预测器的“头部”有神经元。在图中,它们以圆圈的形式呈现。神经元相互连接。
深度学习、人工智能和机器学习傻瓜式:通过示例进行解释 - 3
在图像中,神经元被组合成三组层:
  • 输入层;
  • 隐藏层1(隐藏层1)和隐藏层2(隐藏层2);
  • 输出层。
一些数据进入输入层。在我们的例子中,输入层有四个神经元:出发机场、到达机场、出发日期、航空公司。输入层将数据传递到第一个隐藏层。隐藏层根据接收到的输入数据执行数学计算。构建神经网络时的主要问题之一是隐藏层数量和每层神经元数量的选择。
“深度学习”一词中的“深度”一词表示存在多个隐藏层。
输出层将结果信息返回给我们。在我们的例子中,是航班的预期价格。
深度学习、人工智能和机器学习傻瓜式:通过示例进行解释 - 4
到目前为止,我们错过了最有趣的事情:预期价格到底是如何计算的?这就是深度学习的魔力开始的地方。神经元之间的每个连接都被分配一定的权重(系数)。该权重决定了输入值的重要性。初始权重是随机设置的。在预测航空旅行费用时,出发日期对价格影响最大。因此,“出发日期”神经元的连接具有更大的权重。
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 5
每个神经元都有一个附加的激活函数。如果没有数学知识,很难理解这个函数是什么。因此,让我们进行一些简化:激活函数的目的是“标准化”神经元的输出。数据集经过神经网络的所有层后,通过输出层返回结果。到目前为止一切都清楚了,对吧?

神经网络训练

训练神经网络是深度学习中最困难的部分!为什么?因为你需要大量的数据。因为你需要更多的计算能力。对于我们的项目,我们需要查找历史机票数据。此外,对于出发地和目的地机场、出发日期和不同航空公司的所有可能组合。我们需要大量的票价数据。我们必须将集合中的输入数据提供给神经网络的输入,并检查它们是否与我们已有的结果匹配。如果人工智能得到的结果与预期不同,这意味着它还没有经过足够的训练。一旦我们通过神经网络运行了全部数据,我们就可以构建一个函数来指示人工智能的结果与数据集中的实际结果有多么不同。这样的函数称为成本函数。在我们竭尽全力争取的理想情况下,我们的成本函数的值等于零。这意味着神经网络选择的成本结果与我们数据集中门票的实际成本没有差异。

我们怎样才能减少成本函数的值呢?

我们改变神经元之间连接的权重。这可以随机完成,但这种方法效率不高。相反,我们将使用一种称为梯度下降的方法。
梯度下降是一种允许我们找到函数最小值的方法。在我们的例子中,我们正在寻找成本函数的最小值。
该算法的工作原理是在处理数据集的每次新迭代后逐渐增加权重。通过计算某些权重集的成本函数的导数(或梯度),我们可以看到最小值在哪个方向。
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 6
图中:初始权重-初始权重,全局成本最小值-成本函数的全局最小值。 为了最小化成本函数,我们必须对数据集进行多次计算。这就是为什么您需要大量计算能力。使用梯度下降法自动更新权重。这就是深度学习的魔力!一旦我们训练了人工智能航班价格预测服务,我们就可以安全地使用它来预测现实中的价格。

让我们总结一下...

  • 深度学习使用神经网络来模拟智能。
  • 神经网络中存在三种类型的神经元:输入层、隐藏层、输出层。
  • 神经元之间的每个连接都有自己的权重,表明该输入的重要性。
  • 神经元使用激活函数来“标准化”神经元的输出。
  • 要训​​练神经网络,您需要大量数据。
  • 如果我们使用神经网络处理数据数组并将输出数据与实际数据进行比较,我们将得到一个成本函数,该函数显示人工智能的错误程度。
  • 每次数据处理后,使用梯度下降法调整神经元之间的权重,以实现成本函数的降低。
链接至原文
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION