人工智能(AI)和机器学习(ML)是目前最热门的话题。
术语“AI”每天无处不在。经常听到有抱负的开发者说他们想要学习人工智能。还听到高管们说他们希望在他们的服务中实施AI。但很多时候,很多人都不明白AI是什么。
阅读完本文后,您将了解AI和ML的基础知识。更重要的是,您将了解最受欢迎的ML类型深度学习是如何工作的。
背景
了解深度学习如何运作的第一步是掌握重要术语之间的差异。
人工智能与机器学习
人工智能是人类智能在计算机中的复制。
当AI研究首次开始时,研究人员正试图复制人类智能以执行特定任务 - 比如玩游戏。
他们介绍了计算机需要尊重的大量规则。计算机有一个特定的可能操作列表,并根据这些规则做出决策。
机器学习是指机器使用大型数据集而不是硬编码规则进行学习的能力。
ML允许计算机自己学习。这种类型的学习利用了现代计算机的处理能力,可以轻松处理大型数据集。
监督学习与无监督学习
监督学习涉及使用具有输入和预期输出的标记数据集。
当您使用监督学习训练AI时,您可以给它一个输入并告诉它预期的输出。
如果AI生成的输出错误,则会重新调整其计算结果。这个过程在数据集上迭代完成,直到AI不再犯错误为止。
监督学习的一个例子是天气预测AI。它学会使用历史数据预测天气。该训练数据具有输入(压力,湿度,风速)和输出(温度)。
无监督学习是使用没有指定结构的数据集进行机器学习的任务。
当您使用无监督学习训练AI时,您可以让AI对数据进行逻辑分类。
无监督学习的一个例子是电子商务网站的行为预测AI。它不会通过使用标记的输入和输出数据集来学习。
相反,它将创建自己的输入数据分类。它会告诉您哪种用户最有可能购买不同的产品。
现在,深度学习如何运作?
您现在已准备好了解深度学习是什么以及它是如何工作的。
深度学习是一种机器学习方法。它允许我们在给定一组输入的情况下训练AI来预测输出。有监督和无监督学习都可以用来训练AI。
我们将通过建立假设的机票价格估算服务来了解深度学习的工作原理。我们将使用有监督的学习方法对其进行训练。
我们希望我们的机票价格估算器使用以下输入预测价格(为简单起见,我们不包括退票):
• 起源机场
• 目的地机场
• 出发日期
• 航空公司
神经网络
让我们看看人工智能的大脑内部。
像动物一样,我们的估算器AI的大脑有神经元。它们由圆圈表示。这些神经元是相互连接的。
神经元被分为三种不同类型的层:
• 输入层
• 隐藏层
• 输出层
在输入层接收输入数据。在我们的例子中,我们在输入层有四个神经元:Origin机场,目的地机场,出发日期和航空公司。输入层将输入传递给第一个隐藏层。
在隐藏图层上我们投入的数学计算。创建神经网络的挑战之一是决定隐藏层的数量,以及每层的神经元数量。
深度学习中的“ 深层 ”是指具有多个隐藏层。
在输出层返回的输出数据。在我们的例子中,它给了我们价格预测。
那么它如何计算价格预测呢?
这就是深度学习的魔力所在。
神经元之间的每个连接与权重相关联。这个权重决定了输入值的重要性。初始权重是随机设置的。
在预测机票价格时,出发日期是较重的因素之一。因此,出发日期神经元连接将具有很大的权重。
每个神经元都有一个激活功能。没有数学推理,这些函数很难理解。
简而言之,其目的之一是“标准化”神经元的输出。
一旦输入数据集通过神经网络的所有层,它就会通过输出层返回输出数据。
没什么复杂的吧?
训练神经网络
培训AI是深度学习中最难的部分。为什么?
• 您需要一个大型数据集。
• 您需要大量的计算能力。
对于我们的机票价格估算器,我们需要查找机票价格的历史数据。由于大量可能的机场和出发日期组合,我们需要一个非常大的票价列表。
为了训练AI,我们需要从数据集中提供输入,并将其输出与数据集的输出进行比较。由于人工智能尚未经过培训,其产出将是错误的。
一旦我们完成整个数据集,我们就可以创建一个函数,向我们展示AI输出与实际输出的错误。此功能称为成本函数。
理想情况下,我们希望我们的成本函数为零。那时我们的AI输出与数据集输出相同。
我们如何降低成本函数?
我们改变神经元之间的权重。我们可以随机更改它们直到我们的成本函数很低,但这不是很有效。
相反,我们将使用一种名为Gradient Descent的技术。
Gradient Descent是一种允许我们找到函数最小值的技术。在我们的例子中,我们正在寻找最低成本函数。
它的工作原理是在每次数据集迭代后以小增量改变权重。通过计算成本函数在某一组权重下的导数(或梯度),我们能够看出最小值的方向。
要最小化成本函数,您需要多次遍历数据集。这就是您需要大量计算能力的原因。
使用梯度下降更新权重是自动完成的。这就是深度学习的魔力!
一旦我们训练了我们的机票价格估算器AI,我们就可以用它来预测未来的价格。
综上所述…
• 深度学习使用神经网络来模仿动物智力。
• 神经网络中有三种类型的神经元层:输入 层,隐藏层和输出层。
• 神经元之间的连接与权重相关联,决定了输入值的重要性。
• 神经元对数据应用激活函数以“标准化”来自神经元的输出。
• 要训练神经网络,您需要一个大型数据集。
• 迭代数据集并比较输出将产生一个成本函数,表示AI从实际输出中脱离了多少。
• 在通过数据集的每次迭代之后,使用梯度下降来调整神经元之间的权重以降低成本函数。
自然语言处理 (Natural Language Processing,NLP) 是计算机科学领域与人工智能领域中的一个重要方向。它研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
目前市面上非常缺乏自然语言处理方面的人才,对应的薪水也要高于其他岗位1倍以上,甚至更高。有2,3年经验的人才要价50-60万年薪是很正常的一件事情!
转自:今日头条 - 极客Array,转载此文目的在于传递更多信息,版权归原作者所有。