跳至內容

基於流的生成模型

維基百科,自由的百科全書

基於流的生成模型(英語:flow-based generative model)是機器學習中的一類生成模型,利用歸一化流normalizing flow)顯式建模概率分佈[1][2][3]這是一種使用概率密度變量變換法將簡單分佈轉換為複雜分佈的統計方法。

直接建模似然函數具有很多優點。例如,可以直接計算得到負對數似然並將其作為損失函數最小化。此外,通過從初始分佈中採樣並應用流變換可以生成新的樣本。

相比之下,變分自編碼器生成對抗網絡等其他生成模型無法顯式地表示似然函數。

方法

[編輯]
歸一化流圖示

考慮隨機變量,其中。對於,定義一系列由變換得到的隨機變量。其中函數滿足可逆性,即存在反函數。最終輸出變量用於對目標分佈進行建模。

的對數似然為(參見下方推導過程):

為了高效計算對數似然,函數應既易於求逆,也易於計算其雅可比矩陣行列式。在實踐中,這些函數通常使用深度神經網絡建模,並通過訓練以最小化目標分佈數據樣本的負對數似然。這些架構一般設計為只需神經網絡的正向傳播即可完成逆運算與雅可比行列式的計算,例如NICE[4]、RealNVP[5]、Glow[6]等。

對數似然的推導

[編輯]

考慮,兩者之間滿足。通過概率密度變量變換公式,的分佈為:

其中雅可比矩陣行列式

反函數定理可以得到

使用行列式性質(其中可逆矩陣),則有:

對上式取對數後得到對數似然:

對於任意都能得到類似結論。最終由遞歸關係可以得到:

訓練方法

[編輯]

與訓練其他一些深度學習模型類似,歸一化流的目標是最小化模型的似然分佈與目標分佈之間的KL散度。將模型的似然分佈記為,要學習的目標分佈記為,則(正向)KL散度為:

上式右邊第二項表示目標分佈的熵,與模型參數無關,因此在優化時可以忽略,留下需要最小化的項是目標分佈下的負對數似然的期望。由於此項難以直接計算,可以通過重要性採樣的蒙特卡洛方法來近似。若已從目標分佈中獨立採樣得到的數據集從的樣本,則該項可近似估計為:

因此,可以將學習目標

替換為

換句話說,最小化KL相度相當於最大化模型在觀測樣本下的似然[7]

訓練歸一化流的偽代碼如下:[8]

  • 輸入:數據集,歸一化流模型
  • 求解:通過梯度下降法最化
  • 輸出:優化後的參數

變體

[編輯]

平面流

[編輯]

平面流(planar flow)是最早的歸一化流方法。[9]給定某個激活函數,以及具有適當維度的參數,可以定義一般而言,逆映射沒有解析解。

相應的雅可比行列式為

為保證其處處可逆,行列式必須在整個定義域內非零。例如當時可以滿足可逆性要求。

非線性獨立成分估計(NICE)

[編輯]

非線性獨立成分估計(nonlinear independent components estimation,簡稱NICE)假設是偶數維變量,並將其從中間分成兩部分。[10]此時歸一化流的定義為

其中是任何帶有權重的神經網絡。

其逆映射,雅可比行列式為1,即該歸一化流動是體積保持(volume-preserving)的。

時,這一映身可以視為沿方向的一種曲線剪切。

實值非體積保持(Real NVP)

[編輯]

實值非體積保持(real non-volume preserving,簡稱Real NVP)是NICE模型的一種推廣,定義為:[11]

其逆映射是,相應的雅可比行列式為。當時,退化為NICE模型。由於Real NVP映射將向量的兩部分分開處理,通常需要在每一層後添加一個置換操作

生成流(Glow)

[編輯]

生成流(generative flow,簡稱Glow)模型[12]中每層由三個部分組成:

  • 通道方向的仿射變換相應的雅可比行列式為
  • 可逆1x1卷積相應的雅可比行列式為,其中是任意可逆矩陣。
  • Real NVP部分,其雅可比行列式如前所述。

生成流通過引入可逆1x1卷積,改進了Real NVP中僅僅置換前後兩部分的方式,而是對所有層的通道進行總體上的置換。

掩碼自回歸流(MAF)

[編輯]

掩碼自回歸流(masked autoregresssive flow,簡稱MAF)基於自回歸模型,其定義了一個分佈在上的隨機過程[13]

