您的位置:首頁>科技>正文

GMIS 2017 朱軍:貝葉斯深度學習的GPU 庫-珠算

5 月 27 日, 機器之心主辦的為期兩天的全球機器智慧峰會(GMIS 2017)在北京 898 創新空間順利開幕。 中國科學院自動化研究所複雜系統管理與控制國家重點實驗室主任王飛躍為本次大會做了開幕式致辭, 他表示:「我個人的看法是再過幾年, 我們90%的工作是人工智慧提供的, 就像我們今天大部分工作是機器提供的一樣。 我們知道人工智慧會給我們提供一個更美好的未來。 」大會第一天重要嘉賓「LSTM 之父」Jürgen Schmidhuber、Citadel 首席人工智慧官鄧力、騰訊 AI Lab 副主任俞棟、英特爾 AIPG 資料科學部主任 Yinyin Liu、GE Transportation Digital Solutions CTO Wesly Mukai 等知名人工智慧專家參與峰會, 並在主題演講、圓桌論壇等互動形式下,

從科學家、企業家、技術專家的視角, 解讀人工智慧的未來發展。

下午, 清華大學智慧技術與系統國家重點實驗室朱軍發表了主題為《珠算:貝葉斯深度學習的 GPU 庫》的演講, 他探討分享了貝葉斯深度學習模型的計算平臺:珠算, 以下是該演講的主要內容:

朱軍首先帶我們分析了現在深度學習在各個領域裡面的巨大優勢。 他表明雖然深度學習非常好, 但還不足夠好。 因為深度學習存在兩個最明顯的缺點。

其一即模型不是很魯棒, 因為我們都知道存在一些對抗樣本, 比如說我們有一個訓練很好的神經網路, 如果我們給樣本加一些人類檢測不到的雜訊, 那麼合成一個圖片之後可以完全誤導這個網路, 甚至能夠按照我們的意願誤導分到某一個類。 這是非常不好的性質, 尤其我們在關鍵領域用深度學習的時候。 因為我們的系統一旦遇到這種情況發生, 那麼可能就會產生一些比較致命的錯誤。 所以實際上想問一個問題就是說, 機器學習或者深度學習本身能不能像人一樣更少犯錯?人可能更多的時候是更魯棒的,

雖然人也可能會犯錯誤, 但是人犯錯誤相對都是比較直觀、比較合理一點的。

其二即深度學習大部分情況下是一種黑箱。 所以現在有很多的工作, 都是試圖去解釋深度學習到底學到了什麼、應該如何去解釋。

在朱軍看來, 深度學習本身就是屬於機器學習的一個極端, 它用了大量的訓練樣本、大量的計算資源, 而達到在特定任務下、特定環境下、特定資料集上得到非常優良的模型。

而另一極端為貝葉斯學習方法, 其可以用少量的訓練樣本説明我們學習道非常精確的模型。 這也就從一個方面告訴我們, 在構建學習模型的時候可以有不同的思路。

如果我們結合兩個極端, 就能得到一個非常強大的模型。 所以朱軍在今天就介紹了這兩個極端的中間產物“Bayesian Deep Learning”, 其既有貝葉斯本身的可解釋性, 可以從少量的資料裡邊來學習, 另外又有有深度學習非常強大的擬合能力。

深度生成模型

深度生成模型是融合了深度學習和貝葉斯方法的模型。 其可以首先做一個抽性, 大概可以抽象出印象變數Z, 中間會有一個深層的神經網路, 可以根據我們的任務選擇不同的神經網路、不同的深度、不同的結構。

圖像生成:生成對抗網路

圖像理解:變分子編碼器

這些模型其實非常直觀,但是它的難點其實在於我們所謂的推斷過程,我們在推斷過程中觀察到一些X,然後我們用一些推導變數推導出我們觀察到的Z到底是什麼,這是在推斷所需要要做的。而我們用的主要公式就是貝葉斯公式。

珠算:貝葉斯深度學習的 GPU 庫

朱軍表明,我們需要做的是一個珠算平臺,這個珠算的平臺可以支援我們做深度學習,也可以做這種貝葉斯推斷,當然還可以進行兩者之間有機的融合。

珠算可以區別於其他平臺的一個很大的特點就是說,其利用了深度學習進行貝葉斯推斷,因此也可以很有效地支援前面所說的深度生成模型。珠算平臺上可以運行 GPU,同時也可以在上面進行概率建模。因此這樣做的優點即,我們可以利用這種無監督資料完成小樣本學習,也可以進行不確定性的推理和決策,還可以生成新的樣本。

朱軍團隊做這個平臺首先的前提就是說,我們要把這一類的模型能夠抽象表達出來,實際上該平臺使用了貝葉斯網路。貝葉斯網路在深度學習流行起來之前應該是非常主流的方法,它是一種非常好的形式化的方式,並能非常直觀地説明我們表示一個模型。我們在這裡邊要實現的是網路應該有隨機節點和確定性節點,確定性的節點基本上對應了深度神經網路的非線性變換,隨機節點對應著不確定性的描述,而珠算能完全支持這兩大塊。

生成模型的半監督學習

朱軍隨後給大家介紹了一個例子,以說明貝葉斯深度學習可以應用在什麼地方。在朱軍課題組裡邊主要強調用非常少的標注資料進行有效的學習,即半監督學習(Semi—supervised Learning),這個紅色框裡面是他們做出的結果,比如說在SVHN的資料集上,他們大概用1%的訓練資料就可以達到5%的錯誤率。

