五分钟快速了解深度学习

原作者:Radu Raicea
译者:刘勤

人工智能(Artificial Intelligence)和机器学习(Machine Learning)是当下最热话题。每天“AI”这个词都在耳边横飞。胸怀抱负的开发人员声称想要研究AI;经理们说想在服务中应用AI。但是,通常这些人不知道AI是什么。

本文将带你了解人工智能(AI)和机器学习(ML)的基本知识。你也会了解到机器学习中最火的方法——深度学习的工作原理。

本指南是用来科普的,所以不会涉及高等数学。

背景

了解深度学习的第一步是把握重要概念之间的区别。

AI与ML

人工智能(AI)是在计算机中复制人类智能。

AI研究刚开始时,研究人员尝试复制人类只能来完成特定任务,比如玩游戏。

他们给计算机制订了大量的规则。计算机有一张可能行为的具体清单,并根据制定的规则作出决定。

机器学习(ML)指机器通过大数据集(而不是定死的规则)来学习的能力。

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

监督学习与无监督学习

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

如果使用监督学习来训练AI,你要给它一个输入并告诉它预期的输出。

如果AI产生的输出错了,它会重新调整它的计算。这个过程是通过遍历数据集完成的,直到AI不再犯错。

监督学习的一个例子是天气预报AI。 它通过历史数据来学习预测天气。训练数据有输入(气压,湿度,风速)和相应的输出(温度)。

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

如果使用无监督学习训练AI,就是让AI对数据进行逻辑分类。

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

相反,它会自己对输入数据创建分类。它会告诉你哪种用户最有可能购买这款产品。

那么,深度学习是如何工作的?

现在,你已经具备了理解深度学习工作原理的基本知识。

深度学习是一种机器学习方法,可以通过一组输入,训练AI来预测输出。监督学习和无监督学习都能用来训练AI。

我们将通过建立一个假想的机票估价服务来了解深度学习是如何工作的。我们将使用监督学习方法进行训练。

我们希望机票估价工具能够使用以下输入来预测价格(方便起见,不包括返程票):
• 始发机场
• 到达机场
• 起飞日期
• 航线

神经网络

来看看人工智能大脑的内部构造。

和动物一样,估价AI的大脑也有神经元,用圆圈来表示。这些神经元是互相连接的。

这些神经元被分成三层:
1、输入层
2、隐藏层
3、输出层

输入层用来接收输入的数据。在我们的案例中,输入层有四个神经元:始发机场、到达机场、起飞日期和航线。输入层把输入传递到隐藏层的第一层。

隐藏层对输入数据进行数学计算。建立神经网络的一个难题就是如何决定隐藏层的数量以及每一层的神经元个数。

深度学习中的“深”指的是神经网络有超过一层的隐藏层。

输出层返回输出数据。在本案例中,输出就是价格预测。

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

这就是深度学习的魔力开始的地方。

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

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

每个神经元都有一个激励函数。没有数学推理,这些功能是难以理解的。

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

一旦一组输入数据通过了神经网络的每一层,它就通过输出层返回输出数据。

没什么复杂的对吧?

训练神经网络

训练AI是深度学习中最难的部分。为什么呢?
1. 需要大数据集。
2. 需要很强的计算能力。

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

为了训练AI,我们需要从数据集中给出输入,并将AI的输出与数据集的输出进行比较。由于AI尚未经过训练,其输出将是错的。

一旦遍历了整个数据集,就可以创建一个函数来显示AI的输出与实际输出的偏差。这个函数被称为代价函数。

理想情况下,我们希望代价函数为零。此时,AI的输出和数据集的输出一样。

如何降低代价函数?

改变神经元之间的权重。我们可以随机改动权重,直到代价函数的值很低。但是这种做法效率很低。

实际上,我们用梯度下降方法。

梯度下降可以用来找到函数的最小值。在本案例中,就是找到最小的代价函数。

梯度下降的原理是,在每次遍历数据集后,稍稍增加权重。通过计算一定权重下的代价函数的导数(梯度),我们可以看出最小值在哪个方向上。


为了使代价函数最小化,需要多次遍历数据集。 这就是为什么需要很强的计算能力。

使用梯度下降更新权重是自动完成的。这就是深度学习的神奇之处!

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

总结

• 深度学习使用神经网络模仿动物智能。

• 神经网络中有三种类型的神经元层:输入层,隐藏层和输出层。

• 神经元之间的联系与权重相关联,决定输入值的重要性。

• 神经元对数据应用激励函数以“标准化”神经元的输出。

• 训练神经网络需要一个大数据集。

• 遍历数据集并比较输出,就会生成一个代价函数,显示AI与实际输出的偏差。

• 在每次遍历数据集后,使用梯度下降来调整神经元之间的权重以降低代价函数。

原文链接:https://www.kdnuggets.com/2017/11/deep-learning-works-quick-guide-everyo...
本文转自: 中国统计网,原作者:Radu Raicea,译者:刘勤,转载此文目的在于传递更多信息,版权归原作者所有。

推荐阅读