• Geek_59
    2020-01-13
    极客时间
    21天打卡行动 26/21
    <<人工智能基础课28>> 深度信念网络
    回答老师问题:
    自编码器中,稀疏性既可以降低运算量,也能提升训练效果,发挥着重要的作用。那么同样的原理能否应用在受限玻尔兹曼机和深度信念网络之中呢?
    在图像识别和人脸识别的应用中有关于稀疏性深度信念网络的报告论文;
    受限于基础,无法解读,但粘贴了;
    [来源:https://www.ixueshu.com/document/994906362d7885de27f1353aa9e7801f318947a18e7f9386.html
    http://cdmd.cnki.com.cn/Article/CDMD-10151-1017196524.htm]
    今天所学:
    1,2006 年,深度学习的祖师爷乔弗里·辛顿提出了深度信念网络模型,
    2,深度信念网络是一种概率生成模型,能够建立输入数据和输出类别的联合概率分布。
    3,从结构上看,复杂的深度信念网络可以看成由若干简单的学习单元构成的整体,而构成它的基本单元就是受限玻尔兹曼机;
    4,受限玻尔兹曼机的模型非常简单,就是一个两层的神经网络,包括一个可见层和一个隐藏层。
    5,由辛顿提出的对比散度(contrastive divergence)方法,它既能让隐藏层准确地提取可见层的特征,也能根据隐藏层的特征较好地还原出可见层。当隐藏层和可见层的神经元都使用 S 型函数作为传递函数时,神经元的输出就可以视为单个节点的激活概率。
    6,对比散度的训练过程本质上是求出一个最符合训练数据集统计特性的概率分布,也就是使训练数据集出现的概率最大的分布参数;
    7,将几个受限玻尔兹曼机堆叠在一起,就可以得到深度信念网络(deep belief network);
    8,深度信念网络的无监督预训练也是逐层实现的。
    9,栈式自编码器使用 softmax 分类器实现有监督微调,深度信念网络采用的方法则是在最顶层的受限玻尔兹曼机上又添加了额外的反向传播层。反向传播层以受限玻尔兹曼机的输出作为它的输入,执行有监督的训练,再将训练误差自顶向下地传播到每一个受限玻尔兹曼机当中,以实现对整个网络的微调。这也是为什么深度信念网络要在最顶上的两层进行无方向连接的原因。在实际的使用中,用来做微调的网络无需被局限在反向传播上,大部分用于分类的判别模型都能够胜任这个任务。
    10,其实相比于深度信念网络这个具体的模型,辛顿的贡献更大程度上在于对深度模型训练方法的改进。不夸张地说,正是这套训练策略引领了近十年深度学习的复兴。这种复兴不仅体现在训练效率的提升上,更体现在研究者对训练机制的关注上;
    11,传统的反向传播方法应用于深度结构在原则上是可行的,可实际操作中却无法解决梯度弥散(gradient vanishing)的问题;所谓梯度弥散指的是当误差反向传播时,传播的距离越远,梯度值就变得越小,参数更新的也就越慢;
    12,但随着研究的不断深入,事实表明无监督预训练并没有人们想象地那么神奇。良好的初始化策略完全可以比逐层预训练更加高效,而梯度弥散的根源并不是反向传播算法的问题,而是在于非线性传递函数非理想的性质。虽然目前深度信念网络的应用远不如卷积神经网络等其他模型广泛,但它却是一次吃螃蟹的成功尝试。如果没有这次尝试,也许我们依然在单个隐藏层的神经网络中兜兜转转,坐井观天;
    重点:
    1,深度信念网络是一种生成模型,能够建立输入和输出的联合概率分布;
    2,受限玻尔兹曼机是构成深度信念网络的基本单元,是由可见层和隐藏层构成的神经网络;
    3,受限玻尔兹曼机的训练方法是对比散度法,通过可见层和隐藏层的多轮交互实现;
    4,深度神经网络的通用训练方式是无监督逐层预训练和有监督微调的结合
    展开
    
    
  • 林彦
    2018-02-11
    Hinton的”A Practical Guide to Training Restricted Boltzmann Machines”里面提到了”Encouraging sparse hidden activities”。sparsity target p 的值在0.01与0.1的9次方之间。另外有一些文章提到了用regularization的方法得到稀疏的隐藏单元来得到更好的效果。
    Yoshua的”Classification using Discriminative Restricted Boltzmann Machines”里的Sparse HDRBM的Error rate也不错。

    深度信念网络是由RBM组成的。有一些DBN的应用里面提及了过度完备的自编码器。我的理解是可以融合来提升一些应用场景的解决效果的

    作者回复: 其实sparsity更重要的是它背后的思路,它代表了一个化繁为简的过程,用有限的性能损失来换取大幅度的效率提升。

    
    
我们在线,来聊聊吧