<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何提高生成器G樣本質量的新方法

nlfO_thejiangme ? 來源:未知 ? 作者:李倩 ? 2018-09-07 10:22 ? 次閱讀

最近,生成模型的快速發展引起了廣泛的關注,尤其是由Goodfellow等人發明的生成對抗網絡(GANs),其所建立的學習框架就像老頑童的“左右互搏術”,由生成器G和判別器D組成,兩者在博弈過程中扮演著不同角色。

對于給定訓練數據Dt,生成器G的目的就是創建與訓練數據Dt具有相同概率分布的樣本。判別器D屬于常見的二分類器,主要負責兩個工作。 首先,它要判別輸入究竟是來自真實的數據分布(Dt)還是生成器;此外,判別器通過反傳梯度指導生成器G創造更逼真的樣本,這也是生成器G優化其模型參數的唯一途徑。在博弈過程中,生成器G將隨機噪聲作為輸入并生成樣本圖像Gsample,要使判別器D以為這是來自真實訓練集Dt的判斷概率最大化。

訓練期間,判別器D的一半時間將訓練集Dt的圖像作為輸入,另一半時間將生成器得到的圖像Gsample作為輸入。訓練判別器D要能最大化分類正確的概率,能夠區分來自訓練集的真實圖像和來自生成器的假樣本。最后,希望博弈最終能達到平衡——納什均衡。

所以,生成器G要能使得生成的概率分布和真實數據分布盡量接近,這樣判別器D就無法區分真實或假冒的樣本。

在過去的幾年中,GANs已經被用于許多不同的應用,包括:生成合成數據,圖像素描,半監督學習,超分辨率和文本到圖像生成。然而,大部分關于GANs的工作都集中在開發穩定的訓練技術上。的確,我們都知道GANs在訓練期間是不穩定的,并且對超參數的選擇十分敏感。本文將簡要介紹目前GANs前沿技術,關于如何提高生成器G樣本質量的新方法。

卷積生成對抗網絡

深度卷積生成對抗網絡(DCGAN)為GANs能夠成功用于圖像生成邁進了一大步。它屬于ConvNets家族的一員,利用一些結構約束使得GANs的訓練更穩定。在DCGAN中,生成器G由一系列轉置卷積算子組成,對于輸入的隨機噪聲向量z,通過逐漸增加和減少特征的空間維度,對其進行變換。

使用DCNNs進行無監督表示學習的網絡結構示意圖

DCGAN引入了一系列網絡結構來幫助GAN訓練更穩定,它使用帶步幅的卷積而不是池化層。此外,它對生成器和判別器都使用BatchNorm,生成器中使用的是ReLU和Tanh激活函數,而判別器中使用Leaky ReLU激活函數。下面,我們來具體看一下:

BatchNorm是為了將層輸入的特征進行規范化,使其具備零均值和單位方差的特性。BatchNorm對于網絡訓練是至關重要的,它可以讓層數更深的模型工作正常而不會發生模式崩塌。模式崩塌是指生成器G創建的樣本具有非常低的多樣性,換句話說就是生成器G對于不同的輸入信號都返回相同的樣本。此外,BatchNorm有助于處理由于參數初始化不良引起的問題。

此外,DCGAN在判別器網絡中使用Leaky ReLU激活函數。與常規ReLU函數不同,Leaky ReLU不會把所有的負值都置零,而是除以一個比例,這樣就能傳遞一些很小的負的梯度信號,從而使判別器中更多的非零梯度進入生成器。

ReLU函數(左),Leaky ReLU(右),與ReLU不同,Leaky ReLU函數對于x軸左側的負值導數不為零。

DCGAN這樣的網絡結構目前仍被廣泛應用,但大部分的工作都集中在如何使GAN訓練更加穩定。

1.基于自注意力的生成對抗網絡

自注意力生成對抗網絡(Self-Attention for Generative Adversarial Networks,SAGAN)是這種類型的網絡之一。近來,基于注意力的方法已經被成功用于機器翻譯等問題上。 自注意力GANs具有特殊的網絡結構,使得生成器G能夠建模長程依賴關系,核心思想是使生成器G能夠生成具有全局細節信息的樣本。

如果我們看一下DCGAN模型會發現常規的GANs模型主要基于卷積,使用局部感受野(卷積核)來學習表征。 卷積具有很多非常好的屬性,比如參數共享和平移不變性。

