神经网络如今在人工智能领域中已经变得非常流行,但是很多人对它们仍然缺乏了解。首先,很多人识别不清各种类型的神经网络及其解决的问题,更不用说如何对它们进行区分了。其次,在某种程度上甚至更糟的是,人们在谈论神经网络时通常不加区分地使用“深度学习”这一术语。
以下将讨论目前一些行业主流的神经网络架构,而人工智能行业人士应该对这些架构都非常熟悉:
1.前馈神经网络
这是一种最基本的神经网络类型,得益于技术的进步和发展,开发人员可以添加更多的隐藏层,而不必太担心其计算时间过长。而在深度学习技术的“教父”GeoffHinton在年推出了反向传播算法之后,前馈神经网络开始得到广泛应用。
这种类型的神经网络基本上由一个输入层、多个隐藏层和一个输出层组成。其运行没有循环,信息只能向前流动。前馈神经网络通常适用于数值数据的监督学习,但也存在一些缺点:
不能与顺序数据一起使用;不能很好地处理图像数据,因为其模型的性能严重依赖于特征,而人工查找图像或文本数据的特征本身是一项相当困难的工作。于是行业厂商又相继开发了卷积神经网络和递归神经网络。
2.卷积神经网络(CNN)
在卷积神经网络(CNN)普及之前,人们采用很多算法对图像分类。人们过去常常根据图像创建特征,然后将这些特征输入到诸如支持向量机(SVM)之类的分类算法中。一些算法也将图像的像素水平值作为特征向量。例如,用户可以训练具有个特征的支持向量机(SVM),其中每个特征都是28×28的图像像素值。
那么,为什么要使用卷积神经网络(CNN),为什么其效果要好得多?因为可以将卷积神经网络(CNN)视为图像的自动特征提取器。如果用户使用带有像素矢量的算法,则会丢失很多像素之间的空间交互关系,而卷积神经网络(CNN)会有效地使用相邻像素信息,首先通过卷积有效地对图像进行下采样,然后在最后使用预测层。
人工智能科学家Yannlecun在年首次提出了用于数字分类的这一概念,他使用一个卷积层来预测数字。后来在年被Alexnet推广,它使用多个卷积层在Imagenet上实现了更先进的预测。因此,从而使其成为图像分类的首选算法。
随着时间的推移,神经网络这个特定领域取得了各种进展,研究人员为卷积神经网络(CNN)开发了各种架构,例如VGG、Resnet、Inception、Xception等,这些架构不断地推动了图像分类的发展。
相比之下,卷积神经网络(CNN)也用于对象检测,这可能是一个问题,因为除了对图像进行分类之外,人们还希望检测图像中各个对象周围的边界框。在过去,研究人员采用许多架构(例如YOLO、RetinaNet、FasterRCNN等)以解决目标检测问题,所有这些架构都使用卷积神经网络(CNN)作为其架构的一部分。
3.递归神经网络(LSTM/GRU/注意力)
卷积神经网络(CNN)主要针对图像的含义进行分类,递归神经网络(RNN)主要针对文本的含义分类。递归神经网络(RNN)可以帮助人们学习文本的顺序结构,其中每个单词都取决于前一个单词或前一个句子中的一个单词。
为了简单地解释递归神经网络(RNN),可以将其中看作一个黑盒,将一个隐藏状态(一个向量)和一个单词向量作为输入,并输出一个输出向量和下一个隐藏状态。这个黑盒具有一些权重,需要使用损耗的反向传播进行调整。同样,将相同的单元格应用于所有单词,以便在句子中的单词之间共享权重。这种现象称为权重共享。
以下是同一个递归神经网络(RNN)单元的扩展版本,其中每个递归神经网络(RNN)单元在每个单词“令牌”上运行(令牌是服务端生成的一串字符串,作为客户端进行请求的一个标识),并将隐藏状态传递给下一个单元。对于长度为4的序列(例如“thequickbrownfox”),递归神经网络(RNN)单元最终给出4个输出向量,可以将它们连接起来,然后用作密集前馈神经架构的一部分,如下图所示,以解决最终任务语言建模或分类任务:
长短期记忆网络(LSTM)和门控制循环单元(GRU)是递归神经网络(RNN)的子类,它们通过引入不同的门来增加时间记忆信息(也称为消失梯度问题),这些门通过添加或删除信息来调节神经元状态。
从更高的层面来看,可以将LSTM/GRU理解为递归神经网络(RNN)单元的一种用法,以了解长期依赖性。RNN/LSTM/GRU主要用于各种语言建模任务,这些任务的目标是在给定输入单词流的情况下预测下一个单词,或用于具有顺序模式的任务。
接下来要提到的是基于
转载请注明:http://www.0431gb208.com/sjslczl/4721.html