貝葉斯方法與深度學習的結合及應用(2)

摘要
貝葉斯方法是解決資料稀疏、資料樣本帶有噪音等問題的有效方法,與圖論的結合又衍生出具有可解釋性的貝葉斯網路,在醫療、生物、系統可靠性和金融等領域都有著廣泛的應用。近年來,也有越來越多的研究開始將貝葉斯方法應用到深度學習中,如文獻[1]提出了用以貝葉斯方法為基礎的機率圖與深度神經網路構建具有視覺和任務兩個功能模組的系統。有關這方面的更多資訊可以參考往期文章機率圖模型在深度學習的應用
繼上篇文章貝葉斯方法與深度學習的結合及應用(1)KDD2020的一篇最新研究工作“A framework for recommending accurate and diverse items using Bayesian graph convolutional neural networks“[2]的研究分析之後,在本篇文章中,我們將結合自己對前沿不確定性與深度學習結合技術的理解,對文[2]中使用的貝葉斯方法進行了更多的深度思考。例如,將文[2]中的貝葉斯方法與主流深度不確定性技術(如MC dropout, ensembling learning)從結果不確定性、計算需求等方面進行了剖析。大量計算是現在深度學習普遍遇到的一個難題,更是貝葉斯方法從理論走向廣泛應用的一個技術瓶頸,本文也從並行化計算方面對文[2]進行了深入研究。
概述
論文[2]將最新的圖神經網路應用於推薦系統,並將貝葉斯方法分別從模型引數和網路結構兩個方面進行了有機整合。
一方面,在模型訓練過程中,引入了模型引數先驗分佈,透過求得模型引數的最大後驗估計完成模型訓練。與完全依賴於資料的最大似然估計不同的是,最大後驗估計依賴於先驗分佈,因此先驗機率的選擇也是至關重要。論文[2]選擇了高斯分佈作為模型引數的先驗分佈,這是資料分析中常見的選擇。
另一方面,貝葉斯方法也用於推薦系統的圖神經網路訓練的改進。因為有限的資料很可能沒有囊括使用者在訓練資料之外的互動行為,從給定訓練資料衍生出的使用者-物品互動結構Gobs並不能反映使用者的所有互動資訊,所以僅基於單一觀察到的圖Gobs的推薦系統往往會忽略潛在的物品偏好和意圖。針對該問題,作者提出了根據使用者之間在歷史資料中的相似行為推薦其他使用者的偏好物品,從而獲得使用者潛在的物品傾向和意圖,這是推薦系統常規的解決思路。在實際應用中,現有的貝葉斯圖神經網路是否適用與圖結構息息相關,而這又是由具體應用所決定。文[2]的創新之處在於巧妙地藉助了node-copy[6]機制提出了一種更通用的生成模型,非常適用於推薦系統應用。其基本思路:根據已知圖Gobs,按照合適的機率分佈使用node-copy機制取樣得到一系列生成圖G,使得生成圖G中儘可能包含了比Gobs更多樣性的物品互動,這也是圖取樣的主要目的。
基於不確定性的訓練方法
在實現圖神經網路生成模型的方法上,作者提出了直接和間接兩種方法:(1) 根據圖Gobs同時訓練得到NG個取樣圖G,最終預測結果由所有訓練得到的取樣圖共同決定;(2) 按照方法(1)進行圖取樣,但取樣圖並不用於學習一組模型,而是用於重新定義目標函式,並以此來訓練單一模型。下面分別對這兩種設計方法進行詳細敘述。
直接方法
推薦系統的主要任務是給定訓練資料中的使用者-物品排序用於確定測試資料中的物品排序。訓練資料中的互動資訊可由圖Gobs完全捕捉,但為了能更好地捕捉未曾在Gobs中出現的互動資訊,作者提出根據使用者之間的相似性進行取樣得到新的互動圖G。給定測試資料,所有使用者的物品排序任務轉換為對取樣圖G和模型引數的函式求積分,並可按照模型引數和取樣圖的順序由內至外進行積分計算,如下式:
後,採用蒙特卡洛估計上述積分,預測結果轉化為對NG個取樣圖預測結果的均值計算,如下式所示。其中,公式右邊的模型引數是圖Gl採用SGD訓練後的最大後驗估計,其取值依賴於各自的圖結構Gl。顯而易見,這種多個模型同時訓練的方法對計算需求提出了一個非常大的挑戰。
模型訓練涉及目標函式定義以及基於目標函式的模型引數最佳化兩個步驟。直接方法可簡單地看成是對最佳化後的NG個模型引數的粗暴聚合,更嚴格地來說,是對基於最大似然估計的模型預測結果的均值計算,但這並不是最明智的選擇。鑑於此,作者另闢蹊徑,從目標函式尋得另一個更經濟實惠的訓練方法。作為目標函式的基本組成項xuij,與其只考慮單個圖中的互動資訊,作者將考慮範圍擴充套件到NG個生成圖,並以平均聚合的方式綜合所有互動資訊。這種新的方法並沒有直接運用貝葉斯方法,可稱之為間接方法
間接方法
如前述,在直接方法中,其潛在的思想是使用者有些潛在偏好可能被單一模型所忽略,因此採用同時訓練多個模型並對所有模型的物品排序結果求均值,這是常規的貝葉斯深度學習方法。論文[2]創新性地提出以單一模型取代一組模型的訓練方法,避免了可能存在的過擬合問題。先以基於ground-truth的圖Gobs與直接方法相同的方式得到取樣圖G。在這一步,取樣的實質是為了獲得使用者潛在的物品偏好,具體反應在變數xuij中,表示使用者在物品i和j中偏向i。在直接方法中,xuij的計算是基於單個取樣圖而言,而間接方法中對所有采樣圖的使用者偏好進行了均值聚合。具體表示為如下式:
在訓練過程中,間接方法只需要對基於上式的目標函式進行最佳化,當然也是需要先給模型引數賦予先驗分佈。值得注意的是,上式只應用於單一模型,而不是一組模型。
直接方法與間接方法的異同點可總結為表1。
表1: 直接方法 vs 間接方法
取樣圖G個數
平行計算
訓練模型
直接方法
NG
支援
NG
間接方法
NG
支援
1
如表1所示,間接方法的主要優勢是將模型訓練個數從NG降到了1,文[2]的實驗部分也是按照這種方法進行設計。
圖神經網路的並行化
推薦系統規模巨大,並行化是提高系統性能必不可少的環節。針對圖神經網路結構,也可以從兩個方面來實現系統的並行化。
首先,上述的直接和間接方法都包含了一個非常重要的步驟:給定圖Gobs,按照一定機率分佈生成新的圖神經網路。在這裡,作者採用了常見的IID(Independently identically distributed)假設,即使用者A、B、C兩兩之間的物品互動相似性是相互獨立的,因此每個使用者的取樣也可以單獨分開進行,具體表現在下式,是實現並行化的第一個著手點。

