常用的深度学习模型

目录

1 自动编码器

2 受限玻尔兹曼机

3. 深信度网络


1 自动编码器

如果事先不知道输入数据的标签,那么可以使用自动编码器。

自动编码器训练示意图
自动编码器训练示意图标题

自动编码器让输入数据经过一个编码器得到一个编码输出,在将该输出导入一个解码器得到最终的输出,由于输入数据是无标签数据,此时的误差来自于输出和原输入之间的比较。通过调整编码器和解码器的参数,使得误差达到最小,就能得到输入信号的另一种表示r,如(a)所示。将多个编码器串联起来,把第k层输出的表示rk看作是第k+1层输入,同理,最小化通过解码器重构输出与输入之间的误差就能得到第K+1层的参数,并且得到第k+1层的输出的rk+1,即原输入数据的第K+1个表示,其中上图中虚线表示之前训练出的隔层参数已经固定,不再变化。

假设经过多层的训练,自动编码器已经学习到一个良好的特征来表示原输入数据,那么可以在自动编码
器的最顶层添加一个分类器,如LR回归、支持向量机SVM等,利用梯度下降方法对整个网络进行有监督的微调。一旦完成了这个有监督训练,整个神经网络就可以用来分类了。如果
对自动编码器加上一些约束就能得到新的深度学习方法,例如稀疏自动编码器、降噪自动编码器等。

 

2 受限玻尔兹曼机

RBM模型

受限玻尔兹曼机是一个二分图模型,有可视层v和隐藏层h组成,所有的节点都是随机二值变量节点(0或1),全概率分布P(v,h)满足Boltzmann分布,本层节点之间没有连接,如上图所示,无论在可视层还是隐藏层,节点都是独立的,因此在已知可视层v的情况下

