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

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

3天内不再提示

深度学习开发者Artem Oppermann介绍了受限玻尔兹曼机的原理

zhKF_jqr_AI 来源:未知 作者:李倩 2018-06-30 09:15 次阅读

编者按:物理学硕士、深度学习开发者Artem Oppermann介绍了受限玻尔兹曼机的原理。近几年来,随着受限玻尔兹曼机在协同过滤上的大放异彩,这一基于能量的神经网络很受欢迎。

0. 导言

受限玻尔兹曼机(RBM)是一种属于能量模型的神经网络。本文的读者对受限玻尔兹曼机可能不像前馈神经网络或卷积神经网络那样熟悉。然而,随着RBM在Netflix Prize(知名的协同过滤算法挑战)上大放异彩(当前最先进的表现,击败了大多数竞争者),最近几年这类神经网络很受欢迎。

1. 受限玻尔兹曼机

1.1 架构

在我看来,RBM是所有神经网络中最简单的架构之一。如下图所示,一个受限玻尔兹曼机包含一个输入层(v1, ..., v6),一个隐藏层(h1, h2),以及相应的偏置向量a、b. 显然,RBM没有输出层。不过之后我们会看到,RBM不需要输出层,因为RBM进行预测的方式和通常的前馈神经网络不同。

1.2 能量模型

乍看起来,能量这一术语和深度学习没什么关系。相反,能量是一个物理概念,例如,重力势能描述了具有质量的物体因重力而具有的相对其他质量体的潜在能量。不过,有些深度学习架构使用能量来衡量模型的质量。

深度学习模型的目的之一是编码变量间的依赖关系。给变量的每种配置分配一个标量作为能量,可以描述这一依赖关系。能量较高意味着变量配置的兼容性不好。能量模型总是尝试最小化一个预先定义的能量函数。

RBM的能量函数定义为:

由定义可知,能量函数的值取决于变量/输入状态、隐藏状态、权重和偏置的配置。RBM的训练包括为给定的输入值寻找使能量达到最小值的参数

1.3 概率模型

受限玻尔兹曼机是一个概率模型。这一模型并不分配离散值,而是分配概率。在每一时刻RBM位于一个特定的状态。该状态指输入层v和隐藏层h的神经元值。观察到v和h的特定状态的概率由以下联合分布给出:

这里Z被称为配分函数(partition function),该函数累加所有输入向量和隐藏向量的可能组合。

这是受限玻尔兹曼机和物理学第二个相遇的地方。在物理学中,这一联合分布称为玻尔兹曼分布,它给出一个微粒能够在能量E的状态下被观测到的概率。就像在物理中一样,我们分配一个观测到状态v和h的概率,这一概率取决于整个模型的能量。不幸的是,由于配分函数Z中v和h所有可能的组合数目十分巨大,计算这一联合分布十分困难。而给定状态v计算状态h的条件概率,以及给定状态h计算状态v的条件概率则要容易得多:

RBM中的每个神经元只可能是二元状态0或1中的一种。我们最关心的因子是隐藏层或输入层地神经元位于状态1(激活)的概率。给定一个输入向量v,单个隐藏神经元j激活的概率为:

其中,σ为sigmoid函数。以上等式可由对之前的条件概率等式应用贝叶斯定理推导得出,这里不详细介绍其中的推导过程。

类似地,单个输入神经元i为1的概率为:

2. 基于受限玻尔兹曼机实现协同过滤

2.1 识别数据中的潜在因子

让我们假定,我们找了一些人,让他们给一批电影打分(一星到五星)。在经典因子分析背景下,每部电影可以通过一组潜在因子来解释。例如,《哈利波特》和《速度与激情》可能分别与奇幻、动作这两个潜在因子有密切的关系。另一方面,喜欢《玩具总动员》和《机器人总动员》的用户可能和皮克斯这个潜在因子密切相关。RBM可以用来分析和找出这些潜在因子。经过一些epoch的训练,神经网络多次见到数据集中的每个用户的所有评分。此时模型应该已经基于用户的偏好和所有用户的协同口味学习到了隐藏的潜在因子。

