关于神经网络,你须要了解这些(二)

摘要: 对神经网络概念还很朦胧?来看看阿里技术大牛的分享!

关于神经网络,你须要了解这些(一)数据库

在本文的第1部分中,咱们简要概述了神经网络和深度学习。特别是,咱们讨论了感知机模型、前馈神经网络和反向传播。在本节中,咱们将深刻学习神经网络其余的相关知识,特别是卷积神经网络(CNN)和递归神经网络(RNN)。segmentfault

5.深度学习基础

从20世纪90年代到2006年发展的第二个低谷期,以后神经网络再次进入群众视角,此次影响力比之前更大。神经网络兴起期间的一个重大事件是Hinton包括Salahundinov在内在多个学术论坛提交的多层神经网络(如今称为“深度学习”)的论文。网络

其中一个论文解决了为神经网络设置初始化值的问题。简单来讲,解决方案是将输入值视为x,将输出值视为解码x,而后经过此方法找到更好的初始化点。另外一篇论文提出了一种快速训练深度神经网络的方法。实际上,有许多因素促成了神经网络的普及,例如,计算资源的巨大增加和数据的可用性。在20世纪80年代,因为缺少数据和计算资源,很难训练大规模的神经网络。工具

神经网络的早期兴起是由三个巨人驱动的,即Hinton,Bengio和LeCun。Hinton的主要成就是Restricted Boltzmann Machine和Deep Autoencoder,Bengio的主要贡献是使用元模型进行深度学习的一系列突破。这也是深度学习取得重大突破的第一个领域:学习

2013年,基于元模型的语言建模已经可以赛过当时最有效的方法 -几率模型。LeCun的主要成就是与CNN有关的研究。深度学习在NIPS、ICML、CVPR、ACL等一些重要的峰会上,吸引了很多关注。其中包括Google Brain,Deep Mind和Facebook AI的出现,这些都将他们的研究中心放在深度学习领域。测试

clipboard.png

深度学习进入爆发期后的第一个突破是在语音识别领域。在咱们开始使用深度学习以前,全部的模型都是在先前定义的统计数据库上进行的。2010年,微软使用深度学习神经网络进行语音识别,咱们从下图中能够看出,两个错误指标都降低了2/3,这是一个明显的改善。基于最新的ResNet技术,微软已将该指标降至6.9%,并逐年实现了改进提高。网站

clipboard.png

在图像分类领域,CNN模型在2012年经历了ImageNet形式的重大突破。在ImageNet中,图像分类使用海量数据集进行测试,而后分类为1000种类型。在应用深度学习以前,因为Hinton和他的学生在2012年使用CNN所作的工做,图像分类系统的最佳错误率为25.8%(2011年),仅下降了10%。阿里云

从图中咱们能够看出,自2012年以来,该指标每一年都经历了重大突破,全部这些突破都是使用CNN模型实现的。云计算

这些巨大的成就在很大程度上归功于现代系统的多层结构,由于它们容许独立学习和经过分层抽象结构表达数据的能力。抽象的特征能够应用于各类任务,对深度学习的当前流行作出了重大贡献。spa

clipboard.png

接下来,咱们将介绍两种经典和常见类型的深度学习神经网络:一种是卷积神经网络(CNN),另外一种是递归神经网络(RNN)。

卷积神经网络

卷积神经网络有两个核心概念。一个是卷积,另外一个是池化(pooling)。在这一点上,有些人可能会问咱们为何不简单地使用前馈神经网络而选择CNN。例如,以1000x1000图像为例,神经网络在隐藏层上将拥有100万个节点。那么,前馈神经网络将具备10 ^ 12个参数。在这一点上,系统几乎不可能学习,由于它须要绝对大量的估算。

可是,大量图像具备这样的特征:若是咱们使用CNN对图像进行分类,那么因为卷积的概念,隐藏层上的每一个节点只须要链接并扫描图像的一个位置的特征。若是隐藏层上的每一个节点链接到10 * 10个估算,则最终参数数量为1亿,若是能够共享多个隐藏层访问的本地参数,则参数数量会显着减小。

