天天看點

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

雷鋒網[ai科技評論]按:3月3日,中國人工智能學會aidl第二期【人工智能前沿講習班】在北京中科院自動化所舉行,本期講習班的主題為【機器學習前沿】。周志華教授擔任學術主任,前來授課的嘉賓均為中國機器學習界一流專家、資深科研人員和企業精英,包括:耿新、郭天佑、劉鐵岩、王立威、葉傑平、于劍、餘揚、張長水、鄭宇、朱軍。

來自清華大學計算機科學與技術系的朱軍副教授做了題為《貝葉斯學習前沿進展》的開場分享課。總共2個小時時長的課程,内容主要分為三大部分:貝葉斯基本理論、模型和算法;可擴充的貝葉斯方法;深度生成模型。本文乃三大内容中的第一部分:貝葉斯基本理論、模型和算法。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

朱軍

清華大學計算機系長聘副教授、智能技術與系統國家重點實驗室副主任、深度學習技術與應用國家工程實驗室副主任、國家萬人計劃青年拔尖人才、中國自然科學基金優秀青年基金獲得者、中國計算機學會青年科學家、ieee ai’s 10 to watch入選者。

以下是根據朱軍副教授現場分享整理的文字報告,雷鋒網(公衆号:雷鋒網)[ai科技評論]做編輯整理。

學術主任周志華教授介紹詞:朱軍老師是我們國内機器學習非常優秀的一位年輕的學者,他特别在貝葉斯學習方面有一套非常有特色的東西,大家知道貝葉斯學習是機器學習裡面非常主流的一個流派,朱軍老師是把這兩個東西做了非常有機的結合,今天請朱軍老師将給大家做一個全面的貝葉斯學習前沿介紹,下面歡迎朱軍老師。

朱軍:非常感謝周老師給這個機會讓我跟大家分享一下。我今天想和大家分享的是,在深度學習或者大資料環境下我們怎麼去看待相對來說比較傳統的一類方法,貝葉斯方法。它是在機器學習和人工智能裡比較經典的方法。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

類似的報告我之前在ccf adl講過,包括去年暑假周老師做學術主任在廣州有過一次報告,大家如果想看相關的工作,我們寫了一個文章,正好我今天講的大部分思想在這個文章裡面有一個更系統的講述,大家可以下去找這個文章讀。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

這次分享主要包括三個部分:

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

第一部分:基本理論、模型和算法

貝葉斯方法基礎 正則化貝葉斯推理和案例

第二部分:可擴充的貝葉斯方法

線上學習 分布式mcmc

第三部分:深度生成模型

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

貝葉斯方法概念是比較簡單的,一般情況下我們做貝葉斯推理,用了一個核心的工具叫貝葉斯定理或者貝葉斯準則,實際上寫出來就是這麼一個簡單的公式,大家學機率基本上都學過這個。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

公式裡有幾個基本的對象,我們用θ描述模型的參數,這個模型可以是神經網絡、線性模型、或者svm,參數都用θ來描述;大d是我們的訓練集;π(θ)是先驗分布,是我們看到資料之前對模型本身分布的描述;p(d|θ)是似然函數,給定一個模型θ的情況下描述這個資料的似然;我們的目标是想獲得這個後驗分布,是看到資料之後我們再重新看模型本身的分布情況。這是1763年當時貝葉斯生前沒有發表的文章裡面,最早闡述了這個公式,最後正式發表了。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

首先,預測問題。我們用大m來描述model

class,比如線性模型、非線性模型,model

class裡面有多個具體的模型,我們還是用參數θ表示。對新來的樣本做一個預測,比如算它的似然,這樣可以用前邊推出來的後驗分布來做一個積分。這個是給定模型下樣本的似然,這是所有可能模型的分布。本質上是做了一個平均,這個思想實際上跟周老師的內建學習的思想是比較相近的,我們也是對很多種模型做了一個權重的平均,隻是說在這個地方模型可能有無限多個,我們是用機率分布來去描述它。

這個似然函數通常假設在給定模型參數的情況下,測試資料與訓練資料是獨立的,這就是我們通常說的獨立同分布的假設。

