深度神经网络可以分为3类:
1)前馈深度网络(feed-forwarddeep networks, FFDN)
2)反馈深度网络(feed-back deep networks, FBDN)
3)双向深度网络(bi-directionaldeep networks, BDDN)
双向深度网络(bi-directionaldeep networks, BDDN)
结构上:双向网络的结构结合了编码器和解码器2类单层网络结构,通过叠加多个编码器层和解码器层构成(每层可能是单独的编码过程或解码过程,也可能既包含编码过程也包含解码过程)。
训练上:双向网络的学习则结合了前馈网络和反馈网络的训练方法。
通常包括单层网络的预训练和逐层反向迭代误差2个部分。其中单层网络的预训练是对输入信号编码和解码的重建过程,这与反馈网络训练方法类似;而基于反向迭代误差的权值微调与前馈网络训练方法类似。
a)单层网络的预训练多采用贪心算法:每层使用输入信号IL与权值w计算生成信号IL+1传递到下一层,信号IL+1再与相同的权值w计算生成重构信号I’L 映射回输入层,通过不断缩小IL与I’L间的误差,训练每层网络。
b)网络结构中各层网络结构都经过预训练之后,再通过反向迭代误差对整个网络结构进行权值微调。
不同的双向深度网络
1)深度玻尔兹曼机(deep Boltzmann machines, DBM)
它由多层受限玻尔兹曼机(restricted Boltzmann machine, RBM )叠加构成。网络中所有节点间的连线都是双向的。
a)玻尔兹曼机(Boltzmann machine, BM)是一种随机的递归神经网络。BM是基于能量的无向图概率模型。玻尔兹曼机由二值神经元构成,每个神经元只取0或1两种状态,状态1代表该神经元处于激活状态,0表示该神经元处于抑制状态。然而,即使使用模拟退火算法,这个网络的学习过程也十分慢。
b)Hinton等提出的受限玻尔兹曼机去掉了玻尔兹曼机同层之间的连接,从而大大提高了学习效率。受限玻尔兹曼机分为可见层v以及隐层h,共两层,可见层和隐层的节点通过权值w相连接,2层节点之间是全连接,同层节点间互不相连。
BM的训练算法
BM的典型训练算法有变分近似法、随机近似法(stochastic approximation procedure,SAP)、对比散度算法(contrastivedivergence,CD)、持续对比散度算法(persistent contrastive divergence,PCD)、快速持续对比散度算法(fastpersistent contrastive divergence,FPCD)和回火MCMC算法等。
RBM的原理
RBMD的一层是可视层v(即输入层),一层是隐层h,每层内的节点之间设有连接。
在已知v时,全部的隐藏节点之间都是条件独立的(因为这个模型是二部图),即p(h|v) = p(h1|v1) … p(hn|v)。
同样的,在已知隐层h的情况下,可视节点又都是条件独立的,又因为全部的h和v满足玻尔兹曼分布,所以当输入v的时候,通过p(h|v)可得到隐层h,得到h之后,通过p(v|h)又可以重构可视层v。
通过调整参数,使得从隐层计算得到的可视层与原来的可视层有相同的分布。这样的话,得到的隐层就是可视层的另外一种表达,即可视层的特征表示。
RBM的训练方法
RBM的损失函数
由于受限玻尔兹曼机是一种随机网络,而随机神经网络又是根植于统计力学的,所以受统计力学能量泛函的启发引入了能量函数。在随机神经网络中,能量函数是用来描述整个系统状态的测度。网络越有序或概率分布越集中,网络的能量就越小;反之,网络越无序或概率分布不集中,那么网络的能量就越大。所以当网络最稳定时,能量函数的值最小。
DBM训练分为2个阶段
即预训练阶段和微调阶段。
a)在预训练阶段,采用无监督的逐层贪心训练方法来训练网络每层的参数,即先训练网络的第1个隐含层,然后接着训练第2,3,…个隐含层,最后用这些训练好的网络参数值作为整体网络参数的初始值。
b)预训练之后,将训练好的每层受限玻尔兹曼机叠加形成深度玻尔兹曼机,利用有监督的学习对网络进行训练(一般采用反向传播算法)。
2)深度信念网络(deep beliefnetworks, DBN)
DBM与DBN的区别
DBN的训练
DBN的结构及其变种
采用二值可见单元和隐单元RBM作为结构单元的DBN,在MNIST等数据集上表现出很好的性能。
近几年,具有连续值单元的RBM,如mcRBM、mPoT模型和spike—and-slab RBM等已经成功应用。
Spike—and—slab RBM中spike表示以0为中心的离散概率分布,slab表示在连续域上的稠密均匀分布,可以用吉布斯采样对spike—and—slab RBM进行有效推断,得到优越的学习性能。
3)栈式自编码器(stacked auto-encoders, SAE)
SAE与DBN的区别
4)MKMs
L层MKMs深度模型的训练过程
a)、去除输入特征中无信息含量的特征;
b)、重复L次:A、计算有非线性核产生特征的主成分;B、去除无信息含量的主成分特征;
c)、采用Mahalanobis距离进行最近邻分类。
该模型由于特征选取阶段无法并行计算,导致交叉验证阶段需耗费大量时间。据此,提出了一种改进方法,通过在隐藏层采用有监督的核偏最小二乘法(kernel partial least squares,KPLS)来优化此问题。
5)DeSTIN
历史
目前较成熟的深度学习模型大多建立在空间层次结构上,很少对时效性(temporal)有所体现。相关研究表明,人类大脑的运行模式是将感受到的模式与记忆存储的模式进行匹配,并对下一时刻的模式进行预测,反复进行上述步骤,这个过程包含了时空信息。因此在深度结构中将时效性考虑在内,会更接近人脑的工作模式。
理解
DeSTIN 是一种基于贝叶斯推理理论、动态进行模式分类的深度学习架构,它是一种区分性的层次网络结构。
在该深度模型中,数据间的时空相关性通过无监督方式来学习。
网络的每一层的每个节点结构一致,且包含多个聚类中心,通过聚类和动态建模来模拟输入。每个节点通过贝叶斯信念推理输出该节点信念值,根据信念值提取整个DeSTIN网络的模式特征,最后一层网络输出特征可以输入分类器如SVM中进行模式分类。
现状
目前将时效性考虑在内的深度学习架构虽然不是很成熟,但也逐渐应用在不同领域,也是深度学习模型未来发展的一个新方向。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/25223.html