同理在已知隐藏层h的前提下,根据P(V'|h)可以得到可视层,v′ 表示根据隐藏层估计出的可视层单元。通过调整参数,如果从隐藏层得到的v′ 与原来的可视层v 相同,就可以认为隐藏层是可视层输入数据的特征表示

RBM训练过程

实际上,RBM 是一种能量模型,其能量函数为:

其中θ= {W ,a,b}是模型参数,E 为期望值。通过正则分布为RBM 定义了可视节点和隐藏节点的联合概率分布:

给定可视层v,第j个隐藏层节点为1的概率为:

同理,给定隐藏层h,第i个可视层节点为1的概率为:

给定一个原始数据集d = {v1,v2,…,vn},满足独立同分布,构建下列对数似然函数:

上式对W 求偏导得到:

令上式为0即可得到Wij

如果把隐藏层的层数增加,我们可以得到深度玻尔兹曼机DBM,如果在靠近可视层的部分使用贝叶斯信念网络,而
在最远离可视层的部分仍然使用RBM,可以得到深信度网络。

 

 

3. 深信度网络

深信度网络是一种贝叶斯概率生成模型,由多层随机隐藏变量组成,上面两层具有无向对称连接,下面的层得到来自上一层的有向连接。,DBN 的基本结构单元是RBM,每个RBM单元的可视层节点个数等于前一RBM 单元的隐藏层节点个数。

在深信度网络框架中,最上面两层构成联想记忆,其余各层之间的连接是通过自顶向下的生成权值来指导确定的。在训练过程中,先将可视层单元的值映射给隐藏层单元,然后可视层单元由隐藏层单元重建,这些新的可视层单元再次映射给隐藏层单元,获取到新的隐藏层单元,这种反复前进和后退的步骤称为吉布斯采样。由于可视层输入与隐藏层激活单元之间的概率分布差异是权值更新的主要依据,因此采用对比散度算法去预训练获得生成模型的权值,训练时间会显著减少,只需要很少几步就可以收敛。

对于最高两层,下层的输出给顶层提供了相关的参考线索,顶层根据这些线索将输出联系到它的记忆内容,最终完成判别分类任务。例如在图中有一个标签集被附加到顶层,DBN在预训练之后可以根据带标签的数据,利用BP算法去对判别性能做微调。经过这种处理的网络性能会比单纯用BP算法训练的要好,因为DBN的BP算法只需要对权值参数空间进行一个局部的搜索,训练和收敛时间较少。

RBM 就像是建筑的砖块,易于连接权值的学习,使得DBN具有灵活的拓展性能,卷积深信度网络CDBN就是其中的一种。CDBN考虑到图像的二维结构信息,利用邻域像素的空域关系,通过卷积RBM 模型达到生成模型的变换不变性,而且可以很容易变换得到高维图像。另外,堆栈多层条件随机场、时间卷积机TCM等深度结构的神经网络模型也给语音信号处理问题带来0了一个让人激动的未来研究方向。

4.卷积神经网络

5.递归神经网络

 递归神经网络RNN是一种具有反馈结构的神经网络,其输出不但与当前输入和网络的权值有关,而且还与之前网络的输入有关。RNN通过添加跨越时间点的自连接隐藏层,对时间进行建模。换句话说,隐藏层的反馈,不仅仅进入输出端,而且还进入了下一时间的隐藏层。RNN网络模型如图所示。
 

递归神经网络被认为是最“深”的神经网络,因为展开来看它可以有非常多层。如图所示,这种结构上天然序贯的特点也使得RNN 能够更好挖掘利用序列数据的信息,或者说,RNN 具有有序贯记忆性。这种能力的重要性在语言理解显得尤为突出,因为
语言理解需要首先理解语境,才能更准确完善的理解语言的含义。对于涉及到序列输入的任务,比如语音和语言,利用RNN能获得更好的效果。RNN一次处理一个输入序列元素,同时维护网络中隐式单元中隐式的包含过去时刻序列元素的历史信息的“状态向量”。如果是深度多层网络不同神经元的输出,我们就会考虑这种在不同离散时间步长的隐式单元的输出,这将会使我们更加清晰怎么利用反向传播来训练RNN。

3.2 长短期记忆模型

 长短期记忆模型LSTM是一种特殊的RNN模型,是为了解决RNN模型梯度弥散的问题而提出的。在传统的RNN中,训练RNN的方法也是在传统反向传播算法的基础上加入了对时间的考量,这种方法称为反向时间传播BPTT。即从前一层获取残差而改变本层的内部参数,这些内部参数可以用于计算表示。但当传播的时间比较长时,需要回传的残差(a)RNN
(b)LSTM图RNN与LSTM 的原理图比较会呈指数下降,导致网络权重更新缓慢,无法体现出RNN的长期记忆的效果,这时候RNN 就可能变得非常难以训练,梯度信号会变得非常微小近乎为零或者干脆发散了,这就导致了RNN中梯度弥散的问题。因此需要一个存储单元来存储记忆,LSTM 模型由此被提出。

从图可以看出RNN 与LSTM 的区别。RNN 与LSTM 最大的区别在于LSTM 中最顶层多了一条名为细胞状态(cell state)的信息传送带,其实也就是存储记忆信息的地方。LSTM 的核心是cell state,也就是图中LSTM 原理图中最顶的传送线。cell state可以理解为传送带,其实就是整个模型中的记忆空间,随着时间
而变化的。当然,传送带本身是无法控制哪些信息是否被记忆,控制门(gate)决定了哪些信息将被记忆。

σ指sigmoid神经网络层,可以理解为一个函数,指乘法操作,tanh层是RNN中一个基本的模块。tanh
用来把input转换为细胞状态,首先运行一个sigmoid层来确定细胞状态的哪个部分将输出出去。接着,把cell state通过tanh进行处理(得到一个在-1到1之间的值)并将它和sigmoid门的输出相乘,最终系统会输出确定输出的那部分。

LSTM 通过“控制门”的结构来去除或者增加信息到细胞状态。控制门可以让信息选择式的通过。控制门的结构主要由一个sigmoid函数跟点乘操作组成;sigmoid函数的值为0~1之间,点乘操作决定多少信息可以传送过去,当为0时,不传送,当为1时,全部传送;LSTM 中有3个控制门:输入门(input gate),输出门(output gate),记忆门(forget gate);记忆门用来选择忘记过去某些信息,输入门用来记忆现在的某些信息,信息通过输入门和记忆门将过去与现在的记忆进行合并,输出门最后输出信息

 

转自:深度学习基本理论概述

展开阅读全文

没有更多推荐了,返回首页