你所在的位置: 首页 > 正文

教你用ANNs,RNNs和LATMs构建“私人助理”

2019-08-21 点击:1821
? n

全文为3390个单词,估计学习时间为7分钟

n n n

%5C

n n

你有没有想过有个人助理谁可以回答你的任何问题或能够与你交谈?幸运的是,通过深度神经网络学习使这个梦想不再遥远。想想Apple的Siri和亚马逊的Alexa的神奇功能!

n n

但是不要太兴奋,因为你将在下一篇文章中创建的不是万能的人工智能,而是一个简单的聊天机器。它输入时带有一些问题和相应的答案,当人们提出问题时,它可以回答是或否。

n n

它与Siri或Alexa的功能相去甚远,但即使使用非常简单的深度神经网络结构,它也是令人惊叹的结果的一个很好的例子。本文将学习人工神经网络,深度学习,递归神经网络和长期短期记忆网络。

n n

在您学习有关神经网络的有趣事项之前,您可以仔细查看下面的图片。里面有两张照片:左边是一辆在路上行驶的校车,右边是一张普通的起居室。图纸标有下面的注释。

n n

%5C

n

两个不同的图像伴随着手册的文字描述。

n n

%5C

n

人工神经网络

n n

为了构建用于创建聊天机器人的神经网络模型,将使用非常流行的用于神经网络的Python库Keras。但是,在进一步研究之前,您必须首先了解人工神经网络是什么。

n n

人工神经网络是试图模仿人类大脑功能的机器学习模型。人脑的结构由大量相互连接的神经元组成,因此得名“人工神经网络”。

n n

传感器

n n

最简单的人工神经网络由一个神经元组成,其名称听起来类似于《星际迷航》中的感知器。 1957年,Frank Rosenblatt发明了感知器,它由一个神经元组成,它对输入信号进行加权(生物神经元中的输入信号端口变为树突),应用于数学函数公式,最后输出结果。 (信号输出端口称为轴突)。这里不详细讨论适用的功能。

n n

%5C

n

上图显示了一个神经元,左边是信号输入端口,它将每个重量相乘。神经元将函数应用于输入值并最终应用于结果。

n n

这些单个神经元可以堆叠在一起形成任意大小的层,按顺序放置在一起,使神经网络达到更深层次。

n n

当以这种方式构造神经网络时,不属于输入层或输出层的神经元被认为是隐藏层的一部分。用他们的名字来描述人工神经网络的一个主要特征。它们基本上都是黑盒子型号;虽然他们理解发生的事情背后的数学原理并且对黑盒中发生的事情有直觉,但如果采用隐藏层的输出并试图理解它,人们很可能绞尽脑汁而不会得到任何结果。

n n

尽管如此,隐藏层仍然可以产生许多意外结果。因此,没有人抱怨它缺乏可解释性。

n n

%5C

n

上图是一个较大的神经网络图,由许多单个神经元和层组成:输入层,两个隐藏层和一个输出层。

n n

关于神经网络结构以及如何训练它们的讨论已经存在了二十多年。那么,是什么导致了人工神经网络和深度学习的大惊小怪呢?这个问题的答案如下,但我们首先需要了解深度学习是什么。

n n

什么是深度学习?

n n

顾名思义,深度学习使用许多层来逐步从提供给神经网络的数据中提取更高级别的特征。它就像使用多个隐藏层来提高神经模型的性能一样简单。

n n

理解了这一点后,上述问题的答案很简单:即规模。在过去的20年中,用于数据存储和处理的可用数据量和机器(即计算机)的性能呈指数级增长,使人们能够创建更大,更深的神经网络来训练模型。

n n

世界顶级深度学习专家之一吴恩达在一段视频中详细阐述了这一点。他展示了与下图类似的图像,并解释了拥有更多数据训练模型的好处以及大型神经网络优于其他机器学习模型的优势。

n n

%5C

n

上图显示了随着训练数据的增加逐步优化每种算法的性能。

n n

对于传统的机器学习算法(线性或逻辑回归,SMV,随机森林等),随着训练模型数据的增加,性能继续增加到某一点,然后保持在该水平。此时,模型似乎不知道如何处理额外数据,因此无法通过增加数据量来提高性能。

n n

然而,神经网络不是这种情况。如果数据质量很高,性能将随着数据量的增加而增加,其增长率取决于网络的大小。因此,如果要获得最佳性能,则需要在x轴方向上的绿线(即,表示神经网络的线)上的位置(即,更大量的数据)。

n n

此外,一些算法的改进也促进了深度学习和人工神经网络的兴起,但主要原因是规模:计算规模和数据规模。

n n

作为该领域的另一位重要人物,Jeff Dean(谷歌深度学习的创始人之一)也表达了他对深度学习的见解:

