在深度学习中,DNN与DBN两个网络有什么区别

2024-11-13 04:00:09
推荐回答(1个)
回答(1):

dnn 从名字上你就可以看出来,是深度神经网络,类比于浅层神经网络,它的训练方法也是BP,没有引入无监督的预训练。隐层的激活函数使用了 ReLU,改善了“梯度弥散”,通过正则化+dropout 改善了过拟合的现象,在输出层 是softmax 作为激活函数。目标函数是交叉熵。
他是一个 有监督的判别模型。
stacked denoised autoencoder (SDA)深度学习结构,和DBN类似 使用 无监督的网络“堆叠”起来的,他有分层预训练来寻找更好的参数,最后使用BP来微调网络。比dnn利用各种算法来初始化权值矩阵,从经验上来看是有帮助的。但是缺点也很明显,每层的贪婪学习权值矩阵,也带来了过长的训练时间。在大量的数据面前 dnn(relu)的效果已经不差于预训练的深度学习结构了。最终DBN也是看成是“生成模型”。
CNN 也没有pre-train过程,训练算法也是用BP。 因为加入卷积 可以更好的处理2D数据,例如图像和语音。并且目前看来 相比其它网络有更好的表现。dnn/dbn/sda 等都是处理1D的数据。