PaperNotes(20)-TGAN-DeliGAN

GAN的文章2篇

  • 1.從RS-GAN說起
  • 2.TGAN
    • Abstract
    • 1 Reviews of GANs
    • 2.3 Relate to Turing Test
    • 3 Related Works
    • 4 Experiments
      • 4.1 Design of Discriminator
    • 5.Conclusion
  • 3 DeliGAN
    • Abstract
    • 1. Introduction
    • 2. Related Work
    • 3.GAN
    • 4.本文方法
    • 5.實驗
      • 5.1. Modified Inception Score
      • 5.2. Toy Data
    • 6. Discussion

1.從RS-GAN說起

SGAN 就是標準的 GAN(Standard GAN)。
這個建模過程似乎對判別器的要求過于苛刻了,因為判別器是孤立運作的:訓練生成器時,真實樣本沒有參與,所以判別器必須把關于真實樣本的所有屬性記住,這樣才能指導生成器生成更真實的樣本。
所謂“沒有對比就沒有傷害,沒有傷害就沒有進步”
比如識別一張假幣,可能需要把它跟一張真幣對比一下;那么需要把真品放在一旁不斷地進行對比改進,而不是單單憑借**“記憶”**中的真品來改進。
**圖靈測試:**也強調了對比的重要性,如果機器人和人混合起來后就無法分辨了,那么說明機器人已經成功了。

RS-GAN中圖靈測試思想:鑒別器無法鑒別出混合的真假圖片,那么生成器就成功了;而為了生成更好的圖片,生成器也需要直接借助于真實圖片。
還是要推導一下f-gan的公式。

參考博文:https://blog.csdn.net/weixin_34362790/article/details/89628240
像是圖靈測試那篇文章的公式推導
先看一下那篇文章的一個大致翻譯,再回過頭來推公式

2.TGAN

Abstract

本文介紹了一種新的生成性對抗網絡(GANs)訓練模式。我們不是最小化證據分布p(x)和生成分布q(x)的距離,而是最小化p(xr)q(xf)和p(xf)q(xr)的距離。這種對抗模式可以解釋為GAN的圖靈檢驗。它允許我們在訓練生成器中使用真實樣本的信息,加速整個訓練過程。我們甚至發現,只要按比例增大鑒別器和生成器的大小,就可以在256x256分辨率上成功,而不必仔細調整超參數。

1 Reviews of GANs

自Goodfellow的第一部作品(Goodfellow等人,2014)以來,GANs得到了很大的發展。GANs的主要思想是訓練一個生成器G(z),使得生成分布

2.3 Relate to Turing Test

有一種非常可以直觀解釋的距離最小化:t圖靈測試

如我們所知,圖靈測試是對機器表現出與人類相當或無法區分的智能行為能力的測試。測試人員在不可預知的情況下與機器人和人類進行通信。如果測試人員無法區分人和機器人,我們可以說機器人(在某些方面)具有人類智能。

3 Related Works

(14)和(17)都允許優化器直接獲取真實樣本的信號來更新生成器。從形式上講,與SGANs和WGANs相比,T-GANs的判別函數是兩變量函數,既需要真樣本,也需要假樣本作為輸入。這意味著鑒別器需要成對比較才能做出合理的判斷。

這種想法首次出現在RSGANs(jolicourmatineau,2018)。我們的結果可以看作是RSGANs的擴展。只要在(15)中定義T(xr,xf),T(xr)T(xf),用1σ(x)=σ(x),我們就可以得到rsgan:

RSGANs在改進GANs方面具有一定的潛力,我們將在第4節展示T-GANs更有效和可持續的進展。
然而,RSGANs并不是第一個在訓練生成器中提供真實樣本的GANs。據我所知,第一個是Cramer GANs(Bellemare等人,2017),它基于能量距離:

4 Experiments

我們的實驗在CelebA HQ數據集(Liu等人,2015年)和cifar10數據集(Krizhevsky&Hinton,2009年)上進行。我們在CelebA HQ上測試了(14)和(17),分辨率分別為64x64、128x128和256x256。cifar10是一個附加的輔助實驗,證明T-GANs比現有的GANs工作得更好。

代碼是用Keras編寫的(Chollet等人,2015年),可在我的報告1中找到。模型的結構由DCGANs修改(Radford等人,2015)。模型采用Adam優化器(Kingma&Ba,2014)進行訓練,學習率為0.0002,動量為0.5。
在GTX 1060上進行了64x64和128x128分辨率的實驗,在GTX 1080Ti上進行了256x256分辨率的實驗。

