百科问答小站 logo
百科问答小站 font logo



贝叶斯深度学习是什么,和传统神经网络有何不同? 第1页

  

user avatar   pu-lu-shi-lan-88-4 网友的相关建议: 
      

利益相关∶深度学习(D.L)运动预测开发者

本文用最浅显易懂的方式,介绍下贝叶斯深度学习(bayesian deep learning),希望对您有所帮助。

让我们回顾一下贝叶斯公式

后验概率(posterior)= likelihood * prior/evidence

看一个简单神经元网络结构的图

如上图,深度学习中的w(1...n)和b的值都是确定的常数,例如w1=1,b=0.5。而梯度下降更新wi后,仍然无法改变wi和b都是确定的值。

而将wi和b由确定的值变成分布,就是贝叶斯深度学习的核心

即权重(weight)和偏置(bias)都并非确定的值,而应该是一个分布

上图是结构为 4x3x1 的典型的贝叶斯神经网络。

(其中输入层神经元个数为 4,中间隐含层神经元个数为 3,输出层神经元个数为 1。)

贝叶斯神经网络和贝叶斯网络?

这两者不能混为一谈。

贝叶斯网络又称信念网络,是一种概率图型模型。

而贝叶斯神经网络,是贝叶斯和神经网络的结合,概念上和贝叶斯深度学习是一回事。

贝叶斯深度学习如何改善预测

通过对贝叶斯神经网络的权重和偏置进行采样,得到一组参数,然后像非贝叶斯神经网络那样用,同时可以实现前向传播(feed-forward)

优势在于可以对权重和偏置的分布,多次采样得到参数组合,从而观察参数细微改变对模型结果的影响程度,使得到的结果更robust

其次贝叶斯深度学习可以提供不确定性,非 softmax 生成的概率。


参考文献

Eric J. Ma - An Attempt At Demystifying Bayesian Deep Learning

Deep Bayesian Neural Networks. -- Stefano Cosentino

Edward -- A library for probabilistic modeling, inference, and criticism.

Deep Learning Is Not Good Enough, We Need Bayesian Deep Learning for Safe AI

贝叶斯网络 -- 百度百科


感谢观看

花了半小时填补了下知乎的科普空白

让人不禁感叹,


user avatar   wang-hog 网友的相关建议: 
      

看到知乎上有这个问题,非常感动。有兴趣的同学可以瞄一眼我们最近发表在ACM Computing Surveys上的文章“A Survey on Bayesian Deep Learning” [1](链接:wanghao.in/paper/CSUR20)。 @普鲁士蓝@方轩固@北野寺僧人 同学的回答很好地介绍了贝叶斯深度学习相关的一些概念,这里我接着做一些系统的、详细的介绍。


在survey里面,我们将贝叶斯深度学习(或者叫Bayesian Deep Learning,以下简称BDL)分成广义BDL和狭义BDL。


广义的BDL,指的是将深度神经网络概率化后作为“感知模块”(perception component),然后把它和用概率图模型作为“任务模块”(task-specific component)统一在同一个概率框架下,进行end-to-end的学习和推断(如下图)。这个“感知模块”可以是神经网络的贝叶斯版本(即Bayesian Neural Network)[3],也可以是Bayesian Neural Network的简化版本。



狭义的BDL,指的就是上面提到的Bayesian Neural Network本身。所以可以把狭义BDL看成是广义BDL的一个子模块(“感知模块”)。而Bayesian Neural Network,其实已然是一个古老的topic。最早可能要源于David MacKay的一篇1992年的文章 [3],当时概率图模型还没出生呢,所以自然跟我们广义的BDL不一样。下文我们说的BDL,默认指的是广义的BDL。


那么问题来了:BDL为什么同时需要神经网络和概率图呢?为什么单单有神经网络是不够的?这是因为神经网络没法原生地支持(1)条件概率的推断,(2)因果推理,(3)逻辑演绎,以及(4)对不确定性建模。(说到概率图,此处还应艾特一下原教旨贝叶斯 @陈默 )注意我们这里说的是“没法原生地支持”,而不是“没法支持”。神经网络说到底就是一个(可微分的)函数,那么我们自然可以借鉴概率图,设计一个“精妙”的网络结构,来实现上面所说的四种功能的子集,然后claim“神经网络也可以支持blablabla”,但是其背后的原理依然是来自于概率图或者其他理论。相反,BDL的目的就是想让提供一个统一的深度学习理论框架,尽可能地做到“原生地支持”上面所说的四种功能。


我们从2014年开始一直在做的Collaborative Deep Learning [2](CDL),其实就是一个BDL应用到推荐系统上的一个特例(此处应 @Naiyan Wang )。在CDL里面,“感知模块”利用神经网络来快速处理高维数据(文本或者图像),而“任务模块”则负责用概率图来表示“用户”、“产品”、“评分”之间的条件概率关系(如下图)。



在提出CDL之后,我们在15年开始把他推广成上文描述的“广义的BDL” [9]。6年过去了,我们发现很多各个领域的model都可以放在BDL的框架下面,先上大表格(如下)。