典型的深度卷積網絡(Deep ConvNets)通過層級遞進的方式來學習表征。 用于圖像分類的常規ConvNets前幾層中只會學到邊緣和角點等簡單的特征。然而ConvNets卻能夠使用這些簡單的表征來學習到更為復雜的表征。 簡而言之,ConvNets的表征學習是基于簡單的特征表示,很難學習到長程依賴關系。

實際上,它可能只適用于低分辨率特征向量。問題在于,在這種粒度下,信號的損失量難以對長程細節進行建模。下面我們看一些樣本圖像:

使用DCNNs進行無監督表示學習的生成樣本示意圖

這些圖像是使用DCGAN模型基于ImageNet數據集訓練而生成得到的。正如自注意力GANs文章中所指出的,對于含有較少結構約束的類別,比如海洋、天空等,得到結果較好;而對于含有較多幾何或結構約束的類別則容易失敗,比如合成圖像中狗(四足動物)的毛看起來很真實但手腳很難辨認。這是因為復雜的幾何輪廓需要長程細節,卷積本身不具備這種能力,這也是注意力能發揮很好作用的地方。

所以解決這一問題的核心想法在于不局限于卷積核,要為生成器提供來自更廣泛的特征空間中的信息,這樣生成器G就可以生成具有可靠細節的樣本。

實現

給定卷積層L一個特征輸入,首先用三種不同的表示來對L進行變換。這里使用了1x1卷積對L進行卷積以獲得三個特征空間:f,g和h。這一方法使用矩陣乘法來線性組合f和g計算得到注意力,并將其送入softmax層。

自注意力GANS網絡示意圖

最后得到的張量o是與h的線性組合,由尺度因子gamma控制縮放。 要注意,gamma從0開始,因此在訓練剛開始時,gamma為零相當于把注意力層去掉了,此時網絡僅依賴于常規卷積層的局部表示。然而,隨著gamma接收梯度下降的更新,網絡逐漸允許來自非局部域的信號通過。此外要注意的是特征向量f和g具有與h不同的維度。事實上f和g使用的卷積濾波器大小要比h小8倍。

2.譜范數(L2范數)歸一化

此前,Miyato等人提出了一種稱為譜范數歸一化(spectral normalization ,簡稱SN)的方法。 簡而言之,SN可約束卷積濾波器的Lipschitz常數,作者使用它來穩定判別器D網絡訓練。實踐證明的確很有效。

然而,在訓練歸一化判別器D的時候存在一個基本問題。先前的工作表明,正則化判別器D會使得GAN的訓練變慢。一些已有變通方法往往通過調整生成器G和判別器D之間的更新速率,使得在更新生成器G之前多更新判別器D幾次。這樣在更新生成器G之前,正則化判別器D可能需要五次或更多次更新。

有一種簡單而有效的方法可以解決學習緩慢和更新率不平衡的問題。我們知道在GAN框架中,生成器G和判別器D是一起訓練的。 基于這點,Heusel等人在GAN訓練中引入了兩個時間尺度的更新規則(two-timescale update rule,簡稱TTUR),對生成器G和判別器D使用不同的學習率。在這里,設置判別器D訓練的學習率是生成器G 的四倍,分別為0.004和0.001。 較大的學習率意味著判別器D將吸收梯度信號的較大部分。較高的學習速度可以減輕正則化判別器D學習速度慢的問題。此外,這種方法也可以使得生成器G和判別器D能以相同的速率更新。事實上,我們在生成器G和判別器D之間使用的是1:1的更新間隔。

此外,文章還表明,生成器狀態的好壞與GAN性能有著因果關系。鑒于此,自注意力GAN使用SN來穩定生成器網絡的訓練必然有助于提高GAN網絡的整體性能。對于生成器G而言,譜范數歸一化既可防止參數變得非常大,也可以避免多余的梯度。

實現

值得注意的是,Miyato等人引入的SN算法是迭代近似。 它定義了對于每個層W,用W的最大奇異值來對每個卷積層W正則化。但是,在每一步都用奇異值分解那就計算量太大了。所以Miyato等人使用一種被稱作power iteration的方法來獲得近似的最大奇異值的解。

要注意的是在訓練期間,在power iteration中計算得到的?值會在下一次迭代中被用作u的初始值。這種策略允許算法僅經過一輪power iteration就獲得非常好的估計。此外,為了歸一化核權重,將它們除以當前的SN估計。

訓練細節

在實驗中生成器G輸入隨機向量z并生成128x128大小的RGB圖像。所有層(包括全連接層)都使用了SN。生成器G使用Batchnorm和ReLU激活函數,在中層到高層的特征圖中使用了自注意力模型。與原作者實現方法一樣,我們將注意力層放置在32x32大小的特征圖上。

