日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GANs

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GANs 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里寫目錄標題

  • 1、GANs
    • 1.1數學基礎
    • 1.2 GANs算法原理

1、GANs

1、GAN的原理入門
2、李宏毅2017深度學習 GAN生成對抗神經網絡相關學習視頻合集

1.1數學基礎

1、概率與統計

概率與統計是兩個不同的概念。

概率是指:模型參數已知,XXX未知,p(x1)...p(xn)p(x_1) ... p(x_n)p(x1?)...p(xn?) 都是對應的xix_ixi?的概率

統計是指:模型參數未知,XXX已知,根據觀測的現象,求模型的參數

2、似然函數與概率函數

似然跟概率是同義詞,所以似然也是表示概率,但這個概率有些不一樣。

  • 似然是指:模型在不同參數下, p(x1)...p(xn)p(x_1) ... p(x_n)p(x1?)...p(xn?) 發生的概率

  • 似然估計是指:模型的參數未知,XXX已知,根據觀測現象(XXX),估計模型參數的過程.“模型已定,參數未知”

如果 θθθ 是已知確定的, xxx是變量,這個函數叫做概率函數(probabilityfunctionprobability\ functionprobability?function),它描述對于不同的樣本點xxx ,其出現概率是多少。

如果xxx 是已知確定的,θθθ 是變量,這個函數叫做似然函數(likelihoodfunctionlikelihood\ functionlikelihood?function), 它描述對于不同的模型參數,出現xxx 這個樣本點的概率是多少。

最大似然估計(為什么要最大):
對于觀測數據集x1,x2...xnx_1,x_2...x_nx1?,x2?...xn?, 在θθθ下發生的概率分別是p(x1∣θ),p(x2∣θ)...p(xn∣θ)p(x_1|θ),p(x_2|θ)... p(x_n|θ)p(x1?θ),p(x2?θ)...p(xn?θ), 所以出現該觀測數據集的概率為 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?θ), 那想一想為什么我一下就會抽出x1,x2...xnx_1, x_2 ... x_nx1?,x2?...xn?nnn個數據呢?一種直觀的解釋就是 它們發生的概率大,所以 就是求讓 P(X)P(X)P(X)最大下的θθθ,這就是最大似然估計。

3、最大后驗概率

最大似然是求參數,讓P(X∣θ)P(X|θ)P(Xθ)最大,最大后驗概率是讓P(X∣θ)P(θ)P(X|θ)P(θ)P(Xθ)P(θ)最大,相當于給似然函數加了一個關于θθθ的權重。這有點像正則化里加懲罰項的思想,不過正則化里是利用加法,而MAPMAPMAP里是利用乘法)

為什么要讓 P(X∣θ)P(θ)P(X|θ)P(θ)P(Xθ)P(θ) 最大?

我們是根據一群觀測數據X=(x1,x2...xn)X = (x_1, x_2 ... x_n)X=x1?,x2?...xn?)估計模型的參數,即求 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) , 對于給定的觀測序列X來說P(X)P(X)PX是固定的,所以我們求后驗概率P(θ0∣X)P(θ_0 | X)P(θ0?X)最大就是求P(X∣θ0)P(θ0)P(X|θ_0) P(θ_0)P(Xθ0?)P(θ0?)最大

對于貝葉斯公式來說, 其實就是 【后驗概率P(θ0∣X)P(θ_0 | X)P(θ0?X)】 等于 【似然函數 P(X∣θ0)P(X|θ_0)P(Xθ0?)】 乘以 【先驗概率P(θ0P(θ_0P(θ0?)】

4、期望
(1)離散型

(2)連續型

5、最大似然估計與KL散度

6、GAN目標函數與JS散度


所以說,minmaxmin\ maxmin?max游戲本質上是最小化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、我們隨機產生一個隨機向量作為生成模型的數據,然后經過生成模型后產生一個新 的向量,作為 FakeImageFake\ ImageFake?Image,記作D(z)D(z)D(z)
    2、從數據集中隨機選擇一張圖片,將圖片轉化成向量,作為 RealImageReal\ ImageReal?Image,記作 xxx
  • 模型輸出
    將由 111 或者 222 產生的輸出,作為判別網絡的輸入,經過判別網絡后輸出值為一個 000111 之間的數,用于表示輸入圖片為 RealImageReal\ ImageReal?Image 的概率,realrealreal111fakefakefake000。 使用得到的概率值計算損失函數,解釋損失函數之前,我們先解釋下判別模型的輸入。 根據輸入的圖片類型是 FakeImageFake\ ImageFake?ImageRealImageReal\ ImageReal?Image 將判別模型的輸入數據的 labellabellabel 標記為 000 或者 111。即判別模型的輸入類型為(xfake,0)(x_{fake},0)(xfake?,0)或者(xreal,1)(x_{real},1)(xreal?,1)

反向傳播階段

  • 優化目標

    zzz表示輸入GGG的隨機噪聲)判別模型DDD要最大概率地分對真實樣本(最大化 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)))GGGDDD同時訓練,但是訓練中要固定一方,更新另一方的參數,交替迭代,使對方的錯誤最大化。最終,GGG能估計出真實樣本的分布。
    第一步:優化 DDD

    優化 DDD,即優化判別網絡時,沒有生成網絡什么事,后面的 G(z)G(z)G(z)就相當于已經得到的假 樣本。優化 DDD 的公式的第一項,使得真樣本 xxx 輸入的時候,得到的結果越大越好,因為真樣 本的預測結果越接近1越好;對于假樣本G(z)G(z)G(z),需要優化的是其結果越小越好,也就是D(G(z))D(G(z))D(G(z)) 越小越好,因為它的標簽為 000。但是第一項越大,第二項越小,就矛盾了,所以把第二項改 為 1?D(G(z))1-D(G(z))1?D(G(z)),這樣就是越大越好。
    第二步:優化 GGG

    在優化 GGG 的時候,這個時候沒有真樣本什么事,所以把第一項直接去掉,這時候只有假 樣本,但是這個時候希望假樣本的標簽是 111 ,所以是 D(G(z))D(G(z))D(G(z)) 越大越好,但是為了統一成 1?D(G(z))1-D(G(z))1?D(G(z)) 的形式,那么只能是最小化 1?D(G(z))1-D(G(z))1?D(G(z)),本質上沒有區別,只是為了形式的統一。之 后這兩個優化模型可以合并起來寫,就變成最開始的最大最小目標函數了。

  • 判別模型的損失函數

  • 生成模型的損失函數

  • 論文 :https://arxiv.org/abs/1812.04948

  • 代碼 :https://github.com/NVlabs/stylegan

  • 完整GANs筆記:http://www.gwylab.com/note-gans.html

  • StyleGAN詳細解讀:http://www.gwylab.com/pdf/Note_StyleGAN.pdf

  • 基于StyleGAN的一個好玩的網站:http://www.seeprettyface.com/

  • ppt地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html

總結

以上是生活随笔為你收集整理的GANs的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。