0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于能量模型的神经网络架构受限玻尔兹曼机

nlfO_thejiangme 来源:未知 作者:李倩 2018-07-26 10:09 次阅读

受限玻尔兹曼机是一种基于能量模型的神经网络架构,虽然不像通常的卷积神经网络一样被人熟知,但近年来在推荐系统中受到了越来越多的关注,在协同过滤推荐等领域表现出越来越重要的作用。在这篇文章中,我们将从基础理论和基本结构方面梳理受限玻尔兹曼机的原理,以便对受限玻尔兹曼机(RBM: Restricted Boltzmann Machine)有更深的了解。

最典型的受限玻尔兹曼机如下图所示,在两层简单的结构中分布式的输入的可见层(visible layer)和隐含层结构。

和通常的前馈神经网络不同的是,受限玻尔兹曼机可以通过可见层的状态预测对应隐含层的状态,相反亦可以由隐含层预测可见层对应单元的状态。同时,它与玻尔兹曼机不同在于同一层内的单元之间没有相互连接。

能量模型

为了更好地理解RBM是如何工作的,我们需要引入基于能量的模型来进行解释。在重力场中,不同高度的物体具有不同的重力势能,我们可以利用能量来描述物体所具有潜在做功的能力。基于这样的启发,科学家们将这一观点应用到深度学习中,来度量模型质量。

深度学习模型的目的之一便是对变量之间的依赖关系进行编码,将变量组合与一个标量能量联系起来,而这一能量就作为模型能力的度量。通常情况下,较小的能量意味着更加合理的变量组合。所以基于能量的模型在训练过程中会不断最小化事先定义好的能量函数从而实现变量间的最优组合,RBM的能量函数定义为如下的形式:

可以看到能量函数与可见层、隐含层的状态以及对应的权重和偏置都有关系。RBM的训练过程就是最小化这一能量函数的过程。

概率模型

RBM同时也是一种典型的概率模型,模型中的状态通过概率来表示。在每一个时间点上受限玻尔兹曼机的状态由可见层和隐含层单元决定,其可被观测到的状态可由以下联合概率分布来表示:

其中p为可见层和隐藏层的联合概率分布函数,Z为配分函数,用于表示系统所有可能的状态。这一联合概率分布在物理上就是著名的玻尔兹曼分布——在给定能量E上粒子在某个状态上被观测到的概率。但由于Z中h和v的组合情况十分庞大,使得这一联合概率分布难以计算,但幸运的是对于对于给定隐含层或者可见层状态下的概率却是更加容易计算的:

需要注意的是在RBM中每一个单元都是0/1的二值状态,实际使用中通常会计算出每个单元处于1,也就是被激活的概率。在给定可见层v的条件下,隐含层单元j被激活的概率可以写成下图的表示,同样给定隐含层的状态下,可见层单元i的概率也可以被写成下面的表示形式。

上式通过前述的条件概率推导得到,求得的值为对应单元取1激活的概率。其中σ是Sigmoid函数。

训练

RBM的训练与通常神经网络的训练有很大的区别,研究人员们使用了吉布斯采样(GibbsSampling)和对比散度(Contrastive Divergence,CD)两个数学手段来对训练过程进行处理。简单来说吉布斯采样利用了上述的条件概率公式,通过输入v可以计算得到隐含层的条件概率h,随后根据这一h反过来预测输入层的值v,经过k次迭代后的输出vk分布将会收敛于v0的分布,从而得到了可见层的联合概率。

为了更新权重,还需要计算出每次训练过后误差,这时候就需要使用对比散度来进行计算:

基于RBM的协同过滤系统

在推荐系统中RBM常常被用于识别数据的隐含因素。例如在电影推荐系统中,人们常常将不同的电影按照不同的潜在变量进行分析,例如速度与激情会被归并到动作片里,而玩具总动员和瓦力则会更多的包含皮克斯的因素。模型通过对用户打分数据进行学习,在多个循环后将得出用户的个性化偏好以及用户群体的整体偏好。

在电影推荐的例子中,受限玻尔兹曼机面对的数据是二进制的0/1而不是连续的打分数据。这意味着用于对于电影的评价要么是喜欢(1)要么是不喜欢(0)。这些评价值作为输入层/可见层被送入模型。在给定的数据下,RBM会发掘数据中能解释用户偏好的隐含因素,并在隐含层中用不同的单元表示出来。

图中是一个用户对于几部电影评分的简单例子,其中霍比特人由于用户没有评分,数据中使用-1来标注,由于电影的数量庞大,某个用户只对小部分电影进行了评价,需要告诉模型哪些是没有用户评价的输入从而可以忽略这些因素的影响。

上图就对应了给定可见层状态,求出隐含层单元激活概率的情况。图中可以看出只有Fantasy类型是被激活的,在给定用户评分的情况下,RBM正确地识别出这一用户喜欢的类型更多的偏向于科幻电影。

