机器学习笔记:VAE
1 VAE 介紹
?????????在機器學習筆記:auto encoder_UQI-LIUWJ的博客-CSDN博客 中,我們知道了auto-encoder。但是auto-encoder有一個不足之處,就是因為auto-encoder不是一個概率模型,所以沒法從學習的模型中生成新的數據,或者說我們train了一個模型,得到的輸出是固定不變的。
? ? ? ? 在這種情況下VAE就誕生了:它可以
1)從原始數據中學習特征表示向量z
2)可以從模型中生成新的數據
????????作用(2)是auto-encoder中所不具備的
?2 decoder介紹
訓練完成后,decoder可以是這樣的:
????????我們知道z的先驗概率,decoder又學習了一個從z到x的條件概率,那么我們就可以求得x的概率,然后進行采樣即可
?
????????更進一步說,decoder需要學習到x|z的均值和方差,這樣才可以預測p(x|z)
?
?2.1 decoder 訓練
那么,如何訓練這個模型呢?基本想法是最大化數據的概率?
?
?其中的計算可以由下獲得:
- 是由decoder獲得
- 是由z的先驗概率求得(我們這里認為z滿足高斯分布)
- ?至于,我們可以由encoder獲得
?3 encoder 與 decoder
于是我們有:
?
4 目標函數推導
?(貝葉斯法則)?
????????????????????????(分子分母同乘)
????????????????????????(log的規則)
而我們知道,x最終的分布和z是無關的。因此有:
?
?于是:
(取期望)
? ? ? ? ? ? ? ? ? ? ? ??
?(KL散度見:NTU 課程 CE7454:信息論概述_UQI-LIUWJ的博客-CSDN博客?)?
?而因為KL散度是大于等于0的,所以我們可以去掉最后一項,這樣可以得到一個下界:
分別是encoder學習的效果和decoder學習的效果?
?5?VAE舉例
?
?從 encoder的輸出(均值,方差)到decoder的輸入的過程,是一個采樣的過程;decoder的輸出也是一個采樣的過程,因此每一次VAE的輸出都不一樣。這樣就可以生成不同的新數據了
?6 VAE的流程
6.1 training
我們一步一步再看一遍:
?
?
?
?
?
?
通過最大化的概率,對encoder和decoder的參數進行優化
?6.2 generating data
?
?
?
?
?
????????????????????????
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的机器学习笔记:VAE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习笔记:auto encoder
- 下一篇: 概率统计笔记: 卡方分布(介绍)