4.1 Design of Discriminator

理論上,任何具有雙輸入xr,xf的神經網絡都可以用作T(xr,xf)。但為了簡單起見,受RSGANs的啟發,我們將T(xr,xf)設計為以下形式:
T(xr,xf)=D(E(xr)?E(xf))T(x_r,x_f)=D(E(x_r)-E(x_f))T(xr?,xf?)=D(E(xr?)?E(xf?))

其中E(.)E(.)E(.)為輸入圖像的編碼器,D(·)是一種以E(xr)、E(xf)的隱差矢量為輸入、標量為輸出的多層感知。它也可以被看作是一個比較xr和xf隱藏特征的相對論鑒別器,而不是比較RSGANs中的最終標量輸出。

如果我們使用T-SGANs(14),理論上對T沒有約束。但眾所周知,梯度消失通常發生在sgan中,譜歸一化是一種有效的防止梯度消失的策略。因此,無論是sgan還是wgan,光譜歸一化都是一種常用的鑒別方法,T-sgan和T-wgan也是如此。

實驗證明(14)和(17)在其鑒頻器T(xr,xf)上應用光譜歸一化時具有相似的性能。

5.Conclusion

在本文中,我們提出了一種新的對抗模式來訓練生成模型T-GANs。這種對抗模式可以解釋為GANs的圖靈檢驗。它是一種指導思想,而不是一種具體的GAN訓練模式。它可以與當前流行的GANs(如sgan和wgan)集成,從而產生T-sgan和T-wgan。

實驗表明,T-GANs在小尺度到大尺度的數據集上具有良好而穩定的性能。這說明在GANs中更新生成器時,真實樣本的信號是非常重要的。但是,T-GANs提高穩定性和收斂速度的機制還有待進一步探討。

3 DeliGAN

Abstract

最近一類生成圖像的方法被稱為生成性對抗網絡(GAN),用于生成對象、臥室、手寫數字和各種其他圖像形式的逼真圖像。然而,典型的基于GAN的方法需要大量的訓練數據來捕獲圖像形態的多樣性。在本文中,我們提出了DeLiGAN——一種基于GAN的新穎體系結構,用于各種有限的訓練數據場景。在我們的方法中,我們將潛在生成空間重新參數化為混合模型,并學習混合模型的參數和GAN的參數。對GAN框架的這種看似簡單的修改是出人意料地有效的,其結果是盡管使用有限的數據進行訓練,但能夠在生成的樣本中實現多樣性的模型。在我們的工作中,我們證明DeLiGAN可以生成手寫數字、物體和手繪草圖的圖像,所有這些都使用有限的數據。為了定量描述生成樣本的類內多樣性,我們還引入了一種改進的“初始分數”,這是一種與人類對生成樣本的評估密切相關的測量方法。

1. Introduction

近年來,圖像生成模型得到了復蘇,特別是隨著大數據集的出現[20,25]和深神經網絡的出現[15]。特別是,生成性對抗網絡(GANs)和變分自動編碼器(VAE)在這方面表現出了巨大的潛力。在本文中,我們重點討論基于GAN的方法。
最近,基于GAN的方法被用于生成令人印象深刻的真實的房屋編號[4]、面孔、臥室[17]和各種其他圖像類別[18,21]。通常,這些圖像類別往往具有極其復雜的底層分布。這種復雜性來自兩個因素:(1)細節水平(例如,物體的彩色照片比二元手寫數字圖像具有更多的細節)(2)多樣性(例如,物體類別的類別間和類別內變異性大于,例如,門牌號)。為了可行,發電機G需要有足夠的能力來處理這些復雜的誘發因素。通常,這種能力是通過G[2]的深層網絡來獲得的。然而,訓練大容量發電機需要大量的訓練數據。因此,當訓練數據量有限時,現有的基于GAN的方法是不可行的。
Contributions:

2. Related Work

生成性對抗網絡(GANs)由于其產生的樣本與其他方法相比具有一定的銳度,近年來得到了廣泛的應用。對最初提出的基線方法[8]進行了修改,以在不破壞訓練方案穩定性的情況下融入深卷積網絡,并在圖像質量方面實現顯著的質量改進[5,17]。Salimans等人做了進一步的改進。[21]通過結合算法技巧,如小批量識別,穩定訓練并提供更好的圖像質量。我們在工作中也加入了這些技巧。