隐藏因子分析以二元的方式进行。用户并不向模型提交具体的评分(例如,一到五星),而是简单地告知喜欢(评分为1)还是不喜欢(评分为0)某部特定的电影。二元评分值表示输入层的输入。给定这些输入,RBM接着尝试找出数据中可以解释电影选择的潜在因子。每个隐藏神经元表示一个潜在因子。给定一个包含数以千计的电影的大规模数据集,我们相当确定用户仅仅观看和评价了其中一小部分电影。另外,有必要给尚未评分的电影分配一个值,例如,-1.0,这样在训练阶段网络可以识别未评分的电影,并忽略相应的权重。

让我们看一个例子。一个用户喜欢《指环王》和《哈利波特》,但不喜欢《黑客帝国》、《搏击俱乐部》、《泰坦尼克》。用户还没有看过《霍比特人》,所以相应的评分为-1. 给定这些输入,玻尔兹曼机可能识别出三个对应电影类型的隐藏因子戏剧、奇幻、科幻。

给定电影,RBM为每个隐藏神经元分配一个概率p(h|v)。使用概率p从伯努利分布中取样得到最终的神经元的二元值。

在这个例子中,只有表示类型奇幻的隐藏神经元被激活。给定这些电影评分,受限玻尔兹曼机能够正确识别用户最喜欢奇幻类型的电影。

2.2 将潜在因子用于预测

训练之后,我们的目标是预测没看过的电影的二元评分。给定特定用户的训练数据,网络能够基于用户的偏好识别潜在因子。由于潜在因子由隐藏神经元表示,我们可以使用p(v|h)从伯努利分布取样,以找出哪个输入神经元处于激活状态。

上图中,网络成功地识别出奇幻为用户偏爱的电影类型,并预测用户会喜欢《霍比特人》。

总结一下,从训练到预测的全过程如下:

基于所有用户的数据训练网络。

在推理时刻,获取某个特定用户的训练数据。

基于这一数据得出激活的隐藏神经元。

基于隐藏神经元的值得出激活的输入神经元。

输入神经元的新值显示了用户将对没看过的电影作出的评价。

3. 训练

受限玻尔兹曼机的训练过程和基于梯度下降的常规神经网络的训练过程不同。本文不会详细介绍具体的训练过程(感兴趣的读者可以阅读受限玻尔兹曼机的原始论文),相反,我们将简单地概览一下其中的两个主要的训练步骤。

3.1 吉布斯采样

训练的第一个关键步骤称为吉布斯采样(Gibbs Sampling)。给定输入向量v,我们使用前面提到的p(h|v)公式预测隐藏值h。得到了隐藏值之后,我们又使用前面提到的p(v|h)公式预测新输入值v。这一过程辗转重复k次。经过k个迭代后,我们得到了输入向量vk,这是基于原始输入值v0的重建值。

3.2 对比发散

在对比发散(Contrastive Divergence)这一步骤中,模型更新权重矩阵。使用向量v0和vk计算隐藏值h0和hk的激活概率。这些概率的外积和输入向量v0、vk的差别为更新矩阵(update matrix):

基于更新矩阵,使用梯度上升(gradient ascent)方法更新权重:

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

    关注

    42

    文章

    4570

    浏览量

    98709
  • 深度学习
    +关注

    关注

    73

    文章

    5235

    浏览量

    119893

