《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 資源 | 帶自注意力機(jī)制的生成對抗網(wǎng)絡(luò),實(shí)現(xiàn)效果怎樣?

資源 | 帶自注意力機(jī)制的生成對抗網(wǎng)絡(luò),實(shí)現(xiàn)效果怎樣?

2018-06-06

在前一段時(shí)間,Han Zhang 和 Goodfellow 等研究者提出添加了自注意力機(jī)制的生成對抗網(wǎng)絡(luò),這種網(wǎng)絡(luò)可使用全局特征線索來生成高分辨率細(xì)節(jié)。本文介紹了自注意力生成對抗網(wǎng)絡(luò)的 PyTorch 實(shí)現(xiàn),讀者也可以嘗試這一新型生成對抗網(wǎng)絡(luò)。


項(xiàng)目地址:https://github.com/heykeetae/Self-Attention-GAN


這個(gè)資源庫提供了一個(gè)使用 PyTorch 實(shí)現(xiàn)的 SAGAN。其中作者準(zhǔn)備了 wgan-gp 和 wgan-hinge 損失函數(shù),但注意 wgan-gp 有時(shí)與譜歸一化(spectral normalization)是不匹配的;因此,作者會移除模型所有的譜歸一化來適應(yīng) wgan-gp。


在這個(gè)實(shí)現(xiàn)中,自注意機(jī)制會應(yīng)用到生成器鑒別器的兩個(gè)網(wǎng)絡(luò)層。像素級的自注意力會增加 GPU 資源的調(diào)度成本,且每個(gè)像素有不同的注意力掩碼。Titan X GPU 大概可選擇的批量大小為 8,你可能需要減少自注意力模塊的數(shù)量來減少內(nèi)存消耗。

微信圖片_20180606202238.jpg




目前更新狀態(tài):


注意力可視化 (LSUN Church-outdoor)

無監(jiān)督設(shè)置(現(xiàn)未使用標(biāo)簽)

已應(yīng)用:Spectral Normalization(代碼來自 https://github.com/christiancosgrove/pytorch-spectral-normalization-gan)

已實(shí)現(xiàn):自注意力模塊(self-attention module)、兩時(shí)間尺度更新規(guī)則(TTUR)、wgan-hinge 損失函數(shù)和 wgan-gp 損失函數(shù)


結(jié)果


下圖展示了 LSUN 中的注意力結(jié)果 (epoch #8):

微信圖片_20180606202309.jpg




SAGAN 在 LSUN church-outdoor 數(shù)據(jù)集上的逐像素注意力結(jié)果。這表示自注意力模塊的無監(jiān)督訓(xùn)練依然有效,即使注意力圖本身并不具有可解釋性。更好的圖片生成結(jié)果以后會添加,上面這些是在生成器第層 3 和層 4 中的自注意力的可視化,它們的尺寸依次是 16 x 16 和 32 x 32,每一張都包含 64 張注意力圖的可視化。要可視化逐像素注意力機(jī)制,我們只能如左右兩邊的數(shù)字顯示選擇一部分像素。


CelebA 數(shù)據(jù)集 (epoch on the left, 還在訓(xùn)練中):


微信圖片_20180606202335.jpg


LSUN church-outdoor 數(shù)據(jù)集 (epoch on the left, 還在訓(xùn)練中):


微信圖片_20180606202401.jpg


訓(xùn)練環(huán)境:


Python 3.5+ (https://www.continuum.io/downloads)

PyTorch 0.3.0 (http://pytorch.org/)


用法


1. 克隆版本庫


$ git clone https://github.com/heykeetae/Self-Attention-GAN.git

$ cd Self-Attention-GAN


2. 下載數(shù)據(jù)集 (CelebA 或 LSUN)


$ bash download.sh CelebA
or
$ bash download.sh LSUN


3. 訓(xùn)練


$ python python main.py --batch_size 6 --imsize 64 --dataset celeb --adv_loss hinge --version sagan_celeb
or
$ python python main.py --batch_size 6 --imsize 64 --dataset lsun --adv_loss hinge --version sagan_lsun


4. 享受結(jié)果吧~



$ cd samples/sagan_celeb
or
$ cd samples/sagan_lsun


每 100 次迭代生成一次樣本,抽樣率可根據(jù)參數(shù) --sample_step (ex,—sample_step 100) 控制。


論文:Self-Attention Generative Adversarial Networks


微信圖片_20180606202539.jpg


論文地址:https://arxiv.org/abs/1805.08318


在此論文中,我們提出了自注意生成式對抗網(wǎng)絡(luò)(SAGAN),能夠?yàn)閳D像生成任務(wù)實(shí)現(xiàn)注意力驅(qū)動的、長范圍的依存關(guān)系建模。傳統(tǒng)的卷積 GAN 只根據(jù)低分辨特征圖中的空間局部點(diǎn)生成高分辨率細(xì)節(jié)(detail)。在 SAGAN 中,可使用所有特征點(diǎn)的線索來生成高分辨率細(xì)節(jié),而且鑒別器能檢查圖片相距較遠(yuǎn)部分的細(xì)微細(xì)節(jié)特征是否彼此一致。不僅如此,近期研究表明鑒別器調(diào)節(jié)可影響 GAN 的表現(xiàn)。根據(jù)這個(gè)觀點(diǎn),我們在 GAN 生成器中加入了譜歸一化(spectral normalization),并發(fā)現(xiàn)這樣可以提高訓(xùn)練動力學(xué)。我們所提出的 SAGAN 達(dá)到了當(dāng)前最優(yōu)水平,在極具挑戰(zhàn)性的 ImageNet 數(shù)據(jù)集中將最好的 inception 分?jǐn)?shù)記錄從 36.8 提高到 52.52,并將 Frechet Inception 距離從 27.62 減少到 18.65。注意力層的可視化展現(xiàn)了生成器可利用其附近環(huán)境對物體形狀做出反應(yīng),而不是直接使用固定形狀的局部區(qū)域。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。