zoukankan      html  css  js  c++  java
  • 深度学习(二)--深度信念网络(DBN)

    深度学习(二)--深度信念网络(Deep Belief Network,DBN)

    一、受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)

    在介绍深度信念网络之前需要先了解一下受限玻尔兹曼机:受限玻尔兹曼机(英语:restricted Boltzmann machine,RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基(PaulSmolensky)于1986年命名为簧风琴(Harmonium),但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻尔兹曼机才变得知名。参考:https://baike.so.com/doc/8386787-8704719.html

    之所以设计玻尔兹曼机,就是因为在最初的状态下,不知道数据的真实分布状态,为了在这种状态下能够在无监督情况下,训练学习出数据的的特征,所以采用受限玻尔兹曼机进行处理。

    受限波尔兹曼机是由两层网络组成(参考http://www.cnblogs.com/pinard/p/6530523.html

    它是一个个两层的神经网络,如下图所示:

      上面一层神经元组成隐藏层(hidden layer), 用h向量隐藏层神经元的值。下面一层的神经元组成可见层(visible layer),用v向量表示可见层神经元的值。隐藏层和可见层之间是全连接的,这点和DNN类似, 隐藏层神经元之间是独立的,可见层神经元之间也是独立的。连接权重可以用矩阵W表示。和DNN的区别是,RBM不区分前向和反向,可见层的状态可以作用于隐藏层,而隐藏层的状态也可以作用于可见层。隐藏层的偏倚系数是向量b,而可见层的偏倚系数是向量a。

      常用的RBM一般是二值的,即不管是隐藏层还是可见层,它们的神经元的取值只为0或者1。本文只讨论二值RBM。

      总结下RBM模型结构的结构:主要是权重矩阵W, 偏倚系数向量a和b,隐藏层神经元状态向量h和可见层神经元状态向量v。

    二、深度信念网络(DBN)

    参考https://blog.csdn.net/a819825294/article/details/53608141

    深度信念网络主要是由多层受限玻尔兹曼机组成,具体结构如图1所示

     
    图1

    深度信念网络的主要重点在于如何训练学习,如图

     

     首先对单一的RBM进行训练:将初始数据x输入RBM中,通过h1=v1*w11+v2*w21+v3*w31+...+vn*wn1+b1计算出h1的值,依次对hm进行计算,之后通过反向求出vn'的值,通过对vn‘’和输入值x对应的vn进行比对,从而调整w进行学习,最终使得vn和vn'相差最小。具体的公式表达参考https://www.cnblogs.com/kemaswill/p/3203605.html

    之后将学习到的h作为下一层RBM的输入,学习下一层RBM,与此同时也要对第一层的RBM再次进行修正。以此类推直到所有的RBM都实现学习。

  • 相关阅读:
    mysql 取年、月、日、时间
    第4步:创建RAC共享磁盘组
    第3步:添加用户与安装路径
    第2步:配置系统安装环境
    第1步:安装虚拟机+配置网络
    nodejs rar/zip加密压缩、解压缩
    使用shell脚本守护node进程
    抒发一下这些天用django做web项目的一些体会
    编写gulpfile.js文件:压缩合并css、js
    在NodeJS中使用流程控制工具Async
  • 原文地址:https://www.cnblogs.com/lorenshuai724005/p/9550727.html
Copyright © 2011-2022 走看看