在另一种情况下,在知道了用户的偏好后(hidden),如果要为用户推荐电影(visible)就可以利用已知隐含层求得可见层单元被激活的条件概率,从而为用户推荐偏好类型的电影。

上图中可以看到,RBM计算出被激活的电影除了输入数据中指环王和哈利波特,还为用户推荐了原来没有看过的霍比特人。模型认为喜欢科幻的用户很有可能也喜欢霍比特人。

总结来看,在推荐系统中使用RBM主要分为以下几个步骤:

1.在所有用户数据上训练模型;

2.使用特定用户的数据来进行预测;

3.得到隐含层的激活情况;

4.基于隐含层的激活来计算输出层的激活情况;

5.可见层的新激活单元表示了用户对未看过的电影/节目/音乐的评价,并选取其中大概率的激活单元向用户推荐。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4578

    浏览量

    98905
  • 深度学习
    +关注

    关注

    73

    文章

    5240

    浏览量

    119959

原文标题:简单明了地告诉你不明觉厉的「受限玻尔兹曼机」到底是个啥?

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    卷积神经网络的优点

    卷积神经网络的优点  卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的神经网络模型,在图
    的头像 发表于 12-07 15:37 2999次阅读

    《 AI加速器架构设计与实现》+第章卷积神经网络观后感

    连接块是一种模块,通常用于深度卷积神经网络中,特别是在残差网络(Residual Network,ResNet)中广泛使用,也是我比较熟悉的。组卷积块是一种卷积
    发表于 09-11 20:34

    构建神经网络模型的常用方法 神经网络模型的常用算法介绍

    神经网络模型一种通过模拟生物神经元间相互作用的方式实现信息处理和学习的计算机模型。它能够对输入数据进行分类、回归、预测和聚类等任务,已经广
    发表于 08-28 18:25 628次阅读

    人工神经网络和bp神经网络的区别

    人工神经网络和bp神经网络的区别  人工神经网络(Artificial Neural Network, ANN)是一种模仿人脑神经元网络结构
    的头像 发表于 08-22 16:45 3467次阅读

    卷积神经网络模型的优缺点

    卷积神经网络模型的优缺点  卷积神经网络(Convolutional Neural Network,CNN)是一种从图像、视频、声音和一系列多维信号中进行学习的深度学习
    的头像 发表于 08-21 17:15 2420次阅读

    卷积神经网络一共有几层 卷积神经网络模型三层

    卷积神经网络一共有几层 卷积神经网络模型三层  卷积神经网络 (Convolutional Neural Networks,CNNs) 是一种
    的头像 发表于 08-21 17:11 4613次阅读

    卷积神经网络模型搭建

    卷积神经网络模型搭建 卷积神经网络模型一种深度学习算法。它已经成为了计算机视觉和自然语言处理等各种领域的主流算法,具有很大的应用前景。本篇
    的头像 发表于 08-21 17:11 641次阅读

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型  卷积
    的头像 发表于 08-21 17:11 817次阅读

    常见的卷积神经网络模型 典型的卷积神经网络模型

    常见的卷积神经网络模型 典型的卷积神经网络模型 卷积神经网络(Convolutional Neural Network, CNN)是深度学习
    的头像 发表于 08-21 17:11 1939次阅读

    卷积神经网络算法流程 卷积神经网络模型工作流程

    卷积神经网络算法流程 卷积神经网络模型工作流程  卷积神经网络(Convolutional Neural Network,CNN)是一种广泛
    的头像 发表于 08-21 16:50 1622次阅读

    卷积神经网络的介绍 什么是卷积神经网络算法

    的深度学习算法。CNN模型最早被提出是为了处理图像,其模型结构中包含卷积层、池化层和全连接层等关键技术,经过多个卷积层和池化层的处理,CNN可以提取出图像中的特征信息,从而对图像进行分类。 一、卷积神经网络算法 卷积
    的头像 发表于 08-21 16:49 1445次阅读

    卷积神经网络模型原理 卷积神经网络模型结构

    卷积神经网络模型原理 卷积神经网络模型结构  卷积神经网络一种深度学习
    的头像 发表于 08-21 16:41 677次阅读

    卷积神经网络模型有哪些?卷积神经网络包括哪几层内容?

    、视频等信号数据的处理和分析。卷积神经网络就是一种处理具有类似网格结构的数据的神经网络,其中每个单元只处理与之直接相连的神经元的信息。本文将对卷积
    的头像 发表于 08-21 16:41 1525次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是
    的头像 发表于 08-17 16:30 937次阅读

    神经网络模型用于解决什么样的问题 神经网络模型有哪些

    神经网络模型一种机器学习模型,可以用于解决各种问题,尤其是在自然语言处理领域中,应用十分广泛。具体来说,神经网络
    的头像 发表于 08-03 16:37 4410次阅读