機器學習中的概率模型和概率密度估計方法及VAE生成式模型詳解之一(內容簡介)


A Gentle Introduction to Probabilistic Modeling and Density Estimation in Machine Learning

And

A Detailed Explanation of Variational Auto-Encoder

by

Jiyang Wang

[email protected]

Github.com/2wavetech

簡介

非監督機器學習(Unsupervised Machine Learning)中的數據分佈密度估計(Density Estimation)、樣本採樣(Sampling)與生成(Generation,或Synthesis,即合成)等幾類任務具有重要的應用價值,這從近年來生成對抗網絡(GAN)的流行就可以看出。完成這類任務的模型稱爲生成式模型(Generative Model)。其實,另一種比GAN更早一點兒出現的生成式模型,即差分自編碼器(VAE),具有同樣的理論意義和實用價值。
但要徹底搞懂VAE的思想脈絡,需要具有比較多的概率論、信息論、概率圖模型和機器學習的知識。舉例來說,在VAE的原始論文 ”Auto-Encoding Variational Bayes“的2.2節中,論文作者說到需要優化數據集的似然函數的下限ELBO時提到以下內容但未加任何解釋:

image.png

可能很多讀者與我一樣,在剛讀到這句話時,心裏充滿了疑問。什麼是Monte Carlo gradient estimator?爲什麼說它有很大的方差?方差大了意味着什麼?如果這是個問題,如何解決這個問題呢?VAE模型與解決這個問題有什麼關係?
當我終於搞懂上面那句以及全篇論文的每一句話時,我意識到,VAE模型具有深厚的理論背景,它並不是一時頓悟的產物,而是出自一個綿密的思想脈絡。我們不能只見樹木不見森林,目光只停留在VAE本身;而是應該登高望遠,進而在理解它的思想精髓的基礎上能夠進一步改進它甚至提出自己的新方法。
本文將從與VAE有關的基本概念開始,逐步深入,詳細解讀VAE。已經知道這些基礎知識的讀者可以略過本文中的相應部分的內容。這裏介紹的基礎知識和概念針對VAE的內容作了簡化,也未刻意追求數學上的嚴密性,這一點需要注意。想全面深入瞭解這些內容的讀者可以很容易找到專門的書籍或文章,比如由Ian Goodfellow、Yoshua Bengio和Aaron Courville寫的新書《Deep Learning》很全面地介紹了深度學習所使用的基礎知識,在網上可以免費閱讀(http://www.deeplearningbook.org/)。本文適合那些具有入門級的機器學習和最基本的概率論知識的讀者閱讀。順便說一句,《Deep Learning》這本書需要比較多的背景知識才能完全讀懂。我在這裏發表的關於VAE的系列文章有助於大家讀懂《Deep Learning》。
本文第一章先簡要說明模型、模型對概率分佈的表達、以及概率模型的建模方法。第二章 介紹分佈密度估算的採樣方法,主要內容是MCMC算法。第三章介紹分佈密度估算的優化方法,包括EM算法和VB算法。第四章詳細解釋自編碼VB方法及VAE模型。第五章是總結。本文實現的CVAE模型使用了Python語言及Keras/TensorFlow。

版權聲明:任何引用本博客的內容,請註明出處。 http://blog.51cto.com/13811808

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章