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

    文章

    4765

    浏览量

    100605
  • 深度学习
    +关注

    关注

    73

    文章

    5493

    浏览量

    121032

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

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

收藏 人收藏

    评论

    相关推荐

    多层感知神经网络的区别

    (Feedforward Neural Networks)的一种基础且广泛使用的模型。以下将从多个方面详细阐述多层感知神经网络之间的区别与联系。
    的头像 发表于 07-11 17:23 1686次阅读

    rnn是什么神经网络模型

    RNN(Recurrent Neural Network,循环神经网络)是一种具有循环结构的神经网络模型,它能够处理序列数据,并对序列中的元素进行建模。RNN在自然语言处理、语音识别、
    的头像 发表于 07-05 09:50 542次阅读

    人工神经网络模型包含哪些层次

    人工神经网络(Artificial Neural Network,ANN)是一种模拟人脑神经网络的计算模型,具有自适应、自学习、泛化能力强等特点。本文将详细介绍人工
    的头像 发表于 07-05 09:17 514次阅读

    人工神经网络模型训练的基本原理

    图像识别、语音识别、自然语言处理等。本文将介绍人工神经网络模型训练的基本原理。 1. 神经网络的基本概念 1.1 神经神经元是
    的头像 发表于 07-05 09:16 594次阅读

    人工神经网络模型的分类有哪些

    人工神经网络(Artificial Neural Networks, ANNs)是一种模拟人脑神经元网络的计算模型,它在许多领域,如图像识别、语音识别、自然语言处理、预测分析等有着广泛
    的头像 发表于 07-05 09:13 1004次阅读

    人工神经网络模型一种什么模型

    人工神经网络(Artificial Neural Networks,简称ANNs)是一种受生物神经网络启发而产生的数学模型,用于模拟人脑处理信息的方式。它由大量的节点(或称为
    的头像 发表于 07-04 16:57 823次阅读

    卷积神经网络和bp神经网络的区别

    不同的神经网络模型,它们在结构、原理、应用等方面都存在定的差异。本文将从多个方面对这两神经网络进行详细的比较和分析。 引言
    的头像 发表于 07-02 14:24 3169次阅读

    数学建模神经网络模型的优缺点有哪些

    数学建模神经网络模型一种基于人工神经网络的数学建模方法,它通过模拟人脑神经元的连接和信息传递机制,对复杂系统进行建模和分析。
    的头像 发表于 07-02 11:36 819次阅读

    神经网络模型的原理、类型及应用领域

    数学建模神经网络模型一种基于人工神经网络的数学建模方法,它通过模拟人脑神经元的工作机制,实现对复杂问题的建模和求解。
    的头像 发表于 07-02 11:31 1007次阅读

    神经网络在数学建模中的应用

    数学建模是一种利用数学方法和工具来描述和分析现实世界问题的过程。神经网络一种模拟人脑神经元结构和功能的计算模型,可以用于解决各种复杂问题。
    的头像 发表于 07-02 11:29 860次阅读

    基于神经网络算法的模型构建方法

    神经网络一种强大的机器学习算法,广泛应用于各种领域,如图像识别、自然语言处理、语音识别等。本文详细介绍了基于神经网络算法的模型构建方法,包括数据预处理、
    的头像 发表于 07-02 11:21 470次阅读

    人工神经网络模型及其应用有哪些

    人工神经网络(Artificial Neural Networks,ANNs)是一种受生物神经网络启发的计算模型,它通过模拟人脑神经元的连接
    的头像 发表于 07-02 10:04 935次阅读

    神经网络架构有哪些

    神经网络架构是机器学习领域中的核心组成部分,它们模仿了生物神经网络的运作方式,通过复杂的网络结构实现信息的处理、存储和传递。随着深度学习技术的不断发展,各种
    的头像 发表于 07-01 14:16 630次阅读

    GRU是什么?GRU模型如何让你的神经网络更聪明 掌握时间 掌握未来

    模型是指递归神经网络(Recurrent Neural Network),是一种常用于处理序列数据的神经网络架构。与传统的前馈
    发表于 06-13 11:42 1535次阅读
    GRU是什么?GRU<b class='flag-5'>模型</b>如何让你的<b class='flag-5'>神经网络</b>更聪明 掌握时间 掌握未来

    助听器降噪神经网络模型

    抑制任务是语音增强领域的个重要学科, 随着深度神经网络的兴起,提出了几种基于深度模型的音频处理新方法[1,2,3,4]。然而,这些通常是为离线处理而开发的,不需要考虑实时性。当使用神经网络
    发表于 05-11 17:15