小樣本學習

下面一個例子是前面提到過的用貝葉斯方法做小樣本學習。就是在訓練的時候只給系統看一些基本的資料,而將來在使用的時候可能會預測一個新的類別。即讓系統看一些樣例,然後希望它能夠從裡邊學出來一個貝葉斯例子,並在將來能生成同一類的資料。

更具魯棒性的深度學習

最後一個例子也是前面所說的魯棒性深度學習,深度學習有很多潛在攻擊樣本,那麼我們該怎麼讓它變得更魯棒?實際上最近有一些工作,即可以用貝葉斯的方法來使得深度學習變得更魯棒。

朱軍團隊已經開源了珠算平臺,也歡迎大家去嘗試,我們在上面也開發了很多當前的模型。

目前支援的主要推理演算法

變分推理和隨機變分推理(VI & SVI)

支持多種變分後驗:

平均場後驗(Mean-field posterior):各因數完全獨立的後驗

結構化的後驗(Structured posterior):隱變數間具有使用者指定的依賴關係

支持的變分方法:

SGVB:隨機梯度變分貝葉斯(Stochastic gradient variational Bayes)

IWAE:重要程度加權的目標(Importance weighted objectives)

NVIL:具有方差減縮的得分函數估計器(Score function estimator with variance reduction)

VIMCO:具有方差減縮的多樣本得分函數估計器(Multi-sample score function estimator with variance reduction)

自我調整重要程度採樣

重新加權的喚醒-睡眠(RWS:Reweighted Wake-sleep):帶有用戶指定的自我調整提議分佈

瑪律可夫鏈蒙特卡洛(MCMC)

漢米爾頓蒙特卡洛(HMC):自我調整調整步長和品質(mass)

這些模型其實非常直觀,但是它的難點其實在於我們所謂的推斷過程,我們在推斷過程中觀察到一些X,然後我們用一些推導變數推導出我們觀察到的Z到底是什麼,這是在推斷所需要要做的。而我們用的主要公式就是貝葉斯公式。

珠算:貝葉斯深度學習的 GPU 庫

朱軍表明,我們需要做的是一個珠算平臺,這個珠算的平臺可以支援我們做深度學習,也可以做這種貝葉斯推斷,當然還可以進行兩者之間有機的融合。

珠算可以區別於其他平臺的一個很大的特點就是說,其利用了深度學習進行貝葉斯推斷,因此也可以很有效地支援前面所說的深度生成模型。珠算平臺上可以運行 GPU,同時也可以在上面進行概率建模。因此這樣做的優點即,我們可以利用這種無監督資料完成小樣本學習,也可以進行不確定性的推理和決策,還可以生成新的樣本。

朱軍團隊做這個平臺首先的前提就是說,我們要把這一類的模型能夠抽象表達出來,實際上該平臺使用了貝葉斯網路。貝葉斯網路在深度學習流行起來之前應該是非常主流的方法,它是一種非常好的形式化的方式,並能非常直觀地説明我們表示一個模型。我們在這裡邊要實現的是網路應該有隨機節點和確定性節點,確定性的節點基本上對應了深度神經網路的非線性變換,隨機節點對應著不確定性的描述,而珠算能完全支持這兩大塊。

生成模型的半監督學習

朱軍隨後給大家介紹了一個例子,以說明貝葉斯深度學習可以應用在什麼地方。在朱軍課題組裡邊主要強調用非常少的標注資料進行有效的學習,即半監督學習(Semi—supervised Learning),這個紅色框裡面是他們做出的結果,比如說在SVHN的資料集上,他們大概用1%的訓練資料就可以達到5%的錯誤率。

小樣本學習

下面一個例子是前面提到過的用貝葉斯方法做小樣本學習。就是在訓練的時候只給系統看一些基本的資料,而將來在使用的時候可能會預測一個新的類別。即讓系統看一些樣例,然後希望它能夠從裡邊學出來一個貝葉斯例子,並在將來能生成同一類的資料。

更具魯棒性的深度學習

最後一個例子也是前面所說的魯棒性深度學習,深度學習有很多潛在攻擊樣本,那麼我們該怎麼讓它變得更魯棒?實際上最近有一些工作,即可以用貝葉斯的方法來使得深度學習變得更魯棒。

朱軍團隊已經開源了珠算平臺,也歡迎大家去嘗試,我們在上面也開發了很多當前的模型。

目前支援的主要推理演算法

變分推理和隨機變分推理(VI & SVI)

支持多種變分後驗:

平均場後驗(Mean-field posterior):各因數完全獨立的後驗

結構化的後驗(Structured posterior):隱變數間具有使用者指定的依賴關係

支持的變分方法:

SGVB:隨機梯度變分貝葉斯(Stochastic gradient variational Bayes)

IWAE:重要程度加權的目標(Importance weighted objectives)

NVIL:具有方差減縮的得分函數估計器(Score function estimator with variance reduction)

VIMCO:具有方差減縮的多樣本得分函數估計器(Multi-sample score function estimator with variance reduction)

自我調整重要程度採樣

重新加權的喚醒-睡眠(RWS:Reweighted Wake-sleep):帶有用戶指定的自我調整提議分佈

瑪律可夫鏈蒙特卡洛(MCMC)

漢米爾頓蒙特卡洛(HMC):自我調整調整步長和品質(mass)

Next Article
喜欢就按个赞吧!!!
点击关闭提示