本文授权转载自Dplarning4j。Dplarning4j(简称DL4J)是为Java和Scala编写的首个商业级开源分布式深度学习库。DL4J与Hadoop和Spark集成,为商业环境(而非研究工具目的)所设计。
目录
前馈网络
递归网络
沿时间反向传播
梯度消失与梯度膨胀
长短期记忆单元(LSTM)
涵盖多种时间尺度
本文旨在帮助神经网络学习者了解递归网络的运作方式,以及一种主要的递归网络,即LSTM的功能和结构。
递归网络是一类人工神经网络,用于识别诸如文本、基因组、手写字迹、语音等序列数据的模式,或用于识别传感器、股票市场、政府机构产生的数值型时间序列数据。
递归网络可以说是最强大的神经网络,甚至可以将图像分解为一系列图像块,作为序列加以处理。
由于递归网络拥有一种特定的记忆模式,而记忆也是人类的基本能力之一,所以下文会时常将递归网络与人脑的记忆活动进行类比(注1)。
前馈网络回顾
要理解递归网络,首先需要了解前馈网络的基础知识。这两种网络的名字都来自于它们通过一系列网络节点数学运算来传递信息的方式。前馈网络将信息径直向前递送(从不返回已经过的节点),而递归网络则将信息循环传递。
在前馈网络中,样例输入网络后被转换为一项输出;在进行有监督学习时,输出为一个标签。也就是说,前馈网络将原始数据映射到类别,识别出信号的模式,例如一张输入图像应当给予“猫”还是“大象”的标签。
我们用带有标签的图像定型一个前馈网络,直到网络在猜测图像类别时的错误达到最少。将参数,即权重定型后,网络就可以对从未见过的数据进行分类。已定型的前馈网络可以接受任何随机的图片组合,而输入的第一张照片并不会影响网络对第二张照片的分类。看到一张猫的照片不会导致网络预期下一张照片是大象。
这是因为网络并没有时间顺序的概念,它所考虑的唯一输入是当前所接受的样例。前馈网络仿佛患有短期失忆症;它们只有早先被定型时的记忆。
递归网络
递归网络与前馈网络不同,其输入不仅包括当前所见的输入样例,还包括网络在上一个时刻所感知到信息。以下是[由Elman提出的早期递归网络]的示意图(白癜风哪家医院看最好白癜风治疗方法
转载请注明:http://www.shangwuyingyua.com/swyyqj/4448.html