除了做預測,我們還可以做不同模型的比較、模型的選擇。比如說我們要做分類問題,到底是要選線性的模型還是深度學習的非線性模型,這是在做模型選擇的問題。這個問題可以描述成這樣:我們用m1表示一個model

class,可能是一個線性模型,我們用m2表示另外一個model

class,是非線性模型,我們在同樣資料集d的情況下,我們可以去比較這兩個量哪個大,這個量是描述的在m1下我們觀察到訓練集的一個似然,另外一個是在m2的情況下觀察的資料集似然,可以通過這個比較看我應該選擇哪一種模型,這是一個用貝葉斯方法做模型選擇的一個基本的規則。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

做貝葉斯的人會告訴你很多的理由,我們後邊從例子裡邊也會看到一些答案。這裡給大家簡單講一個,機率論的結果告訴我們實際上在很多情況下對資料的模組化是存在這種貝葉斯的模型來刻畫的。這有一個基本性質叫infinite

exchangeability,假如你資料有n個樣本,如果将它們任意交換順序,這些資料的聯合分布不變化,也即是我們通常說的和序列無關,那麼它的聯合分布可以寫成貝葉斯的形式---存在一個模型和對應的分布,你通過積分的形式可以刻畫整個分布。如果用圖示畫一下,在給定這個模型的情況下,資料是完全獨立的,我們叫條件獨立性,這是機率圖模型裡的一個非常重要的概念。

稍微提一點,可交換性比前面講的獨立同分布更廣泛一點,可交換的資料可以不是獨立同分布的。另外,這個定理隻告訴你存在,但是後面的問題是我們不知道具體的模型應該是什麼樣的,比如說是線性模型、非線性模型,用什麼樣的模型去刻畫,這是統計模組化要解決的問題。

在貝葉斯裡有兩個流派,一個是客觀貝葉斯,另一個是主觀貝葉斯。所謂客觀貝葉斯,就是希望能夠把先驗的影響盡量弱化,是以會研究一些noninformative

priors,就是你用貝葉斯的結果像用統計的方法得到結果一樣,有一些統計性質。而主觀貝葉斯,實際上是更希望利用貝葉斯架構的靈活性,因為貝葉斯架構給了你一個先驗的分布,你可以在先驗上做文章,我們後邊也會有些例子來講怎麼去利用先驗提供的靈活性,來做具體的學習任務或者解決問題。用主觀貝葉斯的好處之一是,當你的資料足夠多的時候,可以通過先驗引入一些知識來幫助你學習,這個尤其在交叉學科裡,比如用貝葉斯方法做認知或者神經科學,是大家比較喜歡用的方法。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

當然還有另外一些具體的技術,我可以相信這個prior,但是我盡量弱化prior裡邊參數的影響,這裡面有一種技術叫“層次的prior”。有一個基本的假設,這個π裡面的參數叫超參數,它離我這個産生資料的模型越遠的話影響就越弱,實際上利用這種基本假設,就可以建構多層的prior。

從這裡面可以看到,貝葉斯本身就是一個多層的,和深度學習的多層表示本質是一樣的,隻不過這裡邊完全用機率的方式來刻畫。當然還有一些近似的方法,做一些empirical

prior,通過資料估計出來。好處是計算相對比較簡單,不好的地方是多次用訓練資料,會得到一些過拟合的問題。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

我們前面已經看到,不管是在最基本的貝葉斯運算或者是在多層先驗裡面都會反複用到積分運算,這是在用貝葉斯方法時面臨的最讨厭的事情,因為這裡的積分不像我們學微積分時的那種一進制或者二進制簡單的積分運算,這裡的積分可能是非常高維的積分。假設我們用一個線性模型,當特征100維時,我這個就是100維的積分,如果更高維的,比如說上千、上萬維,這個積分相應更高維。這裡面有很重要的計算問題,我怎麼用數值的方法來算這個積分。這是在這種不确定性或者機率推理裡邊要解決的主要目标。

