選自arXiv,機器之心編譯。
神經網路目前是最強大的函式近似器,而高斯過程是另一種非常強大的近似方法。DeepMind 剛剛提出了兩篇結合高斯過程與神經網路的研究,這種模型能獲得神經網路訓練上的高效性,與高斯過程在推斷時的靈活性。DeepMind 分別稱這兩種模型為神經過程與條件神經過程,它們通過神經網路學習逼近隨機過程,並能處理監督學習問題。
函式近似是機器學習眾多問題的核心,而過去深度神經網路憑藉其「萬能近似」的屬性在函式近似方面無與倫比。在高階層面,神經網路可以構成黑箱函式近似器,它會學習如何根據大量訓練資料點來引數化單個函式。
除了使用神經網路這種引數化的方法逼近一個函式,我們還可以根據隨機過程執行推斷以進行函式迴歸。隨機過程會從概率的角度選擇目標函式的可能分佈,因而也能通過樣本取樣逼近真實的目標函式,隨機過程在強化學習與超引數搜尋方面比較常用。隨機過程中最常見的例項就是高斯過程(GP),這種模型與神經網路有著互補的屬性:高斯過程不需要昂貴的訓練階段,並且可以直接根據一些觀察值對潛在的真實函式進行推斷,這使得這種方法在測試階段有非常靈活的屬性。
但是高斯過程也有著很多侷限性,首先 GP 在計算上是非常昂貴的。在原始方程中,計算複雜度隨資料點的數量增加成立方地增加,即使在當前最優的近似方法中,那也是成平方地增加。此外,可用的核函式通常在函式形式上受到很大的限制,並且需要額外的優化過程來確定最合適的核函式,其可以看作高斯過程的超引數。
而最近 DeepMind 連發兩篇論文探討結合神經網路與高斯過程的方法,他們首先在論文《Neural Processes》中探討了使用神經網路學習逼近隨機過程的方法,隨後又在論文《Conditional Neural Processes》討論了結合神經網路與高斯過程解決監督學習問題的端到端的方法。
在論文《Neural Processes》中,DeepMind 介紹了基於神經網路的形式化方法,以學習隨機過程的近似,他們將這種方法稱之為神經過程(NP)。NP 能展示 GP 的一些基本屬性,即學習目標函式的一個分佈以逼近真實函式,NP 能根據上下文觀察值估計其預測的不確定性,並將一些工作負載從訓練轉移到測試的過程中,這使得模型擁有更高的靈活性。更重要的是,NP 以高效計算的方式生成預測。給定 n 個上下文點和 m 個目標點,使用已訓練 NP 進行推斷對應著深度網路中的前向傳播過程,它的時間複雜度為 O(n+m) 而不是經典高斯過程所需要的 O((n+m)^3)。此外,模型可以直接通過資料學習隱式的核函式,從而克服很多函式設計上的限制。
在論文《Conditional Neural Processes》中,DeepMind 提出了一族模型,可用於解決監督學習問題,並提供了端到端的訓練方法,其結合了神經網路和類似高斯過程的特徵。DeepMind 稱這族神經網路為條件神經過程(CNP),以表明它們在給定一系列觀察資料時定義函式的條件分佈。CNP 對觀察資料的依賴由一個神經網路引數化,其在輸入的置換排列下保持不變。該架構的測試時間複雜度為 O(n+m),其中 n、m 分別是觀察樣本數和目標數。
論文:Neural Processes
論文地址:arxiv.org/abs/1807.01…摘要:神經網路是一類引數化函式,可以通過梯度下降來高精度地逼近標記資料集。另一方面,高斯過程(GP)是一種概率模型,其定義了可能函式的分佈,並通過概率推理規則和資料來更新。GP 是概率性、資料高效和靈活的,然而它們的計算很昂貴,因而應用受限。我們引入了一類神經隱變數模型,稱為神經過程(NP),其結合了兩者的優點。和 GP 類似,NP 定義了函式的分佈,可以快速適應新的觀察資料,並可以評估預測的不確定性。類似神經網路,NP 在訓練和評估過程中的計算是高效的,並且能學習將先驗概率引入到資料中。我們在一系列學習任務上展示了 NP 的效能,包括迴歸和優化,並和相關文獻的模型進行對比。
圖 1:神經過程模型。(a)神經過程的圖模型。x 和 y 對應著 y = f(x) 的資料,C 和 T 分別是上下文點和目標點的數量,而 z 表示全域性隱變數。此外,灰色背景表示變數是已經觀察到的。(b)為實現神經過程的計算圖。圓圈裡面的變數對應著這(a)中圖模型的變數,方框裡面的變數為 NP 的中間表徵。而沒有框的加粗字母分別表示以下計算模組:h 為編碼器、a 為彙集器(aggregator)、g 為解碼器。在該實現中,h 和 g 分別對應神經網路,而 a 對應均值函式。最後,實線描述了生成過程,而虛線描述了推斷過程。
圖 2:相關模型(a-c)和神經過程(d)的圖模型。灰色陰影表示變數已被觀察。C 代表上下文變數,T 代表目標變數(即給定 C 的預測變數)。
圖 5:在 1-D 目標函式利用神經過程的 Thompson sampling。圖中展示了五次迭代的優化過程。每個預測函式(藍色)通過取樣一個隱變數進行繪製,以上下文點數的增加為條件(黑色圓)。真實函式由一個黑色點線表示。紅色三角形對應取樣 NP 曲線的最小值的下一個評估點。下一次迭代中的紅色圓對應該評估點及其真值,作為 NP 的下一個上下文點。
論文:Conditional Neural Processes
摘要:深度神經網路在函式近似中表現優越,然而通常對每個新函式它們都需要從零開始學習。另一方面,貝葉斯方法,例如高斯過程(GP)利用了先驗知識在測試時快速推理新函式的形狀。不過 GP 的計算很昂貴,並且設計合適的先驗可能很困難。在本文中我們提出了一族神經模型:條件神經過程(CNP),其結合了前述兩者的優點。CNP 由隨機過程例如高斯過程的靈活性所啟發,但其結構是神經網路式的,並通過梯度下降來訓練。CNP 僅觀察了少量訓練資料點之後就可以執行準確的預測,並能擴充套件到複雜函式和大規模資料集上。我們在一系列標準的機器學習任務(包括迴歸、分類和影象補全)上展示了該方法的效能和通用性。
圖 1:條件神經過程。a)資料描述;b)傳統監督深度學習模型的訓練方式;c)本文提出的模型。
4. 實驗結果
圖 2:1-D 迴歸。用 5 個(左列)和 50 個(右列)上下文點(黑點)得到的 1-D 曲線(黑線)迴歸結果。前兩行展示了 GP(紅色)和 CNP(藍色)進行迴歸的預測平均值和方差,它們只使用單個潛在核函式。最後一行展示了用交換核引數得到的 CNP 預測曲線。
圖 3:在 MNIST 上的畫素級影象迴歸。左:不同觀察樣本數下的影象迴歸的兩個示例。研究者向模型提供了 1、40、200 和 728 個上下文點(頂行),並查詢完整的影象。圖中展示了每張影象在每個畫素位置得到的平均值(中行)和方差(底行)。右:隨著觀察樣本數的增加的模型準確率變化,其中兩條曲線分別是隨機(藍色)或按最高方差(紅色)選擇畫素。
圖 4:在 CelebA 上的畫素級影象補全。不同觀察樣本數下的 CelebA 影象迴歸的兩個示例。研究者向模型提供 1、10、100 和 1000 個上下文點(頂行)並查詢完整的影象。圖中展示了每張影象在每個畫素位置得到的平均值(中行)和方差(底行)。
表 1:在 Celeb A 資料集上隨著上下文點的增加(10、100、1000)在影象補全任務上的所有影象畫素的畫素級均方誤差。這些點或者是隨機選擇的,或者是按左下到右上的順序選擇的。在提供更少的上下文點的情況下,CNP 超越了 kNN 和 GP。此外,CNP 在點選擇順序排列的情況下也能表現良好,而 GP 和 kNN 在點順序排列的時候表現變差很多。