1 Introduction
基于深度學習的人工智能模型往往精于 “感知” 的任務,然而光有感知是不夠的,“推理” 是更高階人工智能的重要組成部分。比方說醫生診斷,除了需要通過圖像和音頻等感知病人的癥狀,還應該能夠推斷癥狀與表征的關系,推斷各種病癥的概率,也就是說,需要有“thinking”的這種能力。具體而言就是識別條件依賴關系、因果推斷、邏輯推理、處理不確定性等。
概率圖模型(PGM)能夠很好處理概率性推理問題,然而PGM的弊端在于難以應付大規模高維數據,比如圖像,文本等。因此,這篇文章嘗試將二者結合,融合到DBL的框架之中。
比如說在電影推薦系統中,深度學習適于處理高維數據,比如影評(文本)或者海報(圖像);而概率圖模型適于對條件依賴關系建模,比如觀眾和電影之間的網絡關系。
從uncertainty的角度考慮,BDL適合于去處理這樣的復雜任務。復雜任務的參數不確定性一般有如下幾種:(1)神經網絡的參數不確定性;(2)與任務相關的參數不確定性;(3)perception部分和task-specific部分信息傳遞的不確定性。通過將未知參數用概率分布而不是點估計的方式表示,能夠很方便地將這三種uncertainty統一起來處理(這就是BDL框架想要做的事情)。
另外BDL還有 “隱式的”正則化作用,在數據缺少的時候能夠避免過擬合。通常BDL由兩部分組成:perception模塊和task-specific模塊。前者可以通過 權值衰減或者dropout正則化 (這些方法擁有貝葉斯解釋),后者由于可以 加入先驗 ,在數據缺少時也能較好地進行建模。
當然,BDL在實際應用中也存在著挑戰,比如時間復雜性的問題,以及兩個模塊間信息傳遞的有效性。
2 Deep Learning
這一章主要介紹經典的深度學習方法,這里不用過多的篇幅去敘述,文章中提到的方法包括MLP、AutoEncoder、CNN、RNN等。
2.2 AutoEncoders
這一部分提一下自編碼器。這是一種能將輸入編碼為更緊湊表示的神經網絡,同時能夠將這種緊湊表示進行重建。這方面的資料也很多,這里主要說明一下AE的變種——SDAE(Stacked Denoising AutoEncoders)
SDAE的結構如上圖所示,和AE不同的是,可以看做輸入數據加入噪聲或者做了一些隨機處理后的結果(比如可以把中的數據隨機選30%變為零)。所以SDAE做的就是試圖把處理過的corrupted data恢復成clean data。SDAE可以轉化為如下優化問題:
3 Probabilistic Graphical Model
這一章主要介紹概率圖模型,也是為后面的內容做知識鋪墊的,概率圖模型的相關資料有不少,因此這里不過多敘述。文章主要介紹的是有向貝葉斯網(Bayesian Networks),如LDA等模型。LDA可以拓展出更多的topic model,如推薦系統中的協同話題回歸(CTR)。
4 Bayesian Deep Learning
在這個部分,作者列舉了一些BDL模型在推薦、控制等領域的應用,我們可以看到,眾多當前實用的模型都可以統一到BDL這個大框架之下:
4.1 A Brief History of Bayesian Neural Networks and Bayesian Deep Learning
和BDL很相似的是BNN(Bayesian neural networks),這是一個相當古老的課題,然而BNN只是本文BDL框架下的一個子集——BNN相當于只有perception部分的BDL。
4.2 General Framework
如下圖是文章提出的基本框架,紅色部分是 感知模塊 ,藍色部分是 任務模塊 。紅色部分通常使用各種概率式的神經網絡模型,而藍色部分可以是貝葉斯網絡,DBN,甚至是隨機過程,這些模型會以概率圖的形式表示出來。
在這個基本框架中往往有三種變量:perception variables (圖中的X,W), hinge variables (圖中的H)和task variables (圖中的A,B,C)。通常來說,紅色模塊和hinge variables之間的連接是獨立的。因此,對于能歸納到BDL框架下的模型,我們都可以找到這樣的結構——兩個模塊,三種變量。
BDL可以對紅藍兩個部分之間信息交換的uncertainty進行建模,這個問題等價研究的uncertainty(在公式中的體現就是條件方差)。方差的不同假設有:Zero-Variance(ZV,沒有不確定性,方差為零),Hyper-Variance(HV,方差大小由超參數決定),Learnable Variance(LV,使用可學習參數表示)。顯然,靈活性上有LV>HV>ZV。
4.3 Perception Component
通常來說,這一部分應該采用BNN等模型,當然我們可以使用一些更加靈活的模型,比如RBM,VAE,以及近來比較火的GAN等。文章提到了以下幾個例子:
Restricted Boltzman Machine :RBM是一種特殊的BNN,主要特點有:(1)訓練時不需要反向傳播的過程;(2)隱神經元是binary的。RBM的具體結構如下:
RBM通過Contrastive Divergence進行訓練(而不是反向傳播),訓練結束后通過邊緣化其他neurons就能求出和。
Probabilistic Generalized SDAE: 我們將2.2提到的SDAE加以改進,如果假設clear input 和corrupted input 都是可以觀察的 ,便可以定義如下的Probabilistic SDAE:
Variational Autoencoders :VAE的基本想法就是通過學習參數最大化ELBO,VAE也有諸多變種,比如IWAE(Importance weighted Autoencoders),Variational RNN等。
Natural-Parameter Networks :與確定性輸入的vanilla NN不同,NPN將一個分布作為輸入(和VAE只有中間層的output是分布不同)。當然除了高斯分布,其他指數族也可也當做NPN的輸入,如Gamma、泊松等。
4.4 Task-Specific Component
這一個模塊的主要目的是將概率先驗融合進BDL模型中(很自然的我們可以用PGM來表示),這個模塊可以是Bayesian Network,雙向推斷網絡,甚至是隨機過程。
Bayesian Networks :貝葉斯網是最常見的task-specific component。除了LDA,另一個例子是PMF(Probabilistic Matrix Factorization),原理是使用BN去對users,items和評分的條件依賴性建模。以下是PMF假設的生成過程:
Bidirectional Inference Networks :Deep Bayesian Network不止關注“淺相關”和線性結構,還會關注隨機變量的非線性相關和模型的非線性結構。BIN是其中的一個例子。
Stochastic Processes :隨機過程也可以作為Task-component,比如說用維納過程模擬離散布朗運動,用泊松過程模擬處理語音識別的任務等。隨機過程可以被看做一種動態貝葉斯網(DBN)。
5 Concerte BDL Models and Applications
上一章討論完構成BDL的基本模型結構,我們自然希望能夠把這一套大一統的框架運用在一些實際的問題上。因此,這一章主要討論了BDL的各種應用場景,包括推薦系統,控制問題等。在這里我們默認任務模塊使用vanilla Bayesian networks作為這個部分的模型。
5.1 Supervised Bayesian Deep Learning for Recommender Systems
Collaborative Deep Learning 。文章在這個部分提出Collaborative Deep Learning(CDL)來處理推薦系統的問題,這種方法連接了content information(一般使用深度學習方法處理)和rating matrix(一般使用協同過濾)。
使用4.3.2提到的Probabilistic SDAE,CDL模型的生成過程如下:
為了效率,我們可以設置趨向正無窮,這個時候,CDL的圖模型就可以用下圖來表示了:
紅色虛線框中的就是SDAE(圖上是L=2的情況),右邊是degenerated CDL,我們可以看到,degenerated CDL只有SDAE的encoder部分。根據我們之前定義過的,就是hinge variable,而是task variables,其他的是perception variables。
那么我們應該如何訓練這個模型呢?直觀來看,由于現在 所有參數都被我們當做隨機變量 ,我們可以使用純貝葉斯方法,比如VI或MCMC,然而這樣計算量往往是巨大的,因此,我們使用一個EM-style的算法去獲得MAP估計。先定義需要優化的目標,我們希望最大化后驗概率,可以等價為最大化給定的joint log-likelihood。
注意,當趨向無窮時,訓練CDL的概率圖模型就退化為了訓練下圖的神經網絡模型:兩個網絡有相同的加了噪音的輸入,而輸出是不同的。
有了優化的目標,參數該如何去更新呢?和巧妙的EM算法的思路類似,我們通過迭代的方法去逐步找到一個局部最優解:
當我們估計好參數,預測新的評分就容易了,我們只需要求期望即可,也就是根據如下公式計算:
Bayesian Collaborative Deep Learning :除了這種模型,我們可以對上面提到的CDL進行另外一種擴展。這里我們不用MAP估計,而是sampling-based算法。主要過程如下:
當趨向正無窮并使用adaptive rejection Metropolis sampling時,對采樣就相當于BP的貝葉斯泛化版本。
Marginalized Collaborative Deep Learning :在SDAE的訓練中,不同訓練的epoch使用不同的corrupted input,因此訓練過程中需要遍歷所有的epochs,Marginalized SDAE做出了改進:通過邊緣化corrupted input直接得到閉式解。
Collaborative Deep Ranking :除了關注精確的評分,我們也可以直接關注items的排名,比如CDR算法:
這個時候我們需要優化的log-likelihood就會成為:
Collaborative Variational Autoencoders :另外,我們可以將感知模塊的Probabilistic SDAE換成VAE,則生成過程如下:
總之,推薦系統問題往往涉及高維數據(文本、圖像)處理以及條件關系推斷(用戶物品關系等),CDL這類模型使用BDL的框架,能發揮很重要的作用。當然其他監督學習的任務也可以參考推薦系統的應用使用CDL的方法。
5.2 Unsupervised Bayesian Deep Learning for Topic Models
這一小節過渡到非監督問題中,在這類問題中我們不再追求 “match” 我們的目標,而更多是 “describe” 我們的研究對象。
Relational Stacked Denoising Autoencoders as Topic Models (RSDAE) :在RSDAE中我們希望能在關系圖的限制下學到一組topics(或者叫潛因子)。RSDAE能“原生地”集成潛在因素的層次結構和可用的關系信息。其圖模型的形式和生成過程如下:
同樣的,我們最大化后驗概率,也就是最大化各種參數的joint log-likelihood:
訓練的時候我們依然使用EM-style的算法去找MAP估計,并求得一個局部最優解(當然也可以使用一些帶skip的方法嘗試跳出局部最優),具體如下:
Deep Poisson Factor Analysis with Sigmoid Belief Networks :泊松過程適合對于非負計數相關的過程建模,考慮到這個特性,我們可以嘗試把Poisson factor analysis(PFA)用于非負矩陣分解。這里我們以文本中的topic問題作為例子,通過取不同的先驗我們可以有多種不同的模型。
比如說,我們可以通過采用基于sigmoid belief networks(SBN)的深度先驗,構成DeepPFA模型。DeepPFA的生成過程具體如下:
這個模型訓練的方式是用Bayesian Conditional Density Filtering(BCDF),這是MCMC的一種online版本;也可以使用Stochastic Gradient Thermostats(SGT),屬于hybrid Monto Carlo類的采樣方法。
Deep Poisson Factor Analysis with Restricted Boltzmann Machine :我們也可以將DeepPFA中的SBN換成RBM模型達到相似的效果。
可以看到,在基于BDL的話題模型中, 感知模塊用于推斷文本的topic hierarchy,而任務模塊用于對詞匯與話題的生產過程,詞匯-話題關系,文本內在關系建模 。
5.3 Bayesian Deep Representation Learning for Control
前面兩小節主要談論BDL在監督學習與無監督學習的應用,這一節主要關注另外一個領域:representation learning。用控制問題為例。
Stochastic Optimal Control :在這一節,我們考慮一個未知動態系統的隨機最優控制問題,在BDL的框架下解決的具體過程如下:
BDL-Based Representation Learning for Control :為了能夠優化上述問題,有三個關鍵的部分,具體如下:
Learning Using Stochastic Gradient Variational Bayes :該模型的損失函數是如下這種形式:
在控制的問題中,我們通常希望能夠從原始輸入中獲取語義信息,并在系統狀態空間中保持局部線性。而BDL的框架正好適用這一點,兩個組件分別能完成不同的工作:感知模塊可以捕獲 live video,而任務模塊可以推斷動態系統的狀態。
5.4 Bayesian Deep Learning for Other Applications
除了上面提到的,BDL還有其他諸多運用場景:鏈路預測、自然語言處理、計算機視覺、語音、時間序列預測等。比如,在鏈路預測中,可以將GCN作為感知模塊,將stochastic blockmodel作為任務處理模塊等。
6 Conclusion and Future Research
現實中很多任務都會涉及兩個方面:感知高維數據(圖像、信號等)和隨機變量的概率推斷。貝葉斯深度學習(BDL)正是應對這種問題的方案: 結合了神經網絡( NN )和概率圖模型(PGM)的長處 。而廣泛的應用使得BDL能夠成為非常有價值的研究對象,目前這類模型仍然有著眾多可以挖掘的地方。
-
人工智能
+關注
關注
1791文章
47183瀏覽量
238260 -
模型
+關注
關注
1文章
3226瀏覽量
48809 -
貝葉斯
+關注
關注
0文章
77瀏覽量
12564 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113
發布評論請先 登錄
相關推薦
評論