05.15 关于深度学习的这些“地雷”可别再“踩”了

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

关于深度学习的这些“地雷”可别再“踩”了

“AI”作为术语似乎随处可见。在日常生活中,你会听到开发者说他们想学人工智能,你还会听到高管们说他们希望在他们的工作中实现人工智能。但多数情况下,这些人都不是很明白什么是人工智能。

所以我们特意摘录了这篇文章。希望通过这篇文章,你会对AI和ML有基本的了解。当然,你还将明白什么是深度学习,以及最流行的ML类型。

(为了便于人们的理解,本篇内容不含高等数学。)

前提

理解深度学习的第一步是抓住重要术语之间的区别。

1.人工智能与机器学习

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

在人工智能研究初期,研究人员就试图在计算机上复制人类的智慧,以完成特定的任务。比如玩游戏,研究人员给计算机制定规则。让计算机有一份具体的、可行的行动清单,并通过清单作出进一步的判断。

而机器学习指机器使用大数据集而不是通过编码进行学习的能力。让计算机自己学习是利用了现代计算机的处理能力。现代计算机可以很容易地处理大数据集。

2.监督学习与非监督学习

监督学习多与具有输入和预期输出的标记数据集相关联。当你用监督学习训练人工智能时,你需要给它一个输入值,并明确它输出值的范围。如果AI产生的输出超出了范围,它将调整并重新计算。这个过程是在数据集上迭代完成的,直到AI不再“犯”错误。

有监督学习的常见例子是人工智能下的天气预报,它学习历史数据预测天气。训练数据有输入(压力、湿度、风速)和输出(温度)。

无监督学习是使用没有指定结构的数据集进行机器学习。当你使用无监督学习训练人工智能时,你需要让人工智能对数据进行分类。

无监督学习的常见例子是对电子商务网站的行为预测。无监督学习不会通过使用带有标签的输入和输出数据集来学习。相反,它将创建自己的输入数据分类。它会告诉你哪种用户有可能购买那种产品。

目前深度学习是如何工作的?

我们将通过建立一个假设来了解深度学习是如何工作的。以对机票价格估算为例。我们用监督学习的方法来训练它。

我们希望我们的“人工智能”使用以下输入来预测价格(为了简单起见,我们不包括回程机票):

  • 出发地机场

  • 目的地机场

  • 起飞日期

  • 航空公司

  • 神经网络

1.先让我们了解一下我们人工智能的核心

和动物一样,我们的AI“大脑”也有神经元的。它们由圆圈代表。这些神经元是相互连接的。

关于深度学习的这些“地雷”可别再“踩”了

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

  • 输入层

  • 隐藏层

  • 输出层

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

隐藏层开始对我们的输入内容进行数学计算。(创建神经网络的挑战之一是隐藏层的数量以及每一层的神经元数量。)要知道,“深“在深度学习中,指的不止一个隐藏层。

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

关于深度学习的这些“地雷”可别再“踩”了

那么它是如何计算价格预测的呢?这便是深度学习的魔力了。

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

在预测机票价格时,起飞日期是一个非常重要的因素。因此,起飞日期神经元连接的将也是一个很重要的因素。

关于深度学习的这些“地雷”可别再“踩”了

每个神经元都有一个激活函数。这些函数没有数学的推理,将很难理解。简单地说,它是对神经元输出的“标准化”。一旦一组输入数据通过了神经网络的所有层,它就会通过输出层返回输出数据。没什么复杂的对吧?

2.神经网络训练

训练人工智能是深度学习中最难的部分。你需要一个大数据集,需要一个大数额计算能力。

对于我们的“人工智能机票预计器”,我们需要找到原有的机票价格数据。而且,受制于机场数量和起飞日期,我们可能需要一份非常庞大的清单。

为了训练人工智能,我们需要给它输入来自我们的数据集,并比较它的输出和输出的数据集。在初期,由于人工智能仍未经过训练,它出错率很高。

我们检查整个数据集,然后创建一个函数。这个函数将帮助我们判断AI的出错率。(这个函数通常称为成本函数。)当我们的AI输出与数据集输出相同时,我们希望成本函数为零。

3.怎样才能降低成本?

常见的方法是改变神经元之间的重量,直到成本降低。但这个方法不够有效。我们建议使用一种称为梯度下降的技术。

这个函数可以使用函数的最小值。在上面的例子中,我们正在寻找成本函数的最小值。

关于深度学习的这些“地雷”可别再“踩”了

它的工作原理是在每次数据集迭代后改变重量,通过计算成本函数在某一组权重下的导数(或梯度),进而确定函数最小值的方向。

为了让成本函数最小化,你需要使用多次迭代数据集。这也是为什么你需要大量的计算能力。

我在哪里能学到更多?

还有许多其他类型的神经网络:如卷积神经网络和递归神经网络。如果你想学习深度学习的具体技术,你可以报一门网课。

总结

深度学习是采用神经网络对人类智力进行模拟。

在一个神经网络中有三种类型的神经元:输入层、隐藏层和输出层。

神经元之间的联系与权重有关,这也决定了输入值的重要性。

神经元对数据应用有激活功能。

要训练一个神经网络,你需要一个大的数据集。

迭代数据集并比较输出将产生一个成本函数。成本函数将帮助我们进一步了解“AI”。

通过数据集的每一次迭代,利用梯度下降调整神经元间的权重,从而降低成本函数的值。


分享到:


相關文章: