當前位置:
首頁 > 知識 > 變分自編碼器VAE面臨的挑戰與發展方向

變分自編碼器VAE面臨的挑戰與發展方向

變分自編碼器(VAE)與生成對抗網路(GAN)一樣,是無監督學習最具前景的方法之一。本文中,牛津大學統計系在讀博士 Adam Kosiorek 從原理上向我們介紹了 VAE 目前面臨的挑戰。同時,文中也提出了對於該方法的幾種改進方向。

隱變數模型

假設你希望通過一個定義在 x∈RD 上的概率分布來對整個世界建模,其中 p(x)表示 x 可能處於的狀態。這個世界可能非常複雜,我們無法知道 p(x)的具體形式。為了解決這個問題,我們引入另一個變數 z∈Rd 來描述 x 的背景信息。例如 x 是一個圖像,那麼 z 就可以記錄關於圖像中可見物體的出現、數量、類型,以及畫面的背景和光影條件的信息。這個新的變數使得我們可以將 p(x)表示為一個無限混合模型。

這是一個混合模型,因為對於 z 的任意可能取值,都引入另一個條件分布,並通過 z 的概率進行加權,最終得到 p(x)。

在這樣的設定下,「給定 x 的觀測值,隱變數 z 是什麼」就成了一個非常有趣的問題。也就是說,我們希望知道後驗分布 p(z∣x)。但是,z 和 x 之間可以呈現高度的非線性關係(比如,由一個多層神經網路實現),而且,D——我們觀測值的維度,和 d——隱變數的維度,也可能非常大。由於邊緣分布和後驗分布都需要對(1)式積分求值,我們認為它們都是無法計算的。

我們可以通過蒙特卡羅抽樣,根據

來估計(1)式,但由於 z 的空間可能非常大,我們可能需要上百萬個 z 的樣本,來得到一個可靠的估計。

在訓練一個概率模型的時候,我們可以使用參數分布 - 它的參數由一個參數為θ∈Θ的神經網路來確定。現在,我們就可以使用極大似然估計來學習得到這些參數。

這裡的問題是,我們無法最大化(1)式,因為我們無法估計它。為了解決這個問題,我們可以求助於重要抽樣(importance sampling)。當我們需要對原始(名義分布)概率密度分布(pdf)估算一個期望值時,IS 使得我們可以從另一個不同的概率分布(建議分布)中抽樣,然後將這些樣本對名義分布求期望。用 q?(z∣x) 表示我們的建議分布 - 其中的參數由參數為 ?∈Φ的神經網路確定。我們可以得到:

根據重要性抽樣的文獻可知,最優的建議分布,與名義分布乘以某個函數成比例,其中這個函數的期望是我們希望估計的。在我們的設定下,「某個函數」就是 p(x|z)。根據貝葉斯定理,p(z∣x)=p(x∣z)p(z)/p(x),我們可以看到,最優建議分布與後驗分布成比例,顯然,後驗分布無法求解。

變分自編碼器的誕生

幸運的是,事實上我們可以一箭雙鵰:通過一個學習到的建議分布來近似估計後驗分布,我們可以有效的得到邊緣分布 pθ(x) 的估計。在這裡,我們無意間得到了一個自編碼的設定。為了學習我們的模型,我們需要:

pθ(x,z) - 生成模型,其中包含:

pθ(x∣z) - 一個概率形式的解碼器,以及

p(z) - 一個定義在隱變數上的先驗分布

q?(z∣x) - 一個概率形式的編碼器

為了近似估計後驗分布,我們可以利用建議分布和後驗分布之間的 KL 散度(可以理解為兩個概率分布之間的距離),而且我們可以最小化這個結果。

這個時候,我們面臨的新問題就是:為了計算 KL 散度,我們需要知道後驗分布。並非沒有可能,只要利用一點點代數運算,我們就能得到可以計算的目標函數。

我在第二行展開了對數項,在第三行使用了貝葉斯定理以及 pθ(x) 和 z 是獨立的事實。最後一行中的 L(x;θ,?) 是對數概率分布 pθ(x) 的下界 - 即通常所說的證據下界(ELBO)。我們通過整理可以得到:

只需要一個從建議分布中抽得的樣本,我們就可以得到近似估計:

我們通過尋找最大化 ELBO 的?和θ(通常使用隨機梯度下降)來訓練模型:

通過最大化 ELBO,我們或(1)最大化邊緣分布,或(2)最小化 KL 散度,或同時完成。需要注意,ELBO 的近似估計是 f(x)=1、重要性權重為 w(x)=pθ(x,z)q?(z∣x) 的重要性抽樣的期望的對數形式。

這個估計量有什麼問題?

如果你足夠仔細的看重要性抽樣,就能發現,對建議分布的支撐應該比對名義分布的支撐更廣泛——應該同時避免估計量方差無限大和數值的不穩定性。在這裡,最好是來優化 KL(p∣∣q) 的倒數——因為它有模式平均性質,而不是優化 KL(q∣∣p),來試圖通過模式 q 去匹配找到一個最好的模式 p。這意味著我們需要從真實的後驗分布中進行抽樣,而這是很困難的。作為替代,我們可以使用 ELBO 的 IS 估計,作為重要性加權自編碼器(IWAE)。這裡的想法很簡單:我們從建議分布中抽取 k 個樣本,並從中計算出平均概率比,這裡的每一個樣本也叫「粒子」。

