神经网络自20世纪50年代发展起来后,因其良好的非线性能力、泛化能力而备受关注。然而,传统的神经网络仍存在一些局限,在上个世纪90年代陷入衰落,主要有以下几个原因:
1、传统的神经网络一般都是单隐层,最多两个隐层,因为一旦神经元个数太多、隐层太多,模型的参数数量迅速增长,模型训练的时间非常之久;
2、传统的神经网络,随着层数的增加,采用随机梯度下降的话一般很难找到最优解,容易陷入局部最优解。在反向传播过程中也容易出现梯度弥散或梯度饱和的情况,导致模型结果不理想;
3、随着神经网络层数的增加,深度神经网络的模型参数很多,就要求在训练时需要有很大的标签数据,因为训练数据少的时候很难找到最优解,也就是说深度神经网络不具备解决小样本问题的能力

由于以上的限制,深度的神经网络一度被认为是无法训练的,从而使神经网络的发展一度停滞不前。

2006年,“神经网络之父”Geoffrey Hinton祭出神器,一举解决了深层神经网络的训练问题,推动了深度学习的快速发展,开创了人工智能的新局面,使近几年来科技界涌现出了很多智能化产品,深深地影响了我们每个人的生活。

那这个神器是什么呢?那就是“深度信念网络”(Deep Belief Network,简称DBN)。

深度信念网络(DBN)通过采用逐层训练的方式,解决了深层次神经网络的优化问题,通过逐层训练为整个网络赋予了较好的初始权值,使得网络只要经过微调就可以达到最优解。而在逐层训练的时候起到最重要作用的是“受限玻尔兹曼机”(Restricted Boltzmann Machines,简称RBM),为什么叫“受限玻尔兹曼机”呢?因为还有一个是不受限的,那就是“玻尔兹曼机”(Boltzmann Machines,简称BM)。
下面依次介绍一下什么是“玻尔兹曼机”(BM)、“受限玻尔兹曼机”(RBM)?

一、玻尔兹曼机(Boltzmann Machines,简称BM)


玻尔兹曼机于1986年由大神Hinton提出,这种网络中神经元只有两种状态(未激活、激活),用二进制0、1表示,状态的取值根据概率统计法则决定。
由于这种概率统计法则的表达形式与著名统计力学家L.E.Boltzmann提出的玻尔兹曼分布类似,故将这种网络取名为“玻尔兹曼机”。
在物理学上,玻尔兹曼分布(也称为吉布斯分布,Gibbs Distribution)是描述理想气体在受保守外力的作用(或保守外力的作用不可忽略)时,处于热平衡态下的气体分子按能量的分布规律。
在统计学习中,如果我们将需要学习的模型看成高温物体,将学习的过程看成一个降温达到热平衡的过程(热平衡在物理学领域通常指温度在时间或空间上的稳定),最终模型的能量将会收敛为一个分布,在全局极小能量上下波动,这个过程称为“模拟退火”,其名字来自冶金学的专有名词“退火”,即将材料加热后再以一定的速度退火冷却,可以减少晶格中的缺陷,而模型能量收敛到的分布即为玻尔兹曼分布。
听起来很难理解的样子,只需要记住一个关键点:能量收敛到最小后,热平衡趋于稳定,也就是说,在能量最少的时候,网络最稳定,此时网络最优。

玻尔兹曼机(BM)是由随机神经元全连接组成的反馈神经网络,且对称连接,由可见层、隐层组成,BM可以看做是一个无向图,如下图所示:

其中,x1、x2、x3为可见层,x4、x5、x6为隐层。
整个能量函数定义为

其中,w为权重,b为偏置变量,x只有{0,1}两种状态。
根据玻尔兹曼分布,给出的一个系统在特定状态能量和系统温度下的概率分布,如下:

前面讲过,“能量收敛到最小后,热平衡趋于稳定”,因此:

二、受限玻尔兹曼机 Restricted BoltzmannMachine (RBM)


所谓“受限玻尔兹曼机”(RBM)就是对“玻尔兹曼机”(BM)进行简化,使玻尔兹曼机更容易更加简单使用,原本玻尔兹曼机的可见元和隐元之间是全连接的,而且隐元和隐元之间也是全连接的,这样就增加了计算量和计算难度

“受限玻尔兹曼机”(RBM)同样具有一个可见层,一个隐层,但 层内无连接,层与层之间全连,节点变量仍然取值为0或1,是一个二分图。也就是将“玻尔兹曼机”(BM)的层内连接去掉,对连接进行限制,就变成了“受限玻尔兹曼机”(RBM),这样就使得计算量大大减小,使用起来也就方便了很多。如上图。

“受限玻尔兹曼机”(RBM)的特点是: 在给定可见层单元状态(输入数据)时,各隐层单元的激活条件是独立的(层内无连接),同样,在给定隐层单元状态时,可见层单元的激活条件也是独立的。

跟“玻尔兹曼机”(BM)类似,根据玻尔兹曼分布,可见层(变量为v,偏置量为a)、隐层(变量为h,偏置量为b)的概率为:

RBM的本质是非监督学习的利器,可以用于降维(隐层设置少一点)、学习提取特征(隐层输出就是特征)、自编码器(AutoEncoder)以及深度信念网络(多个RBM堆叠而成)等等。

假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值变量节点(只能取0或者1值),同时假设全概率分布p(v,h)满足Boltzmann 分布,我们称这个模型是Restricted BoltzmannMachine (RBM)。

三、深度置信网络(Deep Belief Network)

又称深度信念网络

2006年,Hinton大神又又又出手了,提出了“深度信念网络”(DBN),并给出了该模型一个高效的学习算法,这也成了深度学习算法的主要框架,在该算法中,一个DBN模型由若干个RBM堆叠而成,训练过程由低到高逐层进行训练,如下图所示:

回想一下RBM,由可见层、隐层组成,显元用于接受输入,隐元用于提取特征,因此隐元也有个别名,叫特征检测器。也就是说,通过RBM训练之后,可以得到输入数据的特征。

正是由于RBM的以上特点,使得DBN逐层进行训练变得有效,通过隐层提取特征使后面层次的训练数据更加有代表性,通过可生成新数据能解决样本量不足的问题。逐层的训练过程如下:

(1)最底部RBM以原始输入数据进行训练
(2)将底部RBM抽取的特征作为顶部RBM的输入继续训练
(3)重复这个过程训练以尽可能多的RBM层

由于RBM可通过CD快速训练,于是这个框架绕过直接从整体上对DBN高度复杂的训练,而是将DBN的训练简化为对多个RBM的训练,从而简化问题。而且通过这种方式训练后,可以再通过传统的全局学习算法(如BP算法)对网络进行微调,从而使模型收敛到局部最优点,通过这种方式可高效训练出一个深层网络出来,如下图所示:

Hinton提出,这种预训练过程是一种无监督的逐层预训练的通用技术,也就是说,不是只有RBM可以堆叠成一个深度网络,其它类型的网络也可以使用相同的方法来生成网络。

参考

链接: 大话深度信念网络(DBN).

【深度学习】波尔次曼机,受限波尔兹曼机,DBN详解相关推荐

  1. 深度学习(八)RBM受限波尔兹曼机学习-未完待续

    RBM受限波尔兹曼机学习 原文地址: 作者:hjimce [python] view plain copy #coding=utf-8 import timeit try: import PIL.Im ...

  2. Keras深度学习实战(3)——神经网络性能优化技术详解

    Keras深度学习实战(3)--神经网络性能优化技术详解 0. 前言 1. 缩放输入数据集 1.1 数据集缩放的合理性解释 1.2 使用缩放后的数据集训练模型 2. 输入值分布对模型性能的影响 3. ...

  3. 【深度学习/机器学习】为什么要归一化?归一化方法详解

    [深度学习/机器学习]为什么要归一化?归一化方法详解 文章目录 1. 介绍 1.1 什么是归一化 1.2 归一化的好处 2. 归一化方法 2.1 最大最小标准化(Min-Max Normalizati ...

  4. 深度学习之目标检测(五)-- RetinaNet网络结构详解

    深度学习之目标检测(五)-- RetinaNet网络结构详解 深度学习之目标检测(五)RetinaNet网络结构详解 1. RetinaNet 1.1 backbone 部分 1.2 预测器部分 1. ...

  5. 深度学习两大基础Tricks:Dropout和BN详解

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 01. Dropout dropout作为目前神经网络训练的一项必 ...

  6. dropout层_深度学习两大基础Tricks:Dropout和BN详解

    深度学习 Author:louwill Machine Learning Lab Dropout dropout作为目前神经网络训练的一项必备技术,自从被Hinton提出以来,几乎是进行深度学习训练时 ...

  7. 【深度学习】深度学习两大基础Tricks:Dropout和BN详解

    深度学习 Author:louwill Machine Learning Lab Dropout dropout作为目前神经网络训练的一项必备技术,自从被Hinton提出以来,几乎是进行深度学习训练时 ...

  8. 深度学习:图像的卷积原理和本质(详解)。

    首先,介绍图像卷积的计算过程. 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.5×55×5等,数字图像是相对较大尺寸的2维(多维)矩阵(张量),图像卷积运算与相关运算的关系如 ...

  9. 妈耶,讲得好详细,十分钟彻底看懂深度学习常用优化器SGD、RMSProp、Adam详解分析

    深度学习常用优化器学习总结 常用优化器 SGD RMS Prop Adam 常用优化器 SGD 基本思想:通过当前梯度和历史梯度共同调节梯度的方向和大小 我们首先根据pytorch官方文档上的这个流程 ...

最新文章

  1. Xcode升级后插件失效的原理与修复办法
  2. 为啥八位的计算机可以用补码表示-128
  3. Slack设置根据关键字自动提醒的小技巧
  4. numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用
  5. 1 数列分块入门_线性代数入门——利用分块矩阵简化矩阵乘法运算
  6. 7 centos 时钟跟物理机同步_centos7上使用chrony自动同步时间
  7. 支持M1芯片mac 达芬奇17中文版(详细安装教程) DaVinci Resolve Studio 17.3.1b5
  8. 面试造飞机,工作拧螺丝。
  9. 面试题编程题14-python 函数形参出现1个*号2个*号的含义
  10. AVR-GCC与AVR单片机C语言开发,[推荐]AVR 单片机与GCC 编程 教程
  11. Android 测试
  12. 树莓派获取root权限
  13. 问题 C: 逃离机场
  14. canvas 画空心圆 实心圆
  15. Apple Pay 究竟是什么
  16. 更新华为CCE域名证书方法
  17. springClude简单配置
  18. iOS home键直接退出
  19. python输入一个三位整数、求逆序数_输入一个三位正整数,要求其输出对应的逆序数...
  20. 同步和异步的区别是什么?

热门文章

  1. vmware15下载
  2. 虚幻引擎3 —— 内容制作工具以及技术支持
  3. 二次元的正确打开方式
  4. Html,js网上购物订单的制作
  5. MQ-2型烟雾传感器
  6. 『赠书活动 | 第八期』《ChatGpt全能应用一本通》
  7. 如何分析网站服务器日志,小白必看,如何通过查看网站日志分析数据?
  8. 多计算机网络企业网 开题报告,(中小型企业网络设计开题报告.doc
  9. 数据结构的那些“事”
  10. 国密标准官方查看地址