我用一頁ppt簡單給大家介紹了一下。因為積分非常難算,是以通常情況下會用一些近似,尤其是在機器學習裡面,大家用的貝葉斯方法通常是一個近似的貝葉斯推理。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

這裡面我列舉了幾個比較常用的經典近似貝葉斯推理的方法。

首先第一種,變分的方法。變分的基本原理是把一個要解的問題,通過引入一個變量變成一個優化的問題。這樣做的好處是,你可以在優化問題中引入一些限制,讓問題簡化,以達到快速求解的過程;但是也會帶來壞處,如果你的限制比較嚴格的話,近似的程度就會變差。

下面一種是非常通用而且理論上精确的方法,它是基于随機模拟的,我們叫mcmc的方法,它是通過構造一個随機過程來逐漸逼近你要的分布,通過這個随機過程不斷的采樣,達到刻畫目标分布的結果。現在面臨的挑戰是:1)當資料比較多的時候,怎麼去做這個計算;2)在高維空間裡面怎麼去做随機的模拟;3)當我們的模型變得複雜的時候,比如最後會給大家講的深度産生式模型裡邊有多層的隐含變量,像深度學習一樣,這種模型下我怎麼還去做mcmc。這些挑戰同樣存在于變分近似方法裡面,現在仍然是研究的熱點。還有一些相關的,比如像ep或者拉普拉斯近似,基本上可以了解為變分的一種特殊類别。

其實我前面已經給大家簡單講了一些,這個是我們的一個總結,如果想去做貝葉斯機器學習的話,基本面臨着幾個方面的問題。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

第一點,是基本理論上的問題。我前面講的貝葉斯方法概念非常簡單,它的核心是貝葉斯定理。貝葉斯定理已經250多年了,它存在一些自己的局限,我們怎麼從基本資訊處理準則的角度來重新了解它,去做更靈活的推理。

第二點,是關于計算方面的。有了模型、有了推理架構之後我怎麼去做高效的計算、怎麼做高精度的計算。

第三點,對不同場景怎麼去做模組化。将貝葉斯方法應用到不同場景時,你要去了解你的問題,找到合适的模型。

我後面基本上圍繞這三個方面給大家講。第一個方面,給大家提出一種比較新的觀點來看經典的貝葉斯定理,告訴大家怎麼去擴充它的靈活性。第二個是關于scalability,我怎麼算比較快。最後一個,貝葉斯方法和深度學習怎麼結合,既利用深度學習的好處又保持貝葉斯在機率模組化和推理的能力。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

我們先從最基本的概念開始,可能大家學過模式識别或者信号處理,都會接觸過這個概念,叫kl散度,它描述兩個機率分布之間的差異有多大。

首先,我們可以通過優化的方式重新審視貝葉斯推理。對任意一個分布我可以來做這件事情,這個是我們的目标p,我們可以找一個q分布,它是一個well defined的分布,我可以通過最小化它們之間的kl,取最小值的時候兩個是相等的,這是非常簡單的道理。

我們可以把這個基本過程用到貝葉斯定理裡。貝葉斯推理的目标是找到這個後驗分布,将它代入這個目标函數裡,現在q是我假設的分布。這樣,我們得到了一個優化的問題。這是我們原來的貝葉斯定理,如果這個目标函數等于0的話,實際上q等于我們想要的p(c/d)的後驗分布。目标函數的第一項是限制我們的後驗分布不能離先驗分布太遠,後面一項實際上是描述了對資料集的拟合程度。

這樣的話,我們獲得了一種新的角度來看貝葉斯推理在幹嗎。有了這種新的了解之後,我們可以做的事情有很多。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

實際上,我們說貝葉斯定理或者貝葉斯推理是資訊處理的一種準則。在資訊論裡,我們有一個通道,有輸入和輸出。在做貝葉斯推理時,我們的輸入是一個先驗分布和一個似然函數,輸出是一個後驗分布。有了這種觀點之後,我們可以做很多擴充。大家可以想,我的輸入、輸出可以保持不變,但我可以替換資訊處理的準則。我可以把這裡邊資訊處理的準則拿掉,做的比經典貝葉斯更加普适。