已經證明,這個估計量是在優化修正後的 KL 散度 KL(qIS∣∣pIS),其中 qIS 和 pIS 的定義分別是:

儘管和原始分布看似接近,但 qIS 和 pIS 允許 q 和 p 中存在預想以外的小的變動。原始論文中證明,優化這個下界可以得到更好的生成模型。同時它也給出了一個近似後驗分布 q 的熵更大的估計(更寬,更離散),並成功的超越了原始 KL 散度的模式匹配方法。還有一個有趣的結果,如果我們令粒子 K 的數量趨於無窮,我們就可以不需要推斷模型 q。

IWAE(第一行)和 VAE(第二行)中 z 的後驗分布。圖像從 IWAE 論文中復現得到。

IWAE 有什麼問題?

重要性加權 ELBO,或 IWAE,推廣了原始的 ELBO:對於 K=1,我們有 LK=L1=L。同時有 logp(x)≥Ln+1≥Ln≥L1。換言之,我們用來估計 LK 的粒子越多,它的結果就會越接近數據真實對數概率分布——即「界限越緊」。這意味著和原始 ELBO 的梯度相比,通過對 IWAE 求微分得到的梯度估計量可以幫助我們找到一個更好的梯度方向。除此之外,隨著 K 的增加,梯度估計量的方差會相應收縮。

對於生成模型這些點非常好,但面對建議分布的時候,就會出現問題。隨著 K 的增大,建議分布中參數的梯度的大小會趨於 0,而且比方差收斂得還要快。

令Δ(?) 表示我們優化的目標函數(即 ELBO)在?上的梯度的小批量估計。如果定義參數更新的信號-雜訊比(SNR)如下:

其中 E 和 V 分別表示期望和方差。可以看出對於 pθ,SNR 隨著 K 增加而增加,但對於 q?,SNR 隨著 K 增加而減小。這裡的結論很簡單:我們使用的粒子越多,我們的推斷模型效果就會越差。如果我們關心的是表示學習,我們就會遇到問題了。

更好的估計量

正如我們在最近的論文《Tighter Variational Bounds are Not Necessarily Better》中證明的,我們可以得到比 IWAE 更好的結果。思路是在推斷和生成模型中使用不同的目標,通過這種方法,我們可以保證兩個目標中都得到小方差非零梯度,最終得到更好的模型。

不同的訓練目標在訓練時期中信號-雜訊比

在上圖中,我們比較了建議分布 q?的參數?z 在更新中的 SNR。SNR 最高的 VAE 通過最優化 L1 來訓練。SNR 最低的 IWAE 則通過最優化 L64。中間的三條曲線使用的是不同的組合:生成模型中使用的 L64,推斷模型中使用的則是 L8 或 L1。在當前指標下,它們效果雖然沒有 VAE 好,但訓練出的建議分布和生成模型都比使用 VAE 或 IWAE 得到的好。

這裡有一個令人驚訝的副作用:使用我們新的估計量訓練的模型比使用 IWAE 本身訓練的模型達到了更高的 L64 界限。為什麼會這樣?通過研究有效樣本量(ESS)和數據的邊緣概率分布的對數,似乎是最優化 L1,導致了性質最好的建議分布但是性質最差的生成模型。如果我們將一個好的建議分布和一個可以得出好的生成模型的目標結合在一起,我們應該可以得到這個目標的一個方差更小的估計,甚至因此可以得到更好的模型。請在這裡查看我們論文的詳情。

論文:Tighter Variational Bounds are Not Necessarily Better

論文地址:https://arxiv.org/abs/1802.04537

摘要:我們同時在理論和經驗上證明,使用更緊的信息下界(ELBO)可能並不利於通過減少梯度估計量的信號-雜訊比來學習推斷網路的過程。我們的結果對目前廣為應用的暗含假設:「更緊的 ELBO 是聯立模型學習和推斷攤銷模式中更合適的變分目標」提出了質疑。根據我們的研究,我們提出了三個新的演算法:偏重要性加權自編碼器(PIWAE)、多層重要性加權自編碼器(MIWAE)以及聯合重要性加權自編碼器(CIWAE);在這三個演算法中,標準的重要性自編碼器(IWAE)都可以作為一個特殊情況。我們證明了這三個自編碼器都可以在 IWAE 的基礎上取得效果提升——即使我們使用的是 IWAE 中的目標來測試效果。進一步來說,和 IWAE 相比,PIWAE 可以同時提升推斷網路和生成網路的效果。

原文鏈接:http://akosiorek.github.io/ml/2018/03/14/what_is_wrong_with_vaes.html


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

機器學習助力醫療,通過數據分析發現近6000種新病毒
彩雲科技提出結合組合子抽象的神經編程器-解釋器,提升通用性和可學習性

TAG:機器之心 |