clipboard.png

看下图,前馈神经网络和CNN之间的区别显然很大。图像中的模型从左到右依次为彻底链接、正常、前馈、彻底链接的前馈和CNN建模神经网络。咱们能够看到,能够共享CNN神经网络隐藏层上节点的链接权重参数。

clipboard.png

另外一个操做是池化。CNN将在卷积原理的基础上在中间造成隐藏层,即池化层。最多见的池化方法是Max Pooling,其中隐藏层上的节点选择最大输出值。由于多个内核正在池化,因此咱们在中间得到了多个隐藏层节点。

有什么好处?首先,池化进一步减小了参数的数量,其次,它提供了必定量的平移不变性。如图所示,若是图像中显示的九个节点之一要经历转换,则在池化层上生成的节点将保持不变。

clipboard.png

CNN的这两个特性使其在图像处理领域中流行,而且已成为图像处理领域的标准。下面的可视化汽车的例子是CNN在图像分类领域中应用的一个很好的例子。在将汽车的原始图像输入CNN模型后,咱们能够经过卷积和ReLU激活层传递一些简单粗糙的特征,如边缘和点。咱们能够直观地看到它们距离最上面的输出层的输出图像越近,它们越接近汽车的轮廓。此过程将最终检索隐藏的图层表示并将其链接到分类图层,以后它将接收图像的分类,如图像中显示的汽车、卡车、飞机、船舶和马。

clipboard.png

下图是LeCun和其余研究人员在早期手写识别领域使用的神经网络。该网络在20世纪90年代在美国邮政系统中获得应用,有兴趣的读者能够登陆LeCun的网站查看手写识别的动态过程。

clipboard.png

虽然CNN在图像识别领域已经变得很是受欢迎,但它在过去两年中也成为文本识别的工具。例如,CNN是目前文本分类最佳解决方案的基础。在肯定一段文本的类别方面,全部人真正须要作的是从文本中的关键词中寻找指示,这是一项很是适合CNN模型的任务。

CNN具备普遍的实际应用,例如在调查、自动驾驶汽车、分段和神经风格中。神经风格是一个不错的应用程序。例如,App Store中有一个名为Prisma的流行应用程序,它容许用户上传图像并将其转换为不一样的样式。例如,它能够转换为Van Goh的Starry Night风格,这个过程在很大程度上依赖于CNN。

递归神经网络

至于递归神经网络背后的基本原理,咱们能够从下图中看到,这种网络的输出不只依赖于输出x,还依赖于隐藏层的状态,隐藏层的状态根据先前的输入x进行更新。展开的图像显示了整个过程,来自第一个输入的隐藏层是S(t-1),它影响下一个输入X(t)。递归神经网络模型的主要优势是咱们能够在顺序数据操做中使用它,如文本,语言和语音,其中当前数据的状态受先前数据状态的影响,使用前馈神经网络很难处理这种类型的数据。

clipboard.png

说到递归神经网络,咱们不能提出咱们前面提到的LSTM模型。LSTM实际上并非一个完整的神经网络,简而言之,它是RNN节点通过复杂处理的结果。LSTM具备三个门,即输入门,遗忘门和输出门。

这些门中的每个用于处理单元中的数据并肯定单元中的数据是否应该被输入,遗忘或输出。

clipboard.png

最后,咱们来谈谈神经网络的跨学科应用,这种应用正在得到普遍承认。该应用程序涉及将图像转换为图像的文本描述或描述它的标题,咱们能够首先使用CNN模型来描述具体的实现过程,以提取有关图像的信息并生成矢量表示。稍后,咱们能够将该向量做为输入传递给已经训练过的递归神经网络,以产生图像的描述。

clipboard.png

总结

在本文中,咱们讨论了神经网络的发展,并介绍了该领域的几个基本概念和方法。上述文章基于孙飞博士在年度阿里云计算大会上发表的演讲。他目前正在致力于研究推荐系统和文本生成方法。

本文做者:【方向】

阅读原文

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索