DBN/DNN/ANN/SNN

一、ANN与DNN区别

1、ANN与DNN背景

       传统的神经网络,也称为浅层神经网络SNN(shallow nerual network)。Deep Learning中重点研究的是深层神经网络,也称为DNN(Deep neural network,其中D是Deep的缩写。无论是SNN还是DNN都属于一类人工神经网络ANN。DNN也是机器学习(machine learning)或感知学习(perception learning)的一个分支。

下面是摘自网上对传统浅层ANN和DNN的描述。

1.1浅层学习是机器学习的第一次浪潮

 

       20世纪80年代末期,用于人工神经网络的反向传播算法(也叫Back Propagation算法或者BP算法)的发明,给机器学习带来了希望,掀起了基于统计模型的机器学习热潮。这个热潮一直持续到今天。人们发现,利用BP算法可以让一个人工神经网络模型从大量训练样本中学习统计规律,从而对未知事件做预测。这种基于统计的机器学习方法比起过去基于人工规则的系统,在很多方面显出优越性。这个时候的人工神经网络,虽也被称作多层感知机(Multi-layer Perceptron),但实际是种只含有一层隐层节点的浅层模型。

        20世纪90年代,各种各样的浅层机器学习模型相继被提出,例如支撑向量机(SVM,Support Vector Machines)、 Boosting、最大熵方法(如LR,Logistic Regression)等。这些模型的结构基本上可以看成带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)。这些模型无论是在理论分析还是应用中都获得了巨大的成功。相比之下,由于理论分析的难度大,训练方法又需要很多经验和技巧,这个时期浅层人工神经网络反而相对沉寂。

1.2深度学习是机器学习的第二次浪潮

 

        2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton和他的学生RuslanSalakhutdinov在《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。这篇文章有两个主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。

        当前多数分类、回归等学习方法为浅层结构算法,其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。(多层的好处是可以用较少的参数表示复杂的函数)

 

        深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。

2、DNN的优点

相比传统的SNN,DNN由于具有更多的层次结果,因而对事物的建模或抽象表现能力更强,也能模拟更复杂的模型。

3、DNN与ANN的区别

其实DNN和ANN都是一种人工神经网络,所以可以说DNN属于ANN的一个分支。但是过去传统的神经网络ANN(Artifical Neural Network),都是层次较少的网络型结构,所以又被称为浅层网络(shallow neural network),DNN与传统SNN的区别就在于其网络层次结构更多,等复杂,因此由于其层次更多,在图论上说就是图的深度更深,所以被冠名为深度神经网络(Deep Neural Network)。

References

 

http://blog.csdn.net/zouxy09/article/details/8775518

 

一、DBN与DNN区别

  1 网络结构区别

   DBN最后的两层是一个RBM,并且除了最后两层,其他的层都是top-down结构的有向结构;

   DNN是一个bottom-up的结构,同时,在一般的文献中,将DNN作为一个DBN进行训练得到的模型还是称为DBN(这就是为什么我一直分不清这两种结构的原因)。



 

2.训练算法
    DBN在训练的时候,当做一个stack RBMs进行训练;
    DNN在预训练的时候,可以当做一个DBM进行预训练,也可以当做一个stack autoencoder进行预训练。在当做DBN进行预训练之后,还要在后面添加一个输出层,然后再使用BP算法进行训练;而当做stack autoencoder进行预训练之后,可以直接使用BP进行训练。

3.参考文献

1.Deep Neural Networks for Acoustic Modeling in Speech Recognition

总结:

DBN有一个非监督预训练的过程,使用RBM进行权重偏置的初始化。为dnn提供较好的初始参数

DNN也同样有使用自动编码机对神经网络的初始权重进行pre-training的过程啊。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DBN是深度置信网络(Deep Belief Network)的缩写,是一种用于无监督学习的神经网络模型。在Matlab中,可以使用一些函数和代码来实现DBN的训练和预测。 引用\[1\]中的代码片段展示了使用麻雀算法优化DBN模型在训练集和测试集上的预测效果。subplot(121)和subplot(122)分别表示两个子图,分别展示了训练集和测试集上的预测结果。plot函数用于绘制曲线,train_Y和test_Y是真实值,trainY_out_SSA和testY_out_SSA是使用麻雀算法优化的DBN模型的预测值。 引用\[2\]中的代码片段展示了使用哈里斯鹰算法优化DBN模型在训练集和测试集上的预测效果。同样,subplot(121)和subplot(122)分别表示两个子图,plot函数用于绘制曲线,train_Y和test_Y是真实值,trainY_out_HHO和testY_out_HHO是使用哈里斯鹰算法优化的DBN模型的预测值。 引用\[3\]中的代码片段展示了训练DBN模型的一些参数设置和过程。maxepoch表示训练的次数,numhid、numpen和numpen2分别表示DBN模型的隐含层节点数。rbm参数部分展示了使用RBM(Restricted Boltzmann Machine)进行DBN的预训练过程。 综上所述,DBN是一种深度置信网络模型,可以使用Matlab中的函数和代码进行训练和预测。麻雀算法和哈里斯鹰算法可以用于优化DBN模型的训练效果。 #### 引用[.reference_title] - *1* *2* [【DBN分类】基于matlab麻雀算法优化深度置信网络SSA-DBN数据分类【含Matlab源码 2318期】](https://blog.csdn.net/TIQCmatlab/article/details/128690787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【DBN数据预测】基于matlab粒子群算法优化DBN数据预测【含Matlab源码 1420期】](https://blog.csdn.net/TIQCmatlab/article/details/120894528)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值