原文标题:深度学习邂逅物理:受限玻尔兹曼机原理解析

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    和通常的前馈神经网络不同的是,受限玻尔兹曼机可以通过可见层的状态预测对应隐含层的状态,相反亦可以由隐含层预测可见层对应单元的状态。同时,它与玻尔兹曼机不同在于同一层内的单元之间没有相互连接。
    的头像 发表于 07-26 10:09 4476次阅读

    [18.4.1]--4.玻尔兹曼

    机器学习
    jf_60701476
    发布于 :2022年12月05日 15:05:23

    怎样输入玻尔兹曼常数

    Labview2013中怎样输入玻尔兹曼常数?k=1.38E(-23)
    发表于 08-30 23:18

    用实验证明,二极管PN结中的玻尔兹曼常数

    Maxwell-Boltzmann 分布玻尔兹曼常数(Boltzmann constant),通常使用表示,是指有关于温度及能量的一个物理常数。玻尔兹曼是一位奥地利物理学家,在统计力学的理论有重大贡献,玻尔兹曼常数具有相当
    发表于 07-13 07:50

    HarmonyOS开发者

    HarmonyOS开发者,HarmonyOS设备开发学习路线HarmonyOS 2.0如约而至,内存在128KB~128MB的终端设备厂商有福,准备跃跃欲试,小编特意整理了Harmo
    发表于 07-22 09:53

    绝对干货!HarmonyOS开发者日资料全公开,鸿蒙开发者都在看

    731HarmonyOS开发者日大会PPT资料全在这,想要了解的小伙伴可以自行下载啦~下载资料的小伙伴还可以在评论区回复领取5个积分哦1、HarmonyOS 职业认证解读:该主题是开发者非常关注
    发表于 08-04 14:36

    开发者如何快速加入鸿蒙生态?(学习方法+职业定位)

    HarmonyOS/OpenHarmony开发者们在学习、成长中对自己的准确的定位,包括个人开发者、企业开发者、各个不同职能的开发者等对应的
    发表于 11-10 16:04

    HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)

    :HarmonyOS学生公开课 面向校园开发者介绍HarmonyOS技术理念及生态前景,分享学生开发者学习HarmonyOS
    发表于 11-25 18:11

    喜报|HarmonyOS开发者社区连获业内奖项,持续深耕开发者生态

    临近年末,各大平台陆续揭晓年度榜单,表彰具备强大影响力与做出突出贡献的优秀项目与团队,而HarmonyOS开发者社区作为技术分享,学习和展示的平台,输出高质量技术文章百余篇,连续获得业内各大
    发表于 01-19 14:32

    斯特藩-玻尔兹曼定律

    斯特藩-玻尔兹曼定律(Stefan-Boltzmann law),又称斯特藩定律,是热力学中的一个著名定律。
    发表于 10-12 16:51 0次下载

    稀疏受限玻尔兹曼机研究综述

    人类的视觉系统采用稀疏编码方式来描述被感知的图像特征,而稀疏表示被认为是图像特征最合理而且有效的表示形式。由于受限玻尔兹曼机具有强大的无监督学习能力,所以它被用于深度
    发表于 11-20 09:52 7次下载

    关于机器学习的15大框架分析

    Apache Singa是一个用于在大型数据集上训练深度学习的通用分布式深度学习平台,它是基于分层抽象的简单开发模型设计的。它还支持各种当前
    发表于 12-06 11:05 1148次阅读

    融入受限玻尔兹曼机的偏最小二乘优化方法

    偏最小二乘法内部采用主成分分析,不能充分表达数据的非线性特征,对非线性数据的预测精度较低。为此,提出一种融合受限玻尔兹曼机与偏最小二乘的分析预测方法。该方法利用受限玻尔兹曼机对特征空间
    发表于 02-01 16:41 1次下载
    融入<b class='flag-5'>受限</b><b class='flag-5'>玻尔兹曼</b>机的偏最小二乘优化方法

    人工智能机器学习受限玻尔兹曼机(RBM)算法

    受限玻尔兹曼机RBM在深度学习领域一直有重要应用,它是一种可用随机神经网络来解释的概率图模型,由Smolensky在1986年在玻尔兹曼机B
    发表于 05-29 19:02 4373次阅读

    快速了解神经网络与深度学习的教程资料免费下载

    本文档的详细介绍的是快速了解神经网络与深度学习的教程资料免费下载主要内容包括了:机器学习概述,线性模型,前馈神经网络,卷积神经网络,循环神经网络,网络优化与正则化,记忆与注意力机制,无
    发表于 02-11 08:00 25次下载
    快速了解神经网络与<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的教程资料免费下载