這種基于優化的解釋,實際上在上世紀80年代就有統計學家提出過,e.t.

jaynes是比較有名的統計學家,對我們前面講的優化解釋做了一些comments,它給經典的貝葉斯提供了一個新穎(fresh)的解釋,可以讓貝葉斯方法更廣泛被應用,而且可以激發(stimulate)新的發展。我們在2010年左右重新審視了這個思路,并依此為基礎又發展了一些更普适的貝葉斯推理準則,後面我會介紹。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

上述優化的觀點可以啟發我們把貝葉斯方法和基于風險最小化(risk-minimization)的機器學習架構有機結合。機器學習深入研究過risk-minimization以及相關的優化工具,在我們的架構下可以融合貝葉斯推理,得到一個更靈活的資訊處理準則。

在機器學習和模式識别裡,大家比較熟悉的是這個損失函數優化問題。比如說,我要做分類,我要訓練神經網絡,第一項是一個損失函數,它度量了在訓練集的錯誤率;第二項是我們想加的正則化項,目的是保護這個模型避免過拟合、避免發散,這是一個基本架構。這些東西在機器學習裡基本上和貝葉斯是不搭邊的,不會和貝葉斯放在一起來讨論。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

還有一些,比如現在又引起大家很多關注的增強學習/線上學習,它的目标是優化regret/reward,也有一個目标函數來度量。那麼,一個問題是這些傳統的方法能不能與貝葉斯有機融合?

先給大家看一個簡單的例子,是線性的svm,它的目的是想找一個線性平面把不同類别區分開。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

我們說有一個叫貝葉斯的svm。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

我們可以先簡單的把貝葉斯的思路套到svm上來看發生了什麼事。傳統的svm是找一個決策面,按照一定的最優準則來找。貝葉斯的思想是:我們可以有無窮多個決策面,但是每個決策面有一定的機率。考慮這個簡單例子,設有有限多個可能決策面,如果随機采樣的話,比如你采樣100次,這個藍色的線可能會出現30次,這個綠色的線可能出現5次,這個線可能出現15次。這裡邊畫的幾條線,都可以把這幾個樣本分開。

假設這個分布是已經知道的,我們怎麼做分類判别。根據不同的判别準則,得到損失函數是不一樣的。比如:我現在來了這些打問号的測試樣本,我想問,那這些測試樣本到底屬于哪個類别?

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

因為這裡面決策面是不确定的,我們可以有兩種政策來做判别。

一種是模型平均:先對這種模型做平均,在做判别。比如,我們可以取這個分布的均值,對應于這個紅色的面(下圖中顔色較深的線),我可以用這個紅色平面來做判别,這是一種思路。它對應的損失函數就可以像經典的svm一樣計算,因為取得平均之後就是一個決策面了,和我們傳統的問題一樣。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

還有一種模型叫随機模型,它實際上是這麼做的:新來了一個測試樣本,我從後驗分布裡面随機采樣一個模型,比如對這個測試樣本我随機采樣是這個紅色的線(下圖中顔色較深的線),然後用它來做判别。另外一個樣本來了之後,我再随機采樣一次,可能采集的是這個。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

下邊再來一個樣本,我再采樣一次,可能得到和第一次采樣一樣的決策面,然後用它來判别。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

因為分類平面是随機的,是以我還要去度量它的一個損失函數。是以,我們可以先假設這個分類面是固定的,做一個判别;然後對損失函數求期望。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

放在一起來看一下。我們第一種政策是平均模型,第二個是随機模型,這兩個在理論上有一些關系,這裡我不細說了。我們有了這個loss函數之後,就可以直接進行優化,這是從貝葉斯的角度做svm的方法。。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

有了上述問題之後,怎麼去求解?對于第一種平均模型,可以通過用凸優化的思路來求解。當模型是線性的,如果先驗是高斯,你的後驗分布還是一個高斯。這實際上退化到傳統的svm。你還可以拓展,利用核方法來拓展非線性的模型,這都是可以的。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

