變分自編碼器(三) 這樣做為什麼能成?

2021-08-21 12:27:43 字數 769 閱讀 7555

話說我覺得我自己最近寫文章都喜歡長篇大論了,而且扎堆地來~之前連續寫了三篇關於capsule的介紹,這次輪到vae了,本文是vae的第三篇探索,說不准還會有第四篇~不管怎麼樣,數量不重要,重要的是能把問題都想清楚。尤其是對於vae這種新奇的建模思維來說,更加值得細細地摳。

這次我們要關心的乙個問題是:vae為什麼能成?

估計看vae的讀者都會經歷這麼幾個階段。第乙個階段是剛讀了vae的介紹,然後雲裡霧裡的,感覺像自編碼器又不像自編碼器的,反覆啃了幾遍文字並看了原始碼之後才知道大概是怎麼回事;第二個階段就是在第乙個階段的基礎上,再去細讀vae的原理,諸如隱變數模型、kl散度、變分推斷等等,細細看下去,發現雖然折騰來折騰去,最終居然都能看明白了。

這時候讀者可能就進入第三個階段了。在這個階段中,我們會有諸多疑問,尤其是可行性的疑問:「為什麼它這樣反覆折騰,最終出來模型是可行的?我也有很多想法呀,為什麼我的想法就不行?」

讓我們再不厭其煩地回顧一下前面關於vae的一些原理。

vae希望通過隱變數分解來描述資料xx的分布

p(x)=∫p(x|z)p(z)dz,p(x,z)=p(x|z)p(z)(1)(1)pxpxzpzdzpxzpxzpz

然後對p(x,z)pxz用模型q(x|z)qxz擬合,p(z)pz用模型q(z)qz擬合,為了使得模型具有生成能力,q(z)qz定義為標準正態分佈。

理論上,我們可以使用邊緣概率的最大似然來求解模型:

q(x|z)==argmaxq(x|z)∫p̃ (x)ln(∫q(x|z)q(z)dz)dxargmaxq(x|z)

變分自編碼器VAE

auto encoding variational bayes git antixk pytorch vae a collection of variational autoencoders vae in pytorch.1 原文作者在深度學習上的實戰理論指導 2 具體原理框圖如下 vae主要由編碼...

AI數學 變分自編碼器 VAE

auto encoding variational bayes 你要是能在一周內,把上面這篇文章的數學原理搞懂,那你就是骨骼清奇了。看 可以知道,vae 變分自編碼器 只是aevb 自編碼變分貝葉斯 的乙個應用而已。如果你只是想懂vae的話,還是比較簡單滴。對於aevb更深層的原理,在這裡不去討論,...

深度生成模型 自省變分自編碼器IntroVAE

近日,中國科學院自動化研究所智慧型感知與計算研究中心提出一種新的深度生成模型 自省變分自編碼器 introspective variational autoencoder,introvae 用來實現高畫質影象等高維資料的無條件生成 unconditional generation 該模型一方面在不引...