学习笔记--神经网络中如何克服梯度消失

学习笔记:在学习神经网络的时候,经常会出现梯度消失的情况,这篇文章主要说的就是如何克服神经网络中梯度消失。这篇文章是跟着牛客网里面的视频学习的时候做的笔记。

限制玻尔兹曼机

通过重构输入数据,来自动地发现数据中的模式。RBM是一个浅层的二层网络,第一层是可见层,第二层叫做隐含层。可见层的每个节点和隐含层的每个节点相连,RBM受限是因为同一层内的两个节点共享了一个链接。一个RBM在数学上等价于一个双向翻译器,在前向过程中,RBM获得输入,然后把它翻译成一组能够编码输入的数字。在反向的过程中,它把这组数字重新翻译成数字,来重构原先的输入。一个有效的网络能够非常准确的进行反向翻译。在这两个步骤中,权值和偏差起着非常重要的作用。一是让RBM能够解码输入特征中的关联关系,二是能让RBM在检测模式的时候发掘出哪些输入特征是重要的。在训练过程中重复地执行前向和后向两个步骤,具体限制玻尔兹曼机的过程可以总结为下面四步:

  • 在前向传播过程中,每一个输入都会和一个独立的权重和一个公共的偏差组合,之后将结果传给隐含层,隐含层的节点可以激活也可以不激活;
  • 在反向传播过程中,每一个激活值会和一个单独的权重和一个公共偏差组合,结果传到可见层,用于重构数据;
  • 在可见层,重构出来的值会和原先的输入数据进行对比,来衡量结果的质量;
  • RBM通过KL离散值来衡量步骤(3),步骤(1)到(3)会一直重复,期间权重和偏差会一直变,直到输入值和重构值尽可能接近。

RBM特性:数据不需要有标签,所以在很便于处理实际生活中的问题,如照片、视频、视频和传感数据,减少手动添加标签的代价;可以识别输入数据中重要特征,以及知道如何结合来发现模式。

深度信念网络

就像RBM一样,Geoff Hinton提出深度信念网络,作为反向传播的一种替代。从网络结构的角度来说,DBN和MLP是类似的,但从训练方式的角度考虑,它们是完全不一样的,也正是由于训练方法的差异使得DBN能够超越浅层竞争对手的重要因素。深度信念网络可以被视为一堆RBM,前面的RBM的隐含层是之后的RBM的可见层,训练一个DBN的方式如下:

  • 第一个RBM被尽可能地精确的训练成重构它的输出;
  • 第一个RBM的隐含层会被当做第二个RBM的可见层,第二个RBM使用第一个RBM的输出来训练
  • 不断重复上述过程直到网络中每一层都训练好。

DBN特点:DBN会根据完整的输入,慢慢地更新整个模型,类似于摄像机的镜头不断聚焦的过程。之前提到RBM可以检测数据的内在模式,然而我们不知道如何准确的分辨这个模式,为了完成训练,我们需要通过监督学习的方式引入标签,然后优化模型。这里我们只需要一个非常小的标签样本,然后将特征和模式关联到相对应的标签名,然后使得权重和偏差慢慢调整,从而使得网络的模式感知慢慢调整,最终会使得准确性有一个小幅的提升。

DBN的优势:只需要少量带有标签的数据;通过使用GPU,可以在合理的时间内完成整个训练过程;相比浅层网络,准确性更高。

本文作者:Qiu Qingyu
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 CN许可协议。转载请注明出处!
本文永久链接:http://qiuqingyu.cn/2017/04/18/神经网络中如何克服梯度消失/