神经网络中Belief Net和标准的神经网络有啥区别

这个已经深埋地下的问题今天在下挖出来回答一番, 拂去岁月的尘埃这个问题还是值得一答, 也值得大家一赞.----------------------------------我的思考----------------------------------------1. DBN本质是RBM一层层的堆叠, 那么问题在于RBM与标准传统简单的神经网络有毛线区别呢?我们知道RBM可见层与隐藏层之间是全连接的, 而hidden和hidden之间是没有连接的, 这个结构和传统的神经网络没有丝毫差别. 而且所谓的RBM隐藏层可以用来提取特征同样适用于神经网络, 那么到底有何不同. 不同就不同在RBM和NN基于的模型不同, 咋一说大家可能觉得我装逼, 直觉告诉我, 我好想真的在装逼, 低调一点的讲, RBM是基于能量模型的, RBM和普通的神经网络虽然结构相同甚至参数表达都有点类似, 但是训练过程却完全不同.RBM经过各种概率公式推导最终都需要利用梯度下降法来求取参数, 使整个系统能量最低从而传说中的loss最低, 这个loss的定义与神经网络的简单粗暴的差的平方不同, 你无法简单的理解它, 暂且认为, 这个loss 的目的是通过能量模型来让我们获得隐藏层固定节点取某个值的概率, 我们要使得这个概率最大化, 这样我们就能从数据中获取到某种自然的分布, 这才是机器学习的核心, 也是RBM和神经网络共同的地方.2. RBM训练与普通神经网络的不同普通神经网络是通过梯度下降来更新权值使得输入与真实值不断的接近从而达到学习的目的,而RBM则要复杂的多, 它需要根据Gibbs采样, 从原始输入的真实数据中获取一种分布, 确切的讲Gibbs采样仍然计算量繁重, 对比散度才是真正采用的方法, 对比散度需要从可见层v(0)-\u0026gt;h(0),然后h(0)-\u0026gt;v(1), 再然后v(1)-\u0026gt;h(1), h(1)-\u0026gt;v(2),你可能不知道这是什么意思,反正记在心里, RBM就是这样一步步来确定两层可见曾与隐藏层每个节点的参数值得,或者说取0或者1的概率, 最终RBM将描绘一个图景, 也就是真实数据在大自然中的分布, 本来面目是什么, 这样我们通过RBM的堆叠就能不断的抽取出更加自然真实的特征, 更进一步RBM提取的这些特征甚至可以引用到其他分类或者回归算法中, 简单的说就是代替源数据.
■网友
大概DBN是用Layer-wise RBM pretrain的Neural Network吧。一般来说,activation function有很多选择,Sigmoid, Tanh, 已及吊的一比的RELU。


    推荐阅读