BDL的精髓在于“一个框架、两个模块、三种变量”。这里重点讲下“两个模块”。在最新的Survey里面,我们又仔细地总结了各种可以用作BDL的“感知模块”和“任务模块”数学工具:


1. “感知模块”可以用Restricted Boltzmann Machine(RBM)、Probabilistic Autoencoder [2]、VAE [4]、Natural-Parameter Network [5] 等等各种概率化的神经网络。


2. “任务模块”则可以用传统的贝叶斯网络(Bayesian Network)、深度贝叶斯网络 [6]、甚至随机过程 [7]。有趣的是所谓的随机过程,其实可以看成是一种动态的贝叶斯网络(Dynamic Bayesian Network)[8],而传统的贝叶斯网络则是一种静态的“浅”贝叶斯网络。


至于我们survey中定义的“三种变量”,指的就是:


1. “感知变量”(perception variable)指的是“感知模块”里面的变量(见上图5的红色框内的变量),这种变量一般是从比较简单的分布(比如dirac delta分布或者高斯分布)里面采样出来,而且连接图比较简单,这样可以保证计算的复杂度不会太高,否则多层的“感知变量”会消耗巨大的计算量。


2. “中枢变量”(hinge variable)指的是“任务模块”里面和“感知模块”有直接连接的变量(比如上图5中的H)。这种变量主要是连接两大模块,为两者提供双向、快速的通信。


3. “任务变量”(task variable)指的是“任务模块”里面和“感知模块”没有直接连接的变量(比如上图5中的A-D)。这种变量和“感知变量”恰恰相反,它可以从各种千奇百怪的分布中采样出来,而且连接图会比较复杂,这样其实是为了能够更好地刻画变量之间复杂的条件概率关系。


以上就是BDL的整体框架。其实大家从描述中可以看出来,这个框架可以有非常广泛的应用。在survey中我们就举了几个例子,介绍了BDL在(1)监督学习(以推荐系统为例),(2)无监督学习(以主题模型为例),以及(3)通用的表征学习(representation learning,以控制为例)这个三个机器学习范式中的具体模型设计及其应用。上面的表格1则是按照各个应用整理了各种BDL的模型供大家参考。有兴趣的同学还可以看看我们的不定时更新的project page(github.com/js05212/Baye)。


虽然我们在survey过程中已经尽量做到全面,但是如果有不小心遗漏哪些reference,也欢迎大家联系我:)我们会及时更新project page和arxiv。


论文:wanghao.in/paper/CSUR20

英文版blog:wanghao.in/BDL.html

Github页面(论文列表持续更新):js05212/BayesianDeepLearning-Survey

arXiv版本:A Survey on Bayesian Deep Learning


References


[1] A survey on Bayesian deep learning. Hao Wang, Dit-Yan Yeung. ACM Computing Surveys (CSUR), to appear, 2020.


[2] Collaborative deep learning for recommender systems. Hao Wang, Naiyan Wang, Dit-Yan Yeung. KDD, 2015.


[3] David MacKay. A practical Bayesian framework for backprop networks. Neural computation, 1992.


[4] Auto-encoding variational Bayes. Diederik P. Kingma, Max Welling, ArXiv, 2014.


[5] Natural parameter networks: A class of probabilistic neural networks. Hao Wang, Xingjian Shi, Dit-Yan Yeung. NIPS, 2016.


[6] Bidirectional inference networks: A class of deep Bayesian networks for health profiling. Hao Wang, Chengzhi Mao, Hao He, Mingmin Zhao, Tommi S. Jaakkola, Dina Katabi. AAAI, 2019.


[7] Deep graph random process for relational-thinking-based speech recognition. Huang Hengguan, Fuzhao Xue, Hao Wang, Ye Wang. ICML, 2020.


[8] Machine learning: A probabilistic perspective. Kevin P Murphy. MIT press, 2012.


[9] Towards Bayesian deep learning: A framework and some existing methods. Hao Wang, Dit-Yan Yeung. TKDE, 2016.




  

相关话题

  卢伟冰猪肉论是被曲解为鄙视自研的吗? 
  USC 大学教授、Pinscreen CEO Hao Li 是否存在论文造假、产品虚假宣传等问题? 
  哪一瞬间让你真的感觉到科技改变生活? 
  Resnet是否只是一个深度学习的trick? 
  计算机大二分方向,人工智能和网络安全哪个好? 
  “是不是”台湾不管民主化程度,还是高科技的技术领域都比大陆要好呢? 
  LeCun 为什么要卸任 FAIR(Facebook AI 实验室)负责人,工程和研究的矛盾可调和吗? 
  制造航空母舰的真正技术难题在哪,把正常战列舰造大一点不行吗? 
  为何钢铁侠不需要翅膀便能飞行,而同样使用推进器的Baymax还需要翅膀? 
  Transformer中的Mask矩阵已经有顺序了,能去掉position embedding吗? 

前一个讨论
在与贝叶斯相关的马尔可夫链蒙特卡洛方法中,为什么可以最大化后验概率?
下一个讨论
如何评价微软亚研院提出的把 Transformer 提升到了 1000 层的 DeepNet?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利