GANs
這里寫(xiě)目錄標(biāo)題
- 1、GANs
- 1.1數(shù)學(xué)基礎(chǔ)
- 1.2 GANs算法原理
1、GANs
1、GAN的原理入門(mén)
2、李宏毅2017深度學(xué)習(xí) GAN生成對(duì)抗神經(jīng)網(wǎng)絡(luò)相關(guān)學(xué)習(xí)視頻合集
1.1數(shù)學(xué)基礎(chǔ)
1、概率與統(tǒng)計(jì)
概率與統(tǒng)計(jì)是兩個(gè)不同的概念。
概率是指:模型參數(shù)已知,XXX未知,p(x1)...p(xn)p(x_1) ... p(x_n)p(x1?)...p(xn?) 都是對(duì)應(yīng)的xix_ixi?的概率
統(tǒng)計(jì)是指:模型參數(shù)未知,XXX已知,根據(jù)觀測(cè)的現(xiàn)象,求模型的參數(shù)
2、似然函數(shù)與概率函數(shù)
似然跟概率是同義詞,所以似然也是表示概率,但這個(gè)概率有些不一樣。
-
似然是指:模型在不同參數(shù)下, p(x1)...p(xn)p(x_1) ... p(x_n)p(x1?)...p(xn?) 發(fā)生的概率
-
似然估計(jì)是指:模型的參數(shù)未知,XXX已知,根據(jù)觀測(cè)現(xiàn)象(XXX),估計(jì)模型參數(shù)的過(guò)程.“模型已定,參數(shù)未知”
如果 θθθ 是已知確定的, xxx是變量,這個(gè)函數(shù)叫做概率函數(shù)(probabilityfunctionprobability\ functionprobability?function),它描述對(duì)于不同的樣本點(diǎn)xxx ,其出現(xiàn)概率是多少。
如果xxx 是已知確定的,θθθ 是變量,這個(gè)函數(shù)叫做似然函數(shù)(likelihoodfunctionlikelihood\ functionlikelihood?function), 它描述對(duì)于不同的模型參數(shù),出現(xiàn)xxx 這個(gè)樣本點(diǎn)的概率是多少。
最大似然估計(jì)(為什么要最大):
對(duì)于觀測(cè)數(shù)據(jù)集x1,x2...xnx_1,x_2...x_nx1?,x2?...xn?, 在θθθ下發(fā)生的概率分別是p(x1∣θ),p(x2∣θ)...p(xn∣θ)p(x_1|θ),p(x_2|θ)... p(x_n|θ)p(x1?∣θ),p(x2?∣θ)...p(xn?∣θ), 所以出現(xiàn)該觀測(cè)數(shù)據(jù)集的概率為 P(X∣θ)=p(x1∣θ)p(x2∣θ)...p(xn∣θ)P(X|θ) = p(x_1|θ)p(x_2|θ)... p(x_n|θ)P(X∣θ)=p(x1?∣θ)p(x2?∣θ)...p(xn?∣θ), 那想一想為什么我一下就會(huì)抽出x1,x2...xnx_1, x_2 ... x_nx1?,x2?...xn?這nnn個(gè)數(shù)據(jù)呢?一種直觀的解釋就是 它們發(fā)生的概率大,所以 就是求讓 P(X)P(X)P(X)最大下的θθθ,這就是最大似然估計(jì)。
3、最大后驗(yàn)概率
最大似然是求參數(shù),讓P(X∣θ)P(X|θ)P(X∣θ)最大,最大后驗(yàn)概率是讓P(X∣θ)P(θ)P(X|θ)P(θ)P(X∣θ)P(θ)最大,相當(dāng)于給似然函數(shù)加了一個(gè)關(guān)于θθθ的權(quán)重。這有點(diǎn)像正則化里加懲罰項(xiàng)的思想,不過(guò)正則化里是利用加法,而MAPMAPMAP里是利用乘法)
為什么要讓 P(X∣θ)P(θ)P(X|θ)P(θ)P(X∣θ)P(θ) 最大?
我們是根據(jù)一群觀測(cè)數(shù)據(jù)X=(x1,x2...xn)X = (x_1, x_2 ... x_n)X=(x1?,x2?...xn?)估計(jì)模型的參數(shù),即求 P(θ0∣X)P(θ_0 | X)P(θ0?∣X), 用貝葉斯改一下就是
P(θ0∣X)=P(X∣θ0)P(θ0)/P(X)P(θ_0 | X) = P(X|θ_0) P(θ_0) / P(X)P(θ0?∣X)=P(X∣θ0?)P(θ0?)/P(X) , 對(duì)于給定的觀測(cè)序列X來(lái)說(shuō)P(X)P(X)P(X)是固定的,所以我們求后驗(yàn)概率P(θ0∣X)P(θ_0 | X)P(θ0?∣X)最大就是求P(X∣θ0)P(θ0)P(X|θ_0) P(θ_0)P(X∣θ0?)P(θ0?)最大
對(duì)于貝葉斯公式來(lái)說(shuō), 其實(shí)就是 【后驗(yàn)概率P(θ0∣X)P(θ_0 | X)P(θ0?∣X)】 等于 【似然函數(shù) P(X∣θ0)P(X|θ_0)P(X∣θ0?)】 乘以 【先驗(yàn)概率P(θ0P(θ_0P(θ0?)】
4、期望
(1)離散型
(2)連續(xù)型
5、最大似然估計(jì)與KL散度
6、GAN目標(biāo)函數(shù)與JS散度
所以說(shuō),minmaxmin\ maxmin?max游戲本質(zhì)上是最小化JSJSJS散度,即min?(?2log2+2×JSD(Pdata∣∣PG))\min(-2log2+2\times JSD(P_{data}||P_{G}))min(?2log2+2×JSD(Pdata?∣∣PG?))
參考:https://www.cnblogs.com/bonelee/p/9166084.html
1.2 GANs算法原理
前向傳播階段
- 模型輸入
1、我們隨機(jī)產(chǎn)生一個(gè)隨機(jī)向量作為生成模型的數(shù)據(jù),然后經(jīng)過(guò)生成模型后產(chǎn)生一個(gè)新 的向量,作為 FakeImageFake\ ImageFake?Image,記作D(z)D(z)D(z)。
2、從數(shù)據(jù)集中隨機(jī)選擇一張圖片,將圖片轉(zhuǎn)化成向量,作為 RealImageReal\ ImageReal?Image,記作 xxx - 模型輸出
將由 111 或者 222 產(chǎn)生的輸出,作為判別網(wǎng)絡(luò)的輸入,經(jīng)過(guò)判別網(wǎng)絡(luò)后輸出值為一個(gè) 000 到 111 之間的數(shù),用于表示輸入圖片為 RealImageReal\ ImageReal?Image 的概率,realrealreal 為 111,fakefakefake 為 000。 使用得到的概率值計(jì)算損失函數(shù),解釋損失函數(shù)之前,我們先解釋下判別模型的輸入。 根據(jù)輸入的圖片類型是 FakeImageFake\ ImageFake?Image 或 RealImageReal\ ImageReal?Image 將判別模型的輸入數(shù)據(jù)的 labellabellabel 標(biāo)記為 000 或者 111。即判別模型的輸入類型為(xfake,0)(x_{fake},0)(xfake?,0)或者(xreal,1)(x_{real},1)(xreal?,1)。
反向傳播階段
-
優(yōu)化目標(biāo)
(zzz表示輸入GGG的隨機(jī)噪聲)判別模型DDD要最大概率地分對(duì)真實(shí)樣本(最大化 log?(D(x)\log(D(x)log(D(x)),而生成模型GGG要最小化D(G(z))D(G(z))D(G(z)),即最大化 log?(1?D(G(z)))\log(1-D(G(z)))log(1?D(G(z)))。GGG和DDD同時(shí)訓(xùn)練,但是訓(xùn)練中要固定一方,更新另一方的參數(shù),交替迭代,使對(duì)方的錯(cuò)誤最大化。最終,GGG能估計(jì)出真實(shí)樣本的分布。
第一步:優(yōu)化 DDD
優(yōu)化 DDD,即優(yōu)化判別網(wǎng)絡(luò)時(shí),沒(méi)有生成網(wǎng)絡(luò)什么事,后面的 G(z)G(z)G(z)就相當(dāng)于已經(jīng)得到的假 樣本。優(yōu)化 DDD 的公式的第一項(xiàng),使得真樣本 xxx 輸入的時(shí)候,得到的結(jié)果越大越好,因?yàn)檎鏄?本的預(yù)測(cè)結(jié)果越接近1越好;對(duì)于假樣本G(z)G(z)G(z),需要優(yōu)化的是其結(jié)果越小越好,也就是D(G(z))D(G(z))D(G(z)) 越小越好,因?yàn)樗臉?biāo)簽為 000。但是第一項(xiàng)越大,第二項(xiàng)越小,就矛盾了,所以把第二項(xiàng)改 為 1?D(G(z))1-D(G(z))1?D(G(z)),這樣就是越大越好。
第二步:優(yōu)化 GGG
在優(yōu)化 GGG 的時(shí)候,這個(gè)時(shí)候沒(méi)有真樣本什么事,所以把第一項(xiàng)直接去掉,這時(shí)候只有假 樣本,但是這個(gè)時(shí)候希望假樣本的標(biāo)簽是 111 ,所以是 D(G(z))D(G(z))D(G(z)) 越大越好,但是為了統(tǒng)一成 1?D(G(z))1-D(G(z))1?D(G(z)) 的形式,那么只能是最小化 1?D(G(z))1-D(G(z))1?D(G(z)),本質(zhì)上沒(méi)有區(qū)別,只是為了形式的統(tǒng)一。之 后這兩個(gè)優(yōu)化模型可以合并起來(lái)寫(xiě),就變成最開(kāi)始的最大最小目標(biāo)函數(shù)了。 -
判別模型的損失函數(shù)
-
生成模型的損失函數(shù)
-
論文 :https://arxiv.org/abs/1812.04948
-
代碼 :https://github.com/NVlabs/stylegan
-
完整GANs筆記:http://www.gwylab.com/note-gans.html
-
StyleGAN詳細(xì)解讀:http://www.gwylab.com/pdf/Note_StyleGAN.pdf
-
基于StyleGAN的一個(gè)好玩的網(wǎng)站:http://www.seeprettyface.com/
-
ppt地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html
總結(jié)
- 上一篇: USB3.0移动硬盘启动Win7的方法(
- 下一篇: 解决wsappx占cpu和内存过大问题