判別器D還使用譜范數歸一化(所有層)。它將大小為128x128的RGB圖像樣本作為輸入,并輸出無標度的概率。它使用leaky ReLU激活函數,alpha參數設置為0.02。與生成器G一樣,它在32x32大小的特征圖上上也有一個自注意力層。

最終的結果如下圖所示:

通過自注意力和譜歸一化的方式可以實現更好的生成效果,如果你想了解更多,下面的兩篇論文是不錯的選擇:

SAGAN: https://arxiv.org/abs/1805.08318

Spectral Normalization: https://arxiv.org/pdf/1802.05957.pdf https://openreview.net/pdf?id=B1QRgziT-

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 濾波器
    +關注

    關注

    158

    文章

    7391

    瀏覽量

    175220
  • GaN
    GaN
    +關注

    關注

    19

    文章

    1789

    瀏覽量

    68807
  • 生成器
    +關注

    關注

    7

    文章

    306

    瀏覽量

    20380

原文標題:GAN提高生成器G樣本質量新玩法:自注意力和譜范數

文章出處:【微信號:thejiangmen,微信公眾號:將門創投】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不同雷達目標生成器的架構及目標生成器的設計要求和準則

    雷達目標生成器的性能和能力以及它們測試雷達系統的可用性是關鍵,這主要取決于幾個技術參數。本文介紹不同雷達目標生成器的架構,闡明適合雷達系統性能測試的目標生成器的設計要求和準則,同時給出測量結果舉例。
    發表于 03-29 11:40 ?1562次閱讀

    Minitab 交互式表格生成器

    生成器
    MinitabUG
    發布于 :2024年04月03日 15:58:54

    AllJoyn C++代碼生成器

    部分——此乃AllJoyn 應用的核心價值所在。其中包括總線鏈接邏輯、對象創建、接口綁定以及消息編組/解組,與各種方法和組成服務對象的信號相對應。輸入進代碼生成器的為 XML 格式文件,用以描述服務
    發表于 09-19 18:11

    如何去使用生成器

    生成器的工作原理是什么?如何去使用生成器呢?
    發表于 10-25 08:44

    python生成器

    = generator_factory()>>> gen3. 生成器的使用從一個生成器對象中取出元素,和我們前面學過的通過切片訪問列表中的元素不一樣,它沒有那么直觀。想要從生成器對象中取出元素,只有兩種
    發表于 02-24 15:56

    pim卡資料生成器

    pim卡資料生成器
    發表于 11-22 23:23 ?6次下載

    展頻時脈生成器

    展頻時脈生成器展頻時脈的技術是頻率調變( FM )的一種應用,相反地,頻率調變通常會伴隨生成展頻的效果。展頻時脈最基本的想法,是稍微地調變時脈訊號的頻率,造成時脈訊
    發表于 02-26 11:05 ?23次下載

    自制酸奶生成器

    自制酸奶生成器
    發表于 04-23 11:48 ?886次閱讀
    自制酸奶<b class='flag-5'>生成器</b>

    LED段碼生成器

    本文提供的LED段碼生成器,希望對你的學習有所幫助!
    發表于 06-03 15:19 ?96次下載

    代碼生成器的應用

    jeesite框架代碼生成器,可以很方便的生成代碼,挺不錯的。
    發表于 01-14 15:19 ?0次下載

    基于生成器的圖像分類對抗樣本生成模型

    現有基于生成器的對抗樣本生成模型相比基于迭代修改原圖的算法可有效降低對抗樣本的構造時間,但其生成的對抗樣本與原圖在感知上具有明顯差異,人眼易
    發表于 04-07 14:56 ?2次下載
    基于<b class='flag-5'>生成器</b>的圖像分類對抗<b class='flag-5'>樣本生成</b>模型

    AN-113:精密坡道生成器

    AN-113:精密坡道生成器
    發表于 05-16 12:04 ?6次下載
    AN-113:精密坡道<b class='flag-5'>生成器</b>

    python生成器是什么

    python生成器 1. 什么是生成器? 生成器(英文名 Generator ),是一個可以像迭代器那樣使用for循環來獲取元素的函數。 生成器的出現(Python 2.2 +),實現
    的頭像 發表于 02-24 15:53 ?3164次閱讀

    Arduino贊美生成器

    電子發燒友網站提供《Arduino贊美生成器.zip》資料免費下載
    發表于 11-09 14:22 ?1次下載
    Arduino贊美<b class='flag-5'>生成器</b>

    通用RFID生成器

    通用RFID生成器資料分享
    發表于 02-10 15:35 ?1次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>