其次,從更宏觀層面來說,每個圖的取樣過程以及後續圖中節點嵌入(embedding)表示的更新都是相互獨立的,因此也可以平行計算,如圖1所示。
圖1:取樣圖的並行訓練
最後,可以將上述兩個步驟整合為序列的平行計算:先用一個平行計算完成圖取樣,然後再用另一個平行計算完成後續的圖更新操作。這兩個步驟雖然不能顛倒順序,但是圖取樣與模型訓練在不同的batch上是不交集的,因此可以在batch層面實現並行。圍繞此思想,文[2]設計了多執行緒並行圖取樣和網路訓練的方法。這種多層次的平行計算無疑將充分利用越來越普及的高效能計算的硬體裝置,有望大大提高模型訓練效率。隨著越來越複雜的深度模型(如Switch Transformer)的出現,這種並行設計思想是非常值得借鑑。
擴充套件思考
論文[2]是貝葉斯方法在推薦系統的最新應用,在模型訓練方面提出了直接和間接兩種不同的思路。
從本質上來說,直接方法是貝葉斯神經網路的一個典型應用案例,創新在於是將之用於最新的圖神經網路結構,充分利用了圖結構來挖掘使用者之間的潛在關係。其實,這也是學術界用來解決模型不確定性常用的方法,其思想與整合學習(ensemble learning)非常相似。主要區別在於,整合學習在進行多個模型訓練時,事先對訓練資料進行重排(shuffle)。雖然整合學習的設計思想簡單、易於理解,但其在深度學習上的效能往往能超出其他更復雜的模型[8]。這自然引出了一個問題,如果在該系統中採用整合學習,其效果如何?與直接方法相比,其在效能上的差異又如何?
文[2]也創新性地提出了基於單一模型訓練的間接方法,其主要思想與廣泛應用於貝葉斯神經網路的MC dropout[7]方法不謀而合。傳統的dropout是在訓練過程中隨機地“關掉”每層中的神經元,從而訓練得到一組模型。而在MC dropout方法中,這種隨機的“開關“操作可以看成是深度高斯程序的貝葉斯近似。在給定模型輸入同樣的測試資料的情況下,每次執行的模型都需要先按照一定的方法進行取樣,從而得到不同的預測結果,而這種預測結果支援平行計算。從這些預測結果的均值可作為最終的預測結果及其方差作為結果不確定性的估計。如果將間接方法與主流的MC dropout方法進行比較,各自的優劣勢體現如何?
與現有的確定性方法相比,文[2]中的直接方法能生成多個預測結果,可用於不確定性估計,不確定性估計能更好地捕捉預測結果的取值範圍,提供了更廣的選擇空間,可以廣泛應用於如醫療診斷、自動駕駛等高風險領域、主動學習(Active Learning)中的不確定性估計、少樣本學習[3]、強化學習[4]、訓練資料分佈之外檢測等,而基於結果不確定性估計是目前不確定性研究的主流方向之一[5],並被廣泛應用於計算機視覺、化學等。這又引出了一個值得思考的問題,文[2]是否也可以在不增加現有計算量的前提下也產生不確定性結果呢?這也可能為貝葉斯圖神經網路在自動駕駛等領域的應用提供非常寶貴的參考價值。
推薦系統是現在機器學習在工業界得到成功應用的一個典型案例,而大規模訓練和推理是實際應用中經常遇到的問題。雖然文[2]在工業界資料集上進行模型評估,與實際應用的資料規模仍然不在同一級別。如何有效實現大規模的貝葉斯圖網路訓練、推理是模型走出實驗室的關鍵因素之一,尤其是在計算資源非常有限的邊緣裝置,更是對推理模型計算效率提出了更高的要求。
總結
本文深入分析了基於圖卷積神經網路推薦系統中貝葉斯方法的創新運用,重點剖析了文[2]中兩種基於使用者-物品互動不確定性的的圖神經網路訓練方法。我們還比較了這兩種方法與MC dropout和整合學習等方法的異同,並在擴充套件部分進行了詳細討論。
由於水平有限,文中存在不足的地方,請各位讀者批評指正,也歡迎大家參與我們的討論。
參考文獻
[1]Wang,Hao, and Dit-Yan Yeung. "A survey on Bayesian deep learning." ACM Computing Surveys,2020.
[2]Sun,Jianing, et al. "A framework for recommending accurate anddiverse items using Bayesian graph convolutional neural networks.",SIGKDD, 2020.
[3]Du,Chao, et al. "Exploration in online advertising systems withdeep uncertainty-aware learning." arXiv preprint, 2020.
[4]Blundell,Charles, et al. "Weight uncertainty in neural networks." arXiv preprint, 2015.
[5]Kendall, Alex,and Yarin Gal. "What uncertainties do we need in Bayesian deep learning for computer vision?." Advances in neural informationprocessing systems. 2017.
[6]Pal,Soumyasundar, Florence Regol, and Mark Coates. "Bayesian graph convolutional neural networks using node copying." arXiv preprint, 2019.
[7]Gal,Yarin, and Zoubin Ghahramani. "Dropout as a Bayesian approximation: representing model uncertainty in deep learning."International conference on machine learning. 2016.
[8]Wen,Yeming, Dustin Tran, and Jimmy Ba. "Batch Ensemble: analternative approach to efficient ensemble and lifelong learning."arXiv preprint, 2020.
關於壁仞科技研究院
壁仞科技研究院作為壁仞科技的前沿研究部門,旨在研究新型智慧計算系統的關鍵技術,重點關注新型架構,先進編譯技術和設計方法學,並將逐漸拓展研究方向,探索未來智慧系統的各種可能。壁仞科技研究院秉持開放的原則,將積極投入各類產學研合作並參與開源社群的建設,為相關領域的技術進步做出自己的貢獻。
掃碼關注我們

相關文章