我們的中心思想-利用一個混合模型的潛在空間-已經在各種論文中提出,但主要是在變分推理的背景下。例如,Gershman等人。[7] ,Jordan等人。[11] 以及Jaakkola等人。[10] 將推斷出的潛在分布的近似后部建模為混合模型,以表示更復雜的分布。最近,Renzede等人。[19] 以及Kingma等人。[12] 提出了“規范化流”的概念,通過一系列可逆映射變換潛在概率密度,構造復雜分布。就我們所知,GANs的背景下,不存在這樣的辦法。

我們的方法可以看作是一種嘗試,試圖修改潛空間,以獲得潛空間中高概率區域的樣本。潛空間修正的概念在最近的一些著作中得到了探討。例如,Han等人。[9] 建議在訓練潛在因素和發電機參數之間進行交替。Arulkumaran等人。[1] 制定一個MCMC采樣過程,以從變分或對抗性自編碼器中學習到的潛在空間的高概率區域采樣。

3.GAN

雖然在第一節中介紹了GANs,但我們在下面大致描述它們以建立連續性。

4.本文方法

在GAN訓練中,我們試圖學習從簡單的潛在分布pz到復雜數據分布(方程2)的映射。這種映射需要一個深度生成網絡,該網絡可以分離數據分布變化的潛在因素,并在生成的樣本中實現多樣性[2]。反過來,這就意味著需要大量的數據。因此,當數據有限但來源于不同的圖像模式時,增加網絡深度變得不可行。我們解決這個難題的方法是:我們建議增加先驗分布的建模能力,而不是增加模型的深度。特別地,我們提出了潛在空間的重新參數化,作為高斯模型的混合。

為了從上述分布中獲得樣本,我們在N個高斯分量中選擇一個,運用金馬等人提出的“重新參數化技巧”[13]。 從選定的高斯中采樣。

5.實驗

對于我們的DeLiGAN框架,選擇N,即高斯分量的數目,在經驗上使得更復雜的數據分布需要更多的高斯。較大的N值可能有助于相對增加多樣性的模型。然而,增加N也會增加內存需求。我們的實驗表明,增加N超過一個點對模型容量幾乎沒有影響,因為高斯分量趨于“擁擠”并變得多余。我們用50到100之間的N做實驗。
為了定量地描述一般樣本的多樣性,我們還設計了一個改進版的“初始得分”,這是一個與人類評價密切相關的測量方法[21]。我們接下來描述這個分數。

5.1. Modified Inception Score

5.2. Toy Data

作為Toy數據的基線GAN模型,我們建立了一個多層感知器,其中一個隱藏層為G和D(見圖2)。對于DeLiGAN模型,我們將高斯層的混合物合并到一起,如圖1所示。我們還比較了DeLiGAN和其他四個基線模型

6. Discussion

上述實驗證明了將潛在空間建模為可學習高斯混合而不是傳統的單位高斯/均勻分布的好處。我們的性能的一個原因是,在給定足夠多的高斯分量的情況下,混合模型可以近似任意復雜的潛在分布。
在實踐中,我們還注意到,我們的混合模型方法也有助于提高模型的穩定性,特別適用于潛在分布可能不連續的各種低數據區域。考慮以下情況:根據梯度更新,μ上的梯度沿增加鑒別器得分D(G(z))的方向在潛在空間中推動它們(等式11)。因此,從更新的高斯分量生成的樣本導致更高的概率pdata(G(z))。

因此,隨著訓練的進行,我們發現μ是在特定的區域,即使在低概率區域初始化,也會緩慢地向導致高概率樣本pdata(G(z))的區域漂移。因此,從低概率區域采樣的點較少。這可以通過(i)我們的模型在玩具實驗中生成的樣本的位置(圖3(d))(ii)MNIST實驗中劣質生成(與任何數字都不相似)的相對較小頻率(圖4)來說明。我們的模型成功地處理了數據分布中兩種模式之間的低概率空洞,將空洞模擬為其自身的潛在分布。因此,這些地區沒有生產任何樣品。這也可以在MNIST實驗中看到——與基線GAN相比,我們的模型產生的非數字樣樣本非常少(圖4)。

在復雜的多模態設置中,數據可能在模式之間不均衡地分布,使得某些模式包含相對較多的數據點。在這種情況下,基線GAN中的生成器傾向于將潛在分布與Jensen-Shannon散度所指示的具有最大數據的模式相擬合[23]。這會導致生成的樣本之間的低多樣性,因為數據分布的一部分有時會被生成器網絡忽略。這種影響在低數據區尤其明顯,因為圖像空間中的模式數量由于連接某些模式的數據不可用而增加。因此,生成器試圖適應已經有限的數據的一小部分。這與我們的實驗結果是一致的,在實驗結果中,隨著訓練數據量的減少(MNIST-圖4,CIFAR-圖5)或訓練數據多樣性的增加(草圖-圖6),由基線GANs產生的樣本的多樣性和質量惡化。

