Unspervised learning主要任務(wù)目標(biāo)是發(fā)掘數(shù)據(jù)潛在有價(jià)值的結(jié)構(gòu)驾锰,主要分為clustering,dimentionality reduction,feature learning, density estimation
Generative Model主要任務(wù)是給定一個(gè)數(shù)據(jù)集P(data)割捅,通過(guò)模型P(model)學(xué)習(xí)樣本的分布,可以通過(guò)模型生成近似原樣本分布的數(shù)據(jù)帚桩。主要屬于density estimation范疇亿驾。
作用主要:
- 根據(jù)需求近似生成真實(shí)數(shù)據(jù),想象空間非常大账嚎,這是一個(gè)富裕想象力與創(chuàng)造性的莫瞬,比如生成馬賽克,美顏郭蕉,生成畫(huà)作等疼邀,當(dāng)然能生成的也是可以去掉的。
- 生成時(shí)間序列數(shù)據(jù)召锈,可以用于強(qiáng)化學(xué)習(xí)
- 也可以用于feature learning等
按方法分類(lèi)generative model旁振,主要分為explicity and implicity density,這次主要介紹explicity的方法涨岁。
從定義上來(lái)說(shuō)拐袜,explicity density就是我直接通過(guò)定義P(model),然后通過(guò)來(lái)最大化data likelihood求解P(model)梢薪。implicity density就是不直接定義P(model),但是模型可以sample出data蹬铺。
然后根據(jù)定義的density確定的likelihood是否能直接給出求解方法,如果可以那就直接解唄秉撇,說(shuō)明你定義了一個(gè)tractable density丛塌。
比如Fully visible belief nets的PixelRNN & CNN,按照每個(gè)像素定義每一張圖的likelihood畜疾,用鏈?zhǔn)椒▌t分解likelihood為給定先前的pixels當(dāng)前pixel的條件概率乘積
看圖中條件概率是很復(fù)雜赴邻,自然就可以想到用神經(jīng)網(wǎng)絡(luò)去做transformation,神經(jīng)網(wǎng)絡(luò)是很好的復(fù)雜函數(shù)的擬合器啡捶。重點(diǎn)是如果做這個(gè)conditional prob呢姥敛?
- generate image pixels starting from corner
- dependency on previous pixels modeled using an RNN(LSTM)
RNN很輕松就可以做成依賴(lài)關(guān)系,畢竟sequential model.
PixelRNN效果很好瞎暑,但是缺點(diǎn)是比較慢彤敛,畢竟pixel by pixel sequential generation。
那么就出現(xiàn)了PixelCNN了赌,和PixelRNN很像墨榄,只是用了CNN來(lái)做dependency on previous pixels,根據(jù)已經(jīng)產(chǎn)生的局部塊圖(content region)來(lái)生成pixel勿她。
PixelCNN訓(xùn)練過(guò)程較快袄秩,但是生成圖片一樣的是sequential generation比較慢。
不得不說(shuō)大神不論在算法還是應(yīng)用都是很厲害的!這里只簡(jiǎn)單介紹之剧,其實(shí)這個(gè)有很多精彩的地方郭卫!畢竟這里主要介紹VAE。
VAE
這里我決定給像我這樣的小白講講variational autoencoder
先講一下variational inference背稼,為什么會(huì)有這個(gè)東西贰军,預(yù)備知識(shí)如下
- information theory
information,entropy蟹肘,differential entropy - KL Divergence
KL Divergence和lnp(x)關(guān)系 - Graphical Model
- Variational Inf
- information(I)是來(lái)衡量一個(gè)隨機(jī)事件的信息量I = -logP(x),定義上直觀(guān)理解词疼,一個(gè)事件x發(fā)生的概率越大,其信息量越小帘腹,比如你本來(lái)就知道太陽(yáng)明天會(huì)升起贰盗,那么我告訴你這個(gè)事件,其實(shí)并沒(méi)有帶來(lái)任何信息
- entropy/avg information
根據(jù)概率平均information竹椒,代表隨機(jī)變量的平均信息量H = sum(P(x)*-logP(x)) - differential entropy
entropy適用于離散變量童太,連續(xù)變量的entropy叫differential entropy,求和換為積分就ok了 - KL Divergence/ Relative Entropy
它是通過(guò)entropy來(lái)衡量2個(gè)分布的距離胸完,KL(p||q)代表根據(jù)p概率來(lái)衡量q和p的entropy差距书释,很自然就寫(xiě)出entropy(q) - entropy(p) = sum(-q(x)log(q(x)) - sum(-p(x)log(p(x)),剛提到是按照p的概率,所以寫(xiě)成 KL(p||q) = sum(-p(x)log(q(x)) - sum(-p(x)log(p(x)),按p的概率求和就ok了赊窥,整理寫(xiě)成KL(p||q) = sum(p(x)log[p(x)/q(x)])
KL Divergence兩個(gè)性質(zhì):1.大于等于零 2. 不是對(duì)稱(chēng)的爆惧,不具備距離度量公理,但是其實(shí)更合理一點(diǎn)锨能,在生活中扯再! -
KL Divergence 和 lnP(x)
舉個(gè)例子,假設(shè)現(xiàn)在有個(gè)分布P(x|z)址遇,我們不知道這個(gè)熄阻,所以想用一個(gè)分布q(z)來(lái)估計(jì)它,我們當(dāng)然也不知q(z)是什么,先來(lái)估計(jì)吧倔约。那很自然就可以想到用KL Divergence來(lái)衡量估計(jì)得好壞秃殉,KL Divergence剛提到是用來(lái)衡量?jī)蓚€(gè)分布差異的,越小說(shuō)明分布差異越小(不得不寫(xiě)公式了)
- Graphical Model
簡(jiǎn)答介紹一點(diǎn)樱哼,告訴你為什么條件概率比較難求哀九,簡(jiǎn)單畫(huà)個(gè)圖吧
那怎么辦呢惨篱?得到聯(lián)合概率是否可以得到條件概率呢盏筐,不用計(jì)算積分呢?
Problem:不積分通過(guò)聯(lián)合概率來(lái)求條件概率
Yes砸讳!不行還說(shuō)什么琢融,variational inference登場(chǎng)了!variational inference不是唯一的方法解決這個(gè)問(wèn)題簿寂,主要還有
- MCMC:Metropolis hasting漾抬、Gibbs sampling
通過(guò)采樣估計(jì),更精確常遂,計(jì)算時(shí)間較長(zhǎng) - Variational Inference
deterministic solution纳令,精度較低,計(jì)算時(shí)間少 - Laplace Approximation
deterministic克胳,精度很低平绩,計(jì)算很快
這里重新回顧一下問(wèn)題,我們想要估計(jì)p(z|x), 需要計(jì)算p(x),因?yàn)閜(z|x)=p(x,z)/p(x)
,這里p(x)需要通過(guò)計(jì)算積分漠另,通常是計(jì)算不出來(lái)的捏雌,所以我們想通過(guò)一個(gè)分布q(z)來(lái)近似計(jì)算p(z|x)。然后我們利用KL Divergence來(lái)使得q(z)逼近p(z|x),最后我們得到了個(gè)公式KL[q(z)||p(z|x)]-KL[q(z)||p(z,x)]=logp(x),因?yàn)閤是給定的笆搓,等式右邊不變性湿,我們可以改變的只有q(z),目標(biāo)為讓第一項(xiàng)變小满败,因?yàn)橛?jì)算不了條件概率肤频,最小化KL[q(z)||p(z|x)]等價(jià)于最大化-KL[q(z)||p(z,x)],也就是我們的lower bound算墨,這里沒(méi)有條件概率宵荒!
結(jié)論:為了找到p(z|x),variational inference通過(guò)找一個(gè)q(z)來(lái)最大化lower bound L
到此終于說(shuō)清楚了為什么要用variational inference,以及他是怎么做的米同!但是骇扇,找到這個(gè)q(z),仍然是一個(gè)難題面粮,variational inference的作者好像也沒(méi)有很好的路子少孝。。熬苍。稍走。
-
Variational Inference
作者提出了一個(gè)可以簡(jiǎn)化lower bound的方法袁翁,這里不得不寫(xiě)點(diǎn)公式了
沒(méi)想到寫(xiě)了這么多,還沒(méi)開(kāi)始VAE婿脸,那就下次吧粱胜,上面的公式只是variational inference的求解過(guò)程,其實(shí)不重要狐树,因?yàn)閂AE焙压,有自己的技巧。抑钟。涯曲。。