對于第二種,給定先驗,可以求出一般解。這裡有一個問題,這個後驗分布通常沒有一個解析形式,是以大家研究怎麼去做推理。這有一個比較好的方法,大家感興趣可以去看,用了統計裡經常用的資料增廣(data augmentation)。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

它(資料增廣)的基本過程:原來這個分布不太好做,引入一個額外變量過來。它的條件是說,保證邊緣分布還是原來的分布。在這個聯合分布下你可以做吉布斯采樣,每一步都很簡單,比如:第一步可能是高斯,第二步也是某種标準分布。這樣可以不斷疊代進行采樣。具體細節,大家可以看polson&scott有一篇文章。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法
清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

這種貝葉斯的觀點可以帶來一些額外的好處。跟深度學習中表示學習的思想一緻,在貝葉斯svm裡,我們可以考慮隐含變量,也可以加很多層的隐含變量,來學這些隐變量的分布。在神經網絡裡可能學具體的取值,在機率模型裡學分布,這是它們的一個差别。這裡有一個典型的例子,叫主題模型,在文本分析裡面用的比較多。

這是一個主題模型描述文本生成的一個過程。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

它的基本假設是文檔是有若幹主題刻畫的。假設這裡有2個主題,大家從keyword裡能看出來相應的語義,比如:第一個是關于圖像,另一個是關于電力相關的東西。在第一個文檔裡,我用顔色區分相應的主題,比如說這裡面的單詞以0.8的機率從第一個主題生成,相應的,

0.2的機率從另一個主題生成。對于第二個文檔,混合分布是(0.3、0.7)。整個過程可以描述成一個非常經典的層次貝葉斯方法。

這是它的圖模型,w是觀察到的文本裡面的單詞,每個單詞對應一個topic assignment。下面有一個混合機率,上面有一個先驗,這邊是我們要學的topic。它定義了這個聯合分布。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

lda非常經典,2003年的一篇論文可能引了近2萬次,表明它在很多地方用。它有一個好處是可以代到很多複雜的模型裡面。後期的工作基本上可以總結成有大概三個方面。一個是先驗,比如我要考慮主題之間的相關性,可以用非共轭的logistic-normal先驗分布。還可以做時間序列資料的分析,或者關系網絡資料的分析等。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

這裡給大家簡單看一個例子,如何将貝葉斯svm用于主題模型。我們可以用同樣的原理,在主題模型上定義貝葉斯svm分類器,通過最優化目标函數,實作兩種功能:1)學習隐含主題;2)學習分類器。在定義分類器時,我們采用如前所述的兩種政策——平均模型和随機模型,分别會得到相應的模型。這是一些真實資料上的測試結果,能夠展現這種方法的有效性。

清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論、模型和算法

下面有一些特定的分析,可能有人會問,做後驗限制和在先驗上加限制會有什麼差别?我現在告訴大家,在先驗上做的限制都可以在後驗上做,是我們的一個特例。另外,我們在後驗上做限制可以更靈活,也就是,有些後驗分布在經典的方法得不到。

這是一個直覺的解釋。大家做貝葉斯方法,可以有各種的參數化、無參數化的貝葉斯模型,都是在這個平面裡做的。我們做的事情實際上是增加了一個次元,它和之前的兩個次元是獨立的,是以,可以在這上面做很多事情。首先,可以把經典的模型做到最大間隔學習,得到新的模型。其次,我們也可以把知識資訊引入貝葉斯推理中。是以,我們可以形成一個有機的架構,包括知識、學習/推理、以及最下邊的統計模組化。

這是第一部分,我想和大家分享的是:我們做貝葉斯方法,現在已經不局限在經典的貝葉斯架構,實際上有一些新的發展。

更多雷鋒網文章:

<a href="http://www.leiphone.com/news/201703/4kfmurm5nxrsrwxf.html">國産阿爾法狗"絕藝"晉升十段,騰訊ai在下一盤大棋?</a>

<a href="http://www.leiphone.com/news/201703/lqppr0xnhnpv2trz.html">百度首席科學家吳恩達:大腦能在一秒内完成的任何工作,都會被ai取代</a>

本文作者:亞萌

繼續閱讀