我們的設計決策是為潛在空間建立一個可訓練的混合模型,這可以看作是一個算法“插件”,可以添加到幾乎任何GAN框架中,包括最近提出的模型[24,21],以獲得對不同數據的更好性能。最后,還需要注意的是,我們的模型仍然受到底層GAN框架本身的建模能力的限制。因此,當我們在混合高斯層的基礎上使用更好的GAN框架時,我們可以期望模型生成真實的、高質量的樣品。

在這項工作中,我們已經證明了將GANs中的潛在空間重新參數化為一個混合模型可以導致一個強大的生成模型。通過對不同模式集(數字、手繪物體草圖和物體彩色照片)的實驗,我們觀察到,這種看似簡單的修改有助于穩定模型,即使在低數據場景中也能產生不同的樣本。目前,我們的混合模型設置包含一些簡化的合集(每個分量的對角協方差矩陣,等權混合分量),這些合集限制了我們模型逼近更復雜分布的能力。這些參數可以納入我們的學習方案中,以更好地逼近潛在分布。培訓DeLiGAN模型和計算修改的初始分數的源代碼可以在http://val.cds.iisc.ac.in/DeLiGAN/上訪問。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444630.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444630.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444630.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu apache配置負載均衡篇(一)

首先下載apache2服務器 apt-get install apache2 使得代理生效: a2enmod proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http 修改配置 sudo vi /etc/apache2/mods-enabled/proxy.conf ProxyRequests Off <Proxy *> Order deny,allow Deny …

leetcode108 將有序數組轉換為二叉搜索樹

將一個按照升序排列的有序數組&#xff0c;轉換為一棵高度平衡二叉搜索樹。 本題中&#xff0c;一個高度平衡二叉樹是指一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。 示例: 給定有序數組: [-10,-3,0,5,9], 一個可能的答案是&#xff1a;[0,-3,9,-10,null,…

ubuntu apache配置負載均衡篇(二)

上篇文章說到了基本的負載均衡配置,這次再說下負載均衡里的反向代理配置項參數:ProxyPass與ProxyPassReverse及ProxyPassMatch 1、ProxyPass: 語法:ProxyPass [path] !|url 它主要是用作URL前綴匹配,不能有正則表達式,它里面配置的Path實際上是一個虛擬的路徑,在反向…

MachineLearning(12)- RNN-LSTM-tf.nn.rnn_cell

RNN-LSTM1.RNN2.LSTM3. tensorflow 中的RNN-LSTM3.1 tf.nn.rnn_cell.BasicRNNCell()3.2 tf.nn.rnn_cell.BasicLSTMCell()3.3 tf.nn.dynamic_rnn()--多步執行循環神經網絡1.RNN RNN-Recurrent Neural Network-循環神經網絡 RNN用來處理序列數據。多層感知機MLP層間節點全聯接&…

判斷微信小游戲用戶是否真的分享

作為開發者,傳統的微信分享拿到分享的狀態碼并不能完全確定玩家是否分享到好友或群。 因此一部分開發者給分享做一個定時器,超過5秒就判定玩家分享成功,實際上很容易被玩家利用。 因此我們可以利用微信分享過程中的圖片url鏈接做文章: 1.需要一個web服務器,提供給客戶端…

Leaf服務器框架從入門到放棄(一)認識Leaf和安裝Leaf環境

首先我簡單介紹下Leaf服務器,下面這段描述是我摘自github官方README說明: Leaf 游戲服務器框架簡介 Leaf 是一個由 Go 語言(golang)編寫的開發效率和執行效率并重的開源游戲服務器框架。Leaf 適用于各類游戲服務器的開發,包括 H5(HTML5)游戲服務器。 Leaf 的關注點:…

Linux Command List