n n

当你听到“深度学习”一词时,想象它是一个巨大的深层神经网络。 “深度”通常指的是层数,并且是媒体中常用的术语。我通常认为它们是深度神经网络。

n n

在深度学习方面,他强调神经网络的可扩展性,这表明随着数据的增加和模型的增加,性能逐渐得到优化,这反过来需要更多的计算,如上所述。训练。

n n

好的我明白了。然而,神经网络如何学习?

n n

也许你已经猜到了答案,那就是:通过数据学习。

n n

还记得在单个感知器中乘以输入权重吗?这些权重也包含在连接两个不同神经元的任何一侧。这意味着在较大神经网络的图像中,它们存在于每个黑色边缘,取一个神经元的输出,乘以重量,然后将其传递给另一个连接到该边缘的神经元作为新的输入。

n n

%5C

n

这是一个神经网络图,每层之间有两个隐藏层和权重。

n n

当训练神经网络(训练神经网络是一种机器语言表达,意思是“让它学习”)时,输入一组已知数据(机器语言称为标签数据),让它预测已知的数据特征(如是否图像代表狗或猫)然后将预测结果与实际结果进行比较。

n n

在这个过程中,神经网络会出错,但它会调整神经元之间连接的权重,以减少错误的数量。因此,如上所述,如果继续增加输入量,大多数情况下性能会提高。

n n

%5C

n

学习序列数据循环神经网络

n n

现在我们已经了解了人工神经网络和深度学习,并对神经网络如何学习有了一般性的了解,让我们来看看用于构建聊天机器人的网络类型:递归神经网络(RNN)。

n n

递归神经网络是一种特殊的神经网络,可以有效地处理序列数据。这种类型的数据包括时间序列(特定时间段的某些参数值的列表),文本文档(可以被认为是一系列单词)和记录的文档(可以被认为是作为音频序列)。

n n

递归神经网络的工作方式是通过获取每个神经元的输出信号并将其作为新输入反馈。通过这种方式,它不仅可以在每个时间段接收新信息,还可以将此新信息添加到先前导出的加权版本中。这允许神经元“记忆”先前的输入,因为它们通过反馈到神经元的输出来量化。

n n

%5C

n

这是一个递归神经元,其输出数据乘以一个权重并重新输入。

n n

细胞内是前一阶段输入的函数,并成为记忆细胞。

n n

循环神经网络存在的问题是随着时间的推移,越来越多的新数据被输入,并且神经网络在这些新数据和激活函数的转换与权重乘法之间不断被稀释,因此它开始“忘记” “在查看数据之前。这意味着他们只有良好的短期记忆,但记住不久前发生的事情(即过去一段时间内看到的数据)。

n n

我们需要某种长期记忆,由长期和短期记忆网络(LSTM)提供。

n n

%5C

n

增强内存 - 长期和短期内存网络

n n

长期和短期记忆网络(LSTM)是递归神经网络的变体,可以解决递归神经网络的长期记忆问题。本文将通过简要描述它们的工作原理来结束本文。

n n

长期和短期记忆网络的细胞结构比正常的复发神经元更复杂,这使得它们能够更好地调节如何从不同的输入源学习或忘记。

n n

%5C

n

这是一个长期和短期内存网络的单元。请不要注意蓝色圆圈和方框,可以看出它的结构比普通的反复神经网络单元复杂得多,所以本文不讨论。

n n

长期和短期记忆网络神经元通过组合单元状态和三个不同的门(输入门,遗忘门和输出门)来工作。这要归功于显式选通机制,它允许单元决定如何在每个时间段内处理状态向量:的读,写或删除。通过输入门,单元可以决定是否更新其状态。通过忘记门,细胞可以清除它的记忆。通过输出门,单元可以确定输出信息是否有效。

n n

长期和短期记忆网络也缓解了梯度爆炸并消失,但这是另一个新问题。

n n

而已!现在您已经初步了解了这些不同类型的神经网络是如何工作的,您可以将它们用于您的第一个深度学习项目!

n n

神经网络非常棒。哦,对,还记得这张照片吗?

n n

%5C

n n

为了证明深度神经网络非常强大,我们不得不承认我们已经撒谎了图片文本描述的来源。

n n

在本文开头,这些文本描述是手动标记的。然而,事实是这些描述每幅图像上可见内容的短文本实际上是由人工神经网络输出的。

n n

太疯狂了?请享受人工智能的魔力!

n

%5C

n n

发表评论喜欢

n

让我们分享AI学习和发展的干货

n

欢迎来到完整平台AI垂直类媒体“阅读核心”

n n
日期归档
银河娱乐官网 版权所有© www.fake-ray-ban.com 技术支持:银河娱乐官网 | 网站地图