其中是定義自回歸模型的固定函數。

使用重參數化技巧英語Reparameterization trick,該自回歸模型可以被推廣為歸一化流:

可以重新得到自回歸模型。

正向映射由於是順序性的因而會很慢,但反向映射因為可以並列而會比較很快。

相應的雅可比矩陣是下對角矩陣,其行列式為

通過反轉這兩個映射,可以得到逆自回歸流 (inverse autoregressive flow,簡稱IAF)。與MAF相反,IAF的正向映射較快、反向映射較慢。[14]

連續歸一化流(CNF)

[編輯]

除了通過函數組合來構建流的方法,另一種方法是將流表示為連續時間動力學,得到連續歸一化流(continuous normalizing flow,簡稱CNF)。[15][16]為具有分佈的潛變量,使用以下流函數將此潛變量映射到數據空間:

其中是任意函數,可以使用神經網絡等進行建模。其反函數為:[17]

於是可以得到的對數似然:[18]

由於上式中的跡僅取決於雅可比矩陣的對角線,這意味着對雅可比矩陣的形式沒有任何限制。[19]這與先前的離散歸一化模型不同,後者將雅可比矩陣設計為上對角或下對角形式,以便更高效地計算其行列式。

其中的跡可以使用「哈欽森技巧」(Hutchinson's trick)來估計[20][21]:給定任意矩陣以及滿足的任意隨機向量,可以得到

通常,隨機向量可以從正態分佈拉德馬赫分佈英語Rademacher中進行採樣。

由神經網絡實現時,需要使用神經常微分方程[22]。實際上,CNF最早是與神經常微分方程在同一篇論文中提出的。

CNF主要存在兩個缺陷:一是連續流必須是同胚的,從而保持方向性和環境同痕英語Ambient isotopy(例如,不可能通過空間連續變形將左手翻轉為右手,也不可能將球面外翻或解開一個結),二是學習到的流可能會由於退化而表現不佳(有無數個可能的都能解決同一問題)。

通過增加額外的維度,CNF可以獲得足夠的自由度來反轉方向並突破環境同痕(類似於可以在三維空間中翻轉一個多邊形,或在四維空間中解開一個結),從而得到「增強神經常微分方程」。[23]

通過結合流形的惠特尼嵌入定理英語Whitney embedding theorem和神經網絡的通用近似定理,能夠證明的任何同胚可以由上的神經常微分方程近似。[24]

還可以為流引入正則化損失,例如基於最優傳輸理論的正則化損失:[25]

其中是超參數。第一項懲罰模型隨時間變化流場的振盪,第二項則懲罰模型隨空間變化流場的振盪。這兩項共同引導模型生成在空間和時間上平滑的流。

缺點

[編輯]

儘管歸一化流在估計高維概率密度函數方面取得了成功,但其設計仍然存在一些缺陷。首先,歸一化流的潛空間並不是一個低維空間,因此基於流的模型默認情況下不支持數據壓縮,需要很大的計算量。不過,仍有辦法可以用它們進行圖像壓縮。[26]

此外,基於流的模型在估計分佈外樣本(即非訓練集分佈中抽取的樣本)的似然值時通常表現不佳。[27]學者提出了一些假設來解釋這一現象,其中包括典型集假設[28]、模型訓練中的估計問題[29]或由於數據分佈熵引起的基礎性問題[30]

歸一化流最有趣的特性之一是其學習到的雙射映射的可逆性。這一特性通過模型設計中的約束得以保證,從而確保理論上的可逆性。逆映射對確保變量變換定理的適用性、雅可比行列式的計算以及模型採樣都至關重要。然而在實踐中,由於數值不精確性,這種可逆性可能被破壞,進而導致逆映射爆炸。[31]

應用

[編輯]

基於流的生成模型已應用於多種場景,例如:

參考文獻

[編輯]
  1. ^ Tabak, Esteban G.; Vanden-Eijnden, Eric. Density estimation by dual ascent of the log-likelihood. Communications in Mathematical Sciences. 2010, 8 (1): 217–233. doi:10.4310/CMS.2010.v8.n1.a11. 
  2. ^ Tabak, Esteban G.; Turner, Cristina V. A family of nonparametric density estimation algorithms. Communications on Pure and Applied Mathematics. 2012, 66 (2): 145–164. S2CID 17820269. doi:10.1002/cpa.21423. hdl:11336/8930可免費查閱. 
  3. ^ Papamakarios, George; Nalisnick, Eric; Jimenez Rezende, Danilo; Mohamed, Shakir; Bakshminarayanan, Balaji. Normalizing flows for probabilistic modeling and inference. Journal of Machine Learning Research. 2021, 22 (1): 2617–2680. arXiv:1912.02762可免費查閱. 
  4. ^ Dinh, Laurent; Krueger, David. NICE: Non-linear Independent Components Estimation. arXiv:1410.8516可免費查閱 [cs.LG]. 
  5. ^ Dinh, Laurent; Sohl-Dickstein, Jascha. Density estimation using Real NVP. arXiv:1605.08803可免費查閱 [cs.LG]. 
  6. ^ Kingma, Diederik P.; Dhariwal, Prafulla. Glow: Generative Flow with Invertible 1x1 Convolutions. arXiv:1807.03039可免費查閱 [stat.ML]. 
  7. ^ Papamakarios, George; Nalisnick, Eric; Rezende, Danilo Jimenez; Shakir, Mohamed; Balaji, Lakshminarayanan. Normalizing Flows for Probabilistic Modeling and Inference. Journal of Machine Learning Research. March 2021, 22 (57): 1–64. arXiv:1912.02762可免費查閱. 
  8. ^ Kobyzev, Ivan; Prince, Simon J.D.; Brubaker, Marcus A. Normalizing Flows: An Introduction and Review of Current Methods. IEEE Transactions on Pattern Analysis and Machine Intelligence. November 2021, 43 (11): 3964–3979. ISSN 1939-3539. PMID 32396070. S2CID 208910764. arXiv:1908.09257可免費查閱. doi:10.1109/TPAMI.2020.2992934. 
  9. ^ Danilo Jimenez Rezende; Mohamed, Shakir. Variational Inference with Normalizing Flows. arXiv:1505.05770可免費查閱 [stat.ML]. 
  10. ^ Dinh, Laurent; Krueger, David. NICE: Non-linear Independent Components Estimation. arXiv:1410.8516可免費查閱 [cs.LG]. 
  11. ^ Dinh, Laurent; Sohl-Dickstein, Jascha. Density estimation using Real NVP. arXiv:1605.08803可免費查閱 [cs.LG]. 
  12. ^ Kingma, Diederik P.; Dhariwal, Prafulla. Glow: Generative Flow with Invertible 1x1 Convolutions. arXiv:1807.03039可免費查閱 [stat.ML]. 
  13. ^ Papamakarios, George; Pavlakou, Theo; Murray, Iain. Masked Autoregressive Flow for Density Estimation. Advances in Neural Information Processing Systems (Curran Associates, Inc.). 2017, 30. arXiv:1705.07057可免費查閱. 
  14. ^ Kingma, Durk P; Salimans, Tim; Jozefowicz, Rafal; Chen, Xi; Sutskever, Ilya; Welling, Max. Improved Variational Inference with Inverse Autoregressive Flow. Advances in Neural Information Processing Systems (Curran Associates, Inc.). 2016, 29. arXiv:1606.04934可免費查閱. 
  15. ^ Grathwohl, Will; Chen, Ricky T. Q. FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models. arXiv:1810.01367可免費查閱 [cs.LG]. 
  16. ^ Lipman, Yaron; Chen, Ricky T. Q. Flow Matching for Generative Modeling. 2022-10-01. arXiv:2210.02747可免費查閱 [cs.LG]. 
  17. ^ Grathwohl, Will; Chen, Ricky T. Q. FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models. arXiv:1810.01367可免費查閱 [cs.LG]. 
  18. ^ Grathwohl, Will; Chen, Ricky T. Q. FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models. arXiv:1810.01367可免費查閱 [cs.LG]. 
  19. ^ Grathwohl, Will; Chen, Ricky T. Q. FFJORD: Free-form Continuous Dynamics for Scalable Reversible Generative Models. 2018-10-22. arXiv:1810.01367可免費查閱 [cs.LG]. 
  20. ^ Finlay, Chris; Jacobsen, Joern-Henrik; Nurbekyan, Levon; Oberman, Adam. How to Train Your Neural ODE: the World of Jacobian and Kinetic Regularization. International Conference on Machine Learning (PMLR). 2020-11-21: 3154–3164. arXiv:2002.02798可免費查閱 (英語). 
  21. ^ Hutchinson, M.F. A Stochastic Estimator of the Trace of the Influence Matrix for Laplacian Smoothing Splines. Communications in Statistics - Simulation and Computation. January 1989, 18 (3): 1059–1076. ISSN 0361-0918. doi:10.1080/03610918908812806 (英語). 
  22. ^ Chen, Ricky T. Q.; Rubanova, Yulia; Bettencourt, Jesse; Duvenaud, David K. Neural Ordinary Differential Equations (PDF). Bengio, S.; Wallach, H.; Larochelle, H.; Grauman, K.; Cesa-Bianchi, N.; Garnett, R. (編). Advances in Neural Information Processing Systems 31. Curran Associates, Inc. 2018. arXiv:1806.07366可免費查閱. 
  23. ^ Dupont, Emilien; Doucet, Arnaud; Teh, Yee Whye. Augmented Neural ODEs. Advances in Neural Information Processing Systems (Curran Associates, Inc.). 2019, 32. 
  24. ^ Zhang, Han; Gao, Xi. Approximation Capabilities of Neural ODEs and Invertible Residual Networks. 2019-07-30. arXiv:1907.12998可免費查閱 [cs.LG] (英語). 
  25. ^ Finlay, Chris; Jacobsen, Joern-Henrik; Nurbekyan, Levon; Oberman, Adam. How to Train Your Neural ODE: the World of Jacobian and Kinetic Regularization. International Conference on Machine Learning (PMLR). 2020-11-21: 3154–3164. arXiv:2002.02798可免費查閱 (英語). 
  26. ^ Helminger, Leonhard; Djelouah, Abdelaziz. Lossy Image Compression with Normalizing Flows. arXiv:2008.10486可免費查閱 [cs.CV]. 
  27. ^ Nalisnick, Eric; Matsukawa, Teh. Do Deep Generative Models Know What They Don't Know?. arXiv:1810.09136v3可免費查閱 [stat.ML]. 
  28. ^ Nalisnick, Eric; Matsukawa, Teh. Detecting Out-of-Distribution Inputs to Deep Generative Models Using Typicality. arXiv:1906.02994可免費查閱 [stat.ML]. 
  29. ^ Zhang, Lily; Goldstein, Mark; Ranganath, Rajesh. Understanding Failures in Out-of-Distribution Detection with Deep Generative Models. Proceedings of Machine Learning Research. 2021, 139: 12427–12436. PMC 9295254可免費查閱. PMID 35860036. 
  30. ^ Caterini, Anthony L.; Loaiza-Ganem, Gabriel. Entropic Issues in Likelihood-Based OOD Detection. 2022. arXiv:2109.10794可免費查閱 [stat.ML]. 
  31. ^ Behrmann, Jens; Vicol, Paul. Understanding and Mitigating Exploding Inverses in Invertible Neural Networks. arXiv:2006.09347可免費查閱 [cs.LG]. 
  32. ^ Ping, Wei; Peng, Kainan. WaveFlow: A Compact Flow-based Model for Raw Audio. arXiv:1912.01219可免費查閱 [cs.SD]. 
  33. ^ Kingma, Diederik P.; Dhariwal, Prafulla. Glow: Generative Flow with Invertible 1x1 Convolutions. arXiv:1807.03039可免費查閱 [stat.ML]. 
  34. ^ Shi, Chence; Xu, Minkai. GraphAF: A Flow-based Autoregressive Model for Molecular Graph Generation. arXiv:2001.09382可免費查閱 [cs.LG]. 
  35. ^ Yang, Guandao; Huang, Xun. PointFlow: 3D Point Cloud Generation with Continuous Normalizing Flows. arXiv:1906.12320可免費查閱 [cs.CV]. 
  36. ^ Kumar, Manoj; Babaeizadeh, Mohammad. VideoFlow: A Conditional Flow-Based Model for Stochastic Video Generation. arXiv:1903.01434可免費查閱 [cs.CV]. 
  37. ^ Helminger, Leonhard; Djelouah, Abdelaziz. Lossy Image Compression with Normalizing Flows. arXiv:2008.10486可免費查閱 [cs.CV]. 
  38. ^ Rudolph, Marco; Wandt, Bastian. Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows. arXiv:2008.12577可免費查閱 [cs.CV].