百科问答小站 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.




  

相关话题

  如何看待 9 月 23 日美国三大股指纷纷大跌?为什么美国大型科技股全线收跌? 
  一个湖的水量是怎么测出来的? 
  发改委回应芯片项目烂尾现象:造成重大损失将通报问责,你怎么看?如何从源头上避免? 
  请问目前做windows桌面应用程序,MFC、QT、C#哪个更好? 
  AMD的CPU是否适合搭建深度学习主机? 
  如何看待谷歌公开 tensorflow 专用处理器 TPU? 
  男子买小米手机,倒卖后恶意差评被索赔百万,法院判赔3万,恶意差评的判断标准是什么?需要承担什么责任? 
  如何评价有些网友认为吴京不是《流浪地球》主演,主演百亿票房不能计算在内的观点? 
  欧洲有哪些统计机器学习比较强的大学或者研究院的?? 
  人工智能是当前最好的计算机专业吗? 

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





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