原題:Tips for Training Likelihood Models(似然模型的訓練建議)
作者:Eric Jang
譯者:尹肖貽
寫在前面
關于如何訓練直接優(yōu)化似然函數(shù)的生成式模型——例如自回歸模型和標準化流模型捂齐,本文將給讀者提供一些實踐建議冯事。深度產(chǎn)成式建模領域正快速發(fā)展钉汗,我希望能為新手指南依溯,為此本文將介紹不同研究論文中一致使用的基本術語,尤其是在建模更復雜的概率分布(如RGB圖像時)也都通用的術語。
本文將討論數(shù)學形式最簡單的生成式模型(較易處理的密度估計模型),對建模圖像像素的場景毙芜,提供了設計要點(在“馴估學(中)”一文可以找到)。讀完本文后聪轿,你將了解定量地比較似然模型的方法爷肝,它們在比較網(wǎng)絡架構和像素建模方式上有所差異的模型時仍然成立。
散度最小化:產(chǎn)成式建模的一般框架
產(chǎn)成式建模的目標(實際上可以擴展到所有統(tǒng)計機器學習建模)是從一些(可能是條件分布的)概率分布中采樣數(shù)據(jù)并學習一個模型
去近似
。建模允許我們在給定的原始數(shù)據(jù)向外推斷的洞察力灯抛。以下是使用產(chǎn)成式模型的一些用途:
- 從
中采樣數(shù)據(jù)金赦;
- 學習一個隱變量
的層級模型,用以解釋
的現(xiàn)象对嚼;
- 干預數(shù)據(jù)生成的過程夹抗,產(chǎn)生新的分布
(請感興趣的讀者參看這篇文章)。注意纵竖,只有假設條件獨立漠烧,并控制變量后,變量之間真正存在因果關系
的情況下靡砌,干預才會成功已脓;
- 對于某新樣本點
,查詢其是否服從我們的模型通殃,以檢測異常情況度液。
建模條件概率分布具有更廣泛的落地應用,因為我們可以將分類和回歸問題轉寫為學習生成式模型的問題:
- 機器翻譯
- 機器起題名
- 最小化回歸的目標損失
画舌,在數(shù)學上等價于最大化對角線協(xié)方差的高斯分布的log似然估計:
為了使匹配
堕担,我們首先要提出兩種分布之間距離的概念。 在統(tǒng)計學中曲聂,較常見的做法是設計一種較弱的“距離”概念霹购,稱為散度度量【度量或稱“度規(guī)”】。與通常的距離度量不同朋腋,它是不對稱的(
)齐疙。 一旦我們在分布之間有形式化的散度度量,我們就可以嘗試通過優(yōu)化來最小化這個量乍丈。
有很多很多散度的形式化方法剂碴,通常合適的方法將被選做生成式建模算法的目標。這里列舉了其中少數(shù)幾種形式:
- Maximum Mean Discrepancy (MMD)
- Jensen-Shannon Divergence (JSD)
- Kullback-Leibler divergence (KLD)
- Reverse KLD
- Kernelized Stein discrepancy (KSD)
- Bregman Divergence
- Hyv?rinen score
- Chi-Squared Divergence
- Alpha Divergence
與一般的度量函數(shù)不同轻专,兩個分布之間的散度不需要對稱。在無限數(shù)據(jù)和算力下察蹲,所有這些散度都得出相同的答案请垛,即當且僅當
。請注意洽议,這些散度的形式與主觀感知評估指標(如Inception Score 或 Fréchet Inception Distance)不同宗收,后者無法保證在無限數(shù)據(jù)時漸進收斂到相同的結果(如果你關心圖像的視覺質量,作為評價指標時它們是有用的)亚兄。
然而混稽,大多數(shù)實驗的數(shù)據(jù)和算力是有限的,因此度量的選擇很重要。實際上匈勋,不同的度量將會使生成分布學到不同的定性性質礼旅。例如,如果目標密度
是多模態(tài)的洽洁,而模型分布
的表達能力不夠痘系,最小化前向
將收斂到模式覆蓋。與此相對饿自,最小化反向
可能導致模式丟失汰翠。請參閱此文了解詳情。
我們應當在最小化散度的框架下昭雌,思考產(chǎn)生式建模的目標复唤,以恰當?shù)脑瓌t選擇散度的形式,將欲得的性質投射到散度上去烛卧。隱式密度模型(GAN)佛纫,特點是采樣容易,但得不到對數(shù)概率形式唱星■茫基于能量的模型,特點是不能采樣间聊,但可以得到(非歸一化的)對數(shù)概率形式攒盈。
本文將使用最直接的指標:Kullback-Leibler散度(KLD),涵蓋訓練和評估模型哎榴。這些模型包括自回歸模型型豁、標準化流和變分自動編碼器(類似的模型)。優(yōu)化KLD等價于優(yōu)化對數(shù)概率尚蝌,我們將在下一節(jié)中推導出二者等價的原因迎变。
平均對數(shù)概率和壓縮
我們想要建模,通過隨機過程飘言,從這一概率分布生成數(shù)據(jù)衣形。 通常我們假設,從足夠大的數(shù)據(jù)集中采樣姿鸿,與從真實數(shù)據(jù)的生成過程中采樣的情況谆吴,大致相同。例如苛预,從MNIST數(shù)據(jù)集中采樣圖像句狼,等同于從創(chuàng)建MNIST數(shù)據(jù)集的真實手寫過程中繪制樣本。
給定一組測試圖像热某,獨立同分布于
腻菇,其似然模型
的參數(shù)為
胳螟,我們希望最大化下面這個量:
由此可見,平均對數(shù)概率值筹吐,和負交叉熵的蒙特卡洛估計是相等的糖耸,交叉熵發(fā)生在真實似然函數(shù)和模型似然函數(shù)
之間。由于我們無法在實際操作中枚舉所有的
骏令,所以使用了采樣的估計值蔬捷。用大白話說就是,我們把“最大化數(shù)據(jù)似然”榔袋,翻譯為“最小化真實分布與模型分布之間的負交叉熵”周拐。
多做一點代數(shù),負交叉熵可以被KL散度(相對熵)和的絕對熵重寫:
香農(nóng)源編碼定理(1948)告訴我們凰兑,信息熵是傳遞
的樣本時妥粟、構造的無損編碼之中、平均編碼長度的下限吏够。 更大的熵意味著更多的“隨機性”勾给,將是無法被【
或更短長度的編碼】無損壓縮。 需要留意锅知,當我們使用自然對數(shù)
計算熵時播急,將以“自然信息單位”或nats做單位【“natural”的前三個字母】;以
計算熵時售睹,單位是我們熟悉的“bits”桩警。
這一項獨立于
,最大化
實際上只相當于最小化
昌妹。這就是為什么最大似然等價于最小化KL散度的原因捶枢。
KL散度或相對熵,等于編碼方案
為基準飞崖、編碼
數(shù)據(jù)所需消耗的“額外nats”數(shù)量的信息烂叔。 因此,負交叉熵的蒙特卡羅估計
也用nats作單位固歪。
將兩者【相對熵和絕對熵】放在一起【考慮】蒜鸡,交叉熵只不過是基于傳輸的碼本【即編碼規(guī)則】、編碼
的樣本所需的平均編碼長度牢裳。 我們首先必須支付至少
nats這么多的“基本費”(因為它是最短編碼)术瓮,而后再支付額外的“罰款”
nats用來抵付從
到
的任何偏差。
我們可以用一種非撤〗。可解釋的方式比較兩種不同模型的交叉熵:假設模型的平均似然損失
、模型
的平均似然損失
恬汁。二者相減
導致熵項
抵消伶椿,只剩下
【譯者按:原文寫反了】辜伟。 此數(shù)量表示“從編碼
切換到編碼
時需要支付的懲罰”。
表達力脊另、優(yōu)化和泛化是優(yōu)秀生成式模型的三個重要特性导狡。似然值提供了可解釋的度量,用于調試模型的這些特性偎痛。如果生成式模型不能記憶訓練集旱捧,則會表現(xiàn)出優(yōu)化(卡住)或表現(xiàn)力(欠擬合)方面的困難踩麦。
Cifar10圖像數(shù)據(jù)集有50000個訓練樣本枚赡,因此記憶全部數(shù)據(jù)的模型將為訓練數(shù)據(jù)集中的每個圖像分配恰好1/50000的概率值,從而實現(xiàn)負信息熵谓谦,或每個圖像15.6bits(這與圖像有多少像素無關F冻取)。當然反粥,我們通常不希望我們的生成式模型過度擬合這種極端情況卢肃,但在調試模型時,將它作為上限才顿,檢查模型的健全性是有用的莫湘。
比較訓練集和測試集之間的似然差異,可以告訴我們網(wǎng)絡是在記憶訓練集郑气,還是具備到了推廣到測試集的能力幅垮;或者可以用以檢查模型是否存在缺漏,模型是否捕獲到語義上有意義【但未必顯式地體現(xiàn)在訓練集中】的模式竣贪。
【1.正字是“訓詁學”军洼,用通俗的語言解釋詞義叫“訓”;用當代的話解釋古代的語言叫“詁”演怎,合起來就是指傳統(tǒng)研究古書中詞義的學科匕争。“馴估學”的“馴”指訓練爷耀,“估”指似然函數(shù)甘桑。
2.對于似然函數(shù)在圖像領域的問題感興趣的讀者,敬請參看“馴估學”(中)(下)歹叮∨芎迹】