您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
                    ?#26031;?#26234;能 正文
                    发私信给雷锋字幕组
                    发送

                    0

                    贝叶斯神经网络(系列):第二篇

                    本文作者:雷锋字幕组 2019-03-13 10:03
                    ?#21152;錚?#36825;是贝叶斯卷积网络系列八篇中的第二篇文章。

                    贝叶斯神经网络(系列):第二篇

                    本文为 AI 研习社编译的技术博客,原标题 :

                    Bayesian Neural Network Series Post 2: Background Knowledge

                    作者 | Kumar Shridhar

                    翻译 | 微白o         

                    校对 | 酱番梨        审核 | 约翰逊·李加薪       整理 | 立鱼王

                    原文链接:

                    https://medium.com/neuralspace/bayesian-neural-network-series-post-2-background-knowledge-fdec6ac62d43

                    贝叶斯神经网络(系列):第二篇

                    这是贝叶斯卷积网络系列八篇中的第二篇文章。

                    如需查看第一篇文章,请点击:贝叶斯神经网络(系列)第一篇

                    让我们将贝叶斯神经网络分解成贝叶斯和神经网络来开始。

                    贝叶斯推断是概率论和统计学机器学习中的重要组成部分。 它是基于由著名统计学家?#26032;?#26031;贝叶斯给出的贝叶斯定理。 在贝叶斯推断中,随着更多证据或信息的出现,假设概率得到更新。

                    另一方面,神经网络可以被认为是模仿人类大脑的端到端系统或一组算法(不是每个人都相信,但它是基础),并试图在数据集中学习复杂的表示来输出结果。


                      神经网络

                    神经网络上已有非常好的教程。 ?#19968;?#35797;着简要介绍一下神经网络与大脑的类比,并着重解释我们?#38498;?#35201;研究的概率论机器学?#23433;?#20998;。

                    大脑的类比

                    感知器是由著名心理学家罗森布拉特(Rosenblatt)设想的描述神经元如何在我们的大脑中发挥作用的数学模型。 根据罗森布拉特的说法,神经元采用一组二进制输入(附近的神经元),将每个输入乘以连续值权重(每个附近神经元的突触强度),并且如果 sum足够大,则将这些加权输入的总和阈值输出为1,否则为0(同理神经元要么?#34892;В?#35201;么无效)。

                    贝叶斯神经网络(系列):第二篇 生物激励神经网络(源地址:http://cs231n.github.io/neural-networks-1/)

                    ?#26031;?#31070;经网络

                    受到生物神经系统的启发,?#26031;?#31070;经网络(ANN)的结构被设计成像人脑一样处理信息。 大?#21487;?#24230;互连的处理单元(神经元)协同工作使神经网络能够解决复杂的问题。 就像人类通过实例学习一样,神经网络也是如此。 在生物系统中学习涉及对突触连接的调整,其类似于神经网络中的权重更新。

                    神经网络由三层组成:输入层为模型提供数据,隐藏层学习如何表示,输出层输出结果或预测。 神经网络可以被认为是一种端到端的系统,其可以在非常复杂的、不能由人教给机器的数据中?#19994;?#19968;种特有的模式。

                    贝叶斯神经网络(系列):第二篇

                    两个隐藏层的神经网络

                    卷积神经网络

                    休伯尔(Hubel)和威塞尔(Wiesel)在他们的层?#25991;?#22411;中提到了一个神经网络,它在视觉皮层中有一个层次结构。 LGB(外侧膝状体)组成简单细胞,然后组成复杂细胞,继而形成低级超复合细胞,最终形成高级超复合细胞。

                    ?#36865;猓?#20302;阶超复杂细胞和高阶超复杂细胞之间的网络在结构上类似于简单细胞和复杂细胞之间的网络。 在该层次结构中,?#32454;?#32423;的细胞通常倾向于选择性地响应激励模式的更复杂的特征,低?#26029;?#32990;则倾向于简单特征。还?#26657;细?#38454;段的细胞具?#34218;?#22823;的感受野,并?#21494;约?#21169;模式的位置变化不敏感。

                    与层?#25991;?#22411;类似,神经网络起始层学习较简单的特征,如边缘,后续的神经层学习复杂的特征,如颜色,?#35780;?#31561;。?#36865;猓细?#32423;的神经元具?#34218;?#22823;的感受野,其构建在初始层上。然而,与多层感知器不同,其中来自同一层的所有神经元与下一层中的所有神经元连接,权重共享是卷积神经网络最主要的部分。示例?#32752;?#20687;之前的做法,对于输入图像的每个像素(权重是28x 28),每个神经元?#21152;?#19981;同的权重。现在神经元只有一个小的权重集(5 * 5),其应用于一大?#30740;?#30340;、相同大小的图像的子集中。第一层后的神经层都是以相似的方式工作,采用在之前隐藏层中?#19994;?#30340;“局部”特征,而不是像素图像。并且连续地看到图像的较大部分,因为它们组合?#26031;?#20110;图像的越来越多的子集信息。最后,最后一层对输出集进行了正确的预测。

                    如果数学上还不清楚?#24149;埃?#37027;么很显然上面的解释非常有用:如果没有这样的约束,神经网络将必须为图像的每个部分消耗大量时间学习完全相同的简单事物(例如检测边缘,角落等)。 但是由于存在约束,只有一个神经元需要学习每个简单的特征,并且总体上权重要少得多,它可以做得非常快! ?#36865;猓?#30001;于这些特征的位置(精确到像素)无关紧要,神经元基本上可以跳过图像的相邻子集———即?#30828;?#26679;,现在称为池化类型———当应用权重时,进一步减少了训练时间。 增加这两种类型的层——— 卷积层?#32479;?#21270;层,是卷积神经网络(CNN / ConvNets)与普通旧的神经网络的主要区别。


                       机器学习的概率论方法

                    为了简要叙述机器学习的概率论方法,我们把它分成概率论和机器学习分别讨论。

                    机器学习只是开发一些算法,在给定某些数据的情况下执行某些任务。 它包括从非结?#22815;?#25968;据中查找模式来对电子?#22987;?#20998;类,从语言理解到自动驾驶汽车。 基于观察到的数据,通过机器学习方法进行一些推断。 训练模型从观察到的数据(训练数据)中学习一些模式和假设,并对未观察到的数据(测试数据)进行推断。由于每个?#35780;?#37117;带有预测置信度,因此得出结论。 然而,由于多种原因,模型的预测可能不准确:输入噪声,噪声灵敏度,测?#35838;?#24046;,非最佳超参数设置等。

                    机器学习中的概率模型表明,所?#34892;问?#30340;不确定性都不是真正结果,而更像是概率,因此我?#24378;?#20197;用概率论的知识来回答所有问题。 概率分布用于模拟学习,不确定性和未观察到的状态。 在观察数据之前定义先验概率分布,一旦观察到数据就开始学习,并且数据分布变为后验分布。 贝叶斯学习?#24149;?#30784;就是用概率论的知识从数据中学习。

                    不确定性在贝叶斯学习中起着重要作用,来仔细研究不确定性的类型:

                    贝叶斯学习方法中的不确定性

                    (神经)网络中的不确定性是衡量模型预测的准确程度的指标。 在贝叶斯模型中,存在两种主要的不确定性类型?#21495;?#28982;不确定性和?#29616;?#19981;确定性。

                    偶然不确定?#38498;?#37327;?#26031;?#27979;中固有的噪声。 这种类型的不确定?#28304;?#22312;于数据收集方法中,比如伴随数据集的均匀的传感器噪声或运动噪声。 即使收集更多数据,也不能减少不确定性。

                    ?#29616;?#19981;确定性是模型本身造成的不确定性。 给定更多数据可?#32422;?#23569;这种不确定性,并且通常称为模型不确定性。偶然不确定性可以进一步分为同方差不确定性,不同输入下不变的不确定性,?#32422;?#21462;决于模型输入的异方差不确定性,其中一些输入可能具有比其他输入更多的噪声输出。 异方差的不确定?#26434;?#20026;重要,它可以防止模型的输出过于优化。

                    可以通过在模型参数或模型输出上加入概率分布来估计不确定性。 通过在模型的权重上加入先验分布,然后尝试捕获这些权重在给定数据的情况下变化多少来对?#29616;?#19981;确定性建模。 另一方面,偶然不确定性,是通过在模型的输出上加入分布来建模的。

                    现在,我们对概率机器学习基础,贝叶斯学习和神经网络有了一个很好的认识。 将贝叶斯方法和神经网络结合看起来是一个不错的想法,但在?#23548;?#20013;,训练贝叶斯神经网络是很难的。 训练神经网络最流行的方法是反向传播,我们用它来训练贝叶斯神经网络。 我们来详细介绍一下这些方法。


                       反向传播

                    鲁姆哈特在1986年提出了神经网络中的反向传播,它是训练神经网络最常用的方法。 反向传播是一种根据网络权重计算梯度下降的技术。 它分两个阶段运行:首先,输入特征通过网络的正向传播,以计算函数输出,从而计算与参数相关的损失。 其次,训练损失对权重的导数从输出层传回输入层。这些已计算的导数还用于更新网络的权重。 这是一个连续的过程,权重在?#30475;?#36845;代中不断更新。

                    尽管反向传播很受欢迎,但是在基于反向传播的随机优化中存在许多超参数,其需要特定的调整,例如学习率,动量,权重衰减等。?#19994;?#26368;优值所需的时间与数据大小成比例。 对于使用反向传播训练的网络,仅在网络中实现权重的点估计。 结果,这些网络得出?#26031;?#24230;的预测结果,并没有考虑参数的不确定性。 缺乏不确定性方法会使(神经)网络过拟合并需要正则化。

                    神经网络的贝叶斯方法提供了反向传播方法的缺点,贝叶斯方法自然地解释了参数估计中的不确定性,并且可以将这种不确定性加入到预测中。

                    ?#36865;猓?#23545;参数值取均值而不是仅选择单点估计值使得模?#25237;?#36807;拟合具?#26032;?#26834;性。

                    过去已经提出了几种用于贝叶斯神经网络学习的方法:拉普拉斯近似,MC丢失和变分?#35780;懟?我们使用反向传播的贝叶斯来完成的工作,接下来进行?#24471;鰲?/p>

                    反向传播的贝叶斯

                    贝叶斯反向传播算法石油Blundell等人提出的,用于学习神经网络权重的概率分布。 整个方法可归纳如下:

                    该方法不是训练单个网络,而是训练网络集合,其中每个网络的权重来自共享的学习概率分布。 与其他集合方法不同,该方法通常仅使参数的数量加倍,然后使用无偏的蒙特卡罗梯度估计来训练无穷集合。

                    通常,对神经网络权重的精确贝叶斯推断是难以处理的,因为参数的数量非常大,并且神经网络的函数?#38382;?#19981;适合精确积分。 相反,我们采用变分近似而不是蒙特卡罗方法来?#19994;?#20284;然贝叶斯后验分布。

                    好了,?#38142;?#25105;们已经?#20302;?#20102;。 那再深入一点,因为这个方法构成了我们方法?#24149;?#30784;,将在后面的博客中进行解释。 我们首先需要理解为什么分布变得难以处理?#32422;?#38656;要近似它。 让我们从贝叶斯定理开始:

                    贝叶斯神经网络(系列):第二篇 贝叶斯定理

                    如上所述,根据贝叶斯定理,我们试图在给定一些数据x的情况下?#19994;?#27169;型参数θ的概率。 这被称为后验,我们想计算它。 现在分子的P(θ)是我们的先验(在看到数据之前的估计)和P(x |θ)这是可能性并且显示数据分布。 这两个值都很容易计算。 分母P(x)是证据,它显示数据x是否是从模型生成的。 现在,事情有点棘手了, 我们只能通过整合所有可能的模型值来计算:

                    贝叶斯神经网络(系列):第二篇可见,这个积分使得整个过程难以处理,解决它的唯一方法是近似它。 因此,我们将使用变分?#35780;?#26469;近似函数?#38382;健?br/>

                    还有其他方法可用于近似积分,而流行的方法是马尔可夫链蒙特卡罗和蒙特卡洛丢弃法。

                    变分推论

                    假设我们有所有的密度函数,并且想估计它。 我们首先选择一个分布(可以是高斯分布,因为它最常用),一直修改到非常接近我们想要的函数,即后验概率。 我们希望尽可能接近真正的分布,其是难以直接处理的,我?#24378;?#20197;通过最小化两者之间的相对熵来完成。

                    因此,我们有一个函数P(w|D)(上面得到的后验概率),我们想用另一个分布q(w|D)用一些变分参数θ来近似它。

                    注意?#37233;?#22788;的符号已更?#27169;?#20197;使其与费利克斯 · 劳曼伯格概率深度学习保持一致:反向传播的贝叶斯理论可?#38498;?#22909;地解释它。

                    相对熵使问题成为优化问题,并可以最小化为:

                    贝叶斯神经网络(系列):第二篇贝叶斯神经网络(系列):第二篇

                    一张图很好地展示如何近似难处理的后验概率

                    来源:https://medium.com/neuralspace/probabilistic-deep-learning-bayes-by-backprop-c4a3de0d9743

                    但这不是结束。 如果我们解决相对熵,由于存在积分函数,又出现了一个难以处理的方程:

                    贝叶斯神经网络(系列):第二篇 源地址:https://arxiv.org/abs/1806.05978

                    现在我们已经无法近似一个近似函数了。 因此,我?#24378;?#20197;从近似函数q(w|D)中进行采样,因为从近似函数q(w|D)中采样权重要比难处理的真后验函数p(w | D)容易。 在这样做时,我们得到如下所述的易处理函数:

                    贝叶斯神经网络(系列):第二篇这些采样权重w,被用在神经网络的反向传播中去学习后验分布。

                    现在,正如我们所看到的,可以通过反向传播方法训练贝叶斯神经网络,并且贝叶斯神经网络能自动合并正则化。 我们将在接下来的博客中学习使用变分?#35780;?#26041;法的贝叶斯卷积神经网络。 我们在卷积中使用两个操作(更多?#38468;?#22312;即将发布的博客中或在此处阅读),因此与基于CNN的点估计相比,贝叶斯卷积神经网络的参数数量翻倍。 因此,为了减少网络参数,我们精简了神经网络架构,让我?#24378;?#30475;它是如何完成的。

                       反模型权重剪枝

                    模?#22270;?#26525;减少了深度神经网络中各种连接矩阵的稀疏性,从而减少了模型中有价值的参数的数量。模?#22270;?#26525;的整个想法是减少参数的数量而不会损失模型的准确性。 这减少了使用正则化的大型参数化模型的使用,并促进了密集连接的较小模型的使用。 最近的一些工作表明,网络可以实现模?#32479;?#23544;的大幅减少,同?#26412;?#24230;也相差无几。模?#22270;?#26525;在降低计算成本,?#35780;?#26102;间和能量效率方面具有几个优点。 得到的剪枝模型通常具有稀疏连接矩阵。 使用这些稀疏模型的?#34892;?#25512;断需要有能加载稀疏矩阵并且/或者执行稀疏矩阵向量运算的专用硬件。 但是,使用新的剪枝模型可?#32422;?#23569;总体内存使用量。

                    有几种方法可以实现剪枝模型,最常用的方法是将低贡献权重?#25104;?#21040;零并减少整体非零值权重的数量。 这可以通过训练大型稀疏模型并进一步修剪来实现,这使其与训练小型密集模型相当。

                    通过应用L_0(L-zero)范数可以?#38382;交?#20026;大多数特征赋予权重零和仅向重要特征分配非零权重,因为它对所有非零权重应用恒定惩罚。L_0范数可以被认为是特征选择器范数,其仅将非零值分配给重要的特征。 然而,L_0范数是非凸的,因此,不可微分使得它成为NP-hard问题并且只能在P = NP时?#34892;?#22320;求解。L_0范数的替代是L_1范数,其等于绝对权重值的总和。 L_1范数是凸的,因此是可微分的,可以用作L_0范数的近似值。 L_1范数通过令大量系数等于零而充当稀疏促进正则化器,是一个很好的特征选择器。

                    这篇博客只是为了提供?#38498;?#30340;博客中使用的术语和概念的背景知识,如果我遗漏了什么,请告诉我。

                    如果您想提前阅读,请查看论文工作或论文。

                    PyTorch中的实现点击阅读原文可获得。


                    如需查看第一篇文章,请点击:贝叶斯神经网络(系列)第一篇

                    想要继续查看该篇文章相关链接和参考文献?

                    点击【贝叶斯神经网络(系列):第二篇】或长按下方地址:

                    https://ai.yanxishe.com/page/TextTranslation/1466

                    AI研习社今日推荐雷锋网(公众号:雷锋网)雷锋网雷锋网

                    卡耐基?#20223;?#22823;学 2019 春?#23613;?#31070;经网络自然语?#28304;?#29702;》是CMU语言技术学院和计算机学院联合开课,主要内容是教学生如何用神经网络做自然语?#28304;?#29702;。神经网络对于语言建模任务而言,可以称得上是提供了一种强大的新工具,与?#36865;?#26102;,神经网络能够?#24917;?#35832;多任务中的最?#24405;?#26415;,将过去不容易解决的问题变?#20204;?#26494;简单。

                    加入小组免费观看视频:https://ai.yanxishe.com/page/groupDetail/33

                    贝叶斯神经网络(系列):第二篇


                    雷锋网原创文章,未经授权禁止转载。详情见转载须知

                    分享:
                    相关文章

                    文章点评:

                    表情
                    最新文章
                    请填写申请人资料
                    姓名
                    电话
                    邮箱
                    微信号
                    作品链接
                    个人简介
                    为了您的账户安全,请验证邮箱
                    您的邮箱还未验证,完成可获20积分哟!
                    请验证您的邮箱
                    立即验证
                    完善账号信息
                    您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
                    立即设置 ?#38498;?#20877;说
                    捷豹时时彩分分彩网站