Linux Command ListLinux Command List)todops auxsednohupnvidia-smisnaptorch.cuda.is_available()Linux Command List) Linux(1)-touch,mkdir,rm,mv,cp,ls,cd,cat Linux(2)-tar,find,grep,xargs Linux(3)-網-ifconfig,ping,ssh Linux(4)-資源-du,top,free,gnome Linux(…

JS演示圖論匯總

BFS.js var BFSClass function () {this.isVisit new Array();this.adj new Array();this.vQueue new Array();this.curV;this.temp new Array();this.init function (beginV) {this.curV null;this.temp [];//初始化頂點訪問數組this.isVisit [];for (var i 0; i &…

Shell腳本自動監控docker容器的狀態

首先我們來寫一個腳本rootserver:~# cat docker_monitor.sh #!/bin/bash #監控容器的運行狀態 #容器名稱 傳入參數 containerName$1 #當前時間 nowdate "%Y-%m-%d %H:%M:%S"# 查看進程是否存在 existdocker inspect --format {{.State.Running}} ${containerNam…

Python模塊(9)-Time,Json 簡易使用教程

Time,Json簡易使用教程1 Time1.1 獲取時間1.2 程序計時2 Json1 Time Python中內置了一些與時間處理相關的庫&#xff0c;如time、datatime和calendar庫。其中time庫是Python中處理時間的標準庫&#xff0c;是最基礎的時間處理庫&#xff0c;提供如下功能功&#xff1a; &#…

AWS的VPC使用經驗(一)

Amazon VPC 概念 Amazon VPC 是 Amazon EC2 的網絡化階層。如果您是首次使用 Amazon EC2,請參閱 Amazon EC2 用戶指南(適用于 Linux 實例) 中的什么是 Amazon EC2?以獲取簡要概述。 以下是 VPC 的主要概念: Virtual Private Cloud (VPC) 是僅適用于您的 AWS 賬戶的虛擬網…

AWS的VPC使用經驗(二)

上文說了如何創建自定義VPC網絡的EC2實例&#xff0c;這節說如何在多個VPC之間創建對等連接。 這里分別填寫自己的VPC和對方的VPC的ID信息&#xff0c;然后在對方的VPC里就能看到有連接請求&#xff0c;在對方的連接請求里選擇 “操作”->接受。 到這里已經快要收尾了&…

ML Tools List

文章目錄1.Pyorch2.TensorFlow3. Other1.Pyorch Pytorch(1)-內置/自己設計的損失函數使用 Pytorch(2)-tensor常用操作 Pytorch(3)–數據載入接口&#xff1a;Dataloader、datasets Pytorch(4)-模型保存-載入-eval() Pytorch(5)-梯度反向傳播 Pytorch(6)–設置隨機種子&am…

ubuntu nginx配置負載均衡篇(一)

Nginx 代理服務的配置說明 1、設置 404 頁面導向地址 error_page 404 https://www.runnob.com; #錯誤頁 proxy_intercept_errors on; #如果被代理服務器返回的狀態碼為400或者大于400,設置的error_page配置起作用。默認為off。 2、如果我們的代理只允許接受get,post請求…

坦克大戰

效果 map.js var map4 [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,2,0,0,2,2,0,0,0,2,2,0,0,2,2,0,0,2,2,0,2,2,0],[0,2,2,0,0,2,2,0,0,0,2,2,3,3,2,2…

ubuntu nginx配置負載均衡篇(二)

這里提供部分我的配置文件: nginx.conf: user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;# multi_accept on; }http {### Basic Settings##sendfile on;tcp_nopush on;tcp_nodelay…

Papar Notes List

PaperNotes(1)-Modeling the World from Internet Photo Collections PaperNotes(2)-Generative Adversarial Nets PaperNotes(3)-圖像分割-RCNN-FCN-Boxsup PaperNotes(4)-高質量圖像生成-cgan,stackgan,lapgan,cyclegan,pix2pixgan PaperNotes(5)-Conditional Generative Adv…

windows安裝 MySQL5.7服務端

1,安裝https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.30-winx64.zip mysql安裝包。 2. 自己配置my.ini [client] port=3306 [mysql] default-character-set=utf8[mysqld] character-set-server=utf8 port=3306 basedir="D:/mysql-5.7.30-winx64/" datad…

screen命令使用說明

有些程序寫的很操蛋&#xff0c;比如放到后臺執行&#xff0c;但后邊還需要再切回前臺來重新執行&#xff0c;這個時候我們選擇screen工具&#xff1a; screen -d -m -S LoginServer[6001] ./run_login_server.sh 具體的screen命令包含哪些參數&#xff0c;可以參考scree…

看這玩意復習你還會掛科?《數據結構篇》

一&#xff0e;緒論 1.何謂程序設計&#xff1f; 程序 算法 數據結構 2.數據結構的定義 是相互之間存在一種或多種特定關系的數據元素的集合 3.數據、數據元素、數據對象的概念 數據&#xff08;data&#xff09;&#xff1a;對客觀事物的符號表示&#xff0c;含義很廣&am…