国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

這篇具有很好參考價值的文章主要介紹了NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

通俗來講就是,張三造假幣(Generator生成器),然后用驗鈔機去驗證真假(Discriminator辨別器),如果是假的就繼續(xù)提高造假技術,直到驗鈔機檢驗不出來為止,也就是說一個造假一個驗假(驗鈔機也需升級),兩者互相學習和提高的過程,就叫做GAN,那在圖片領域,就是想要生成的圖片達到以假亂真的效果!
好了,這里試圖將StyleGAN3篇論文都解讀在一起,方便大家更快熟悉這個讓人驚艷的大模型,水平有限,有誤處歡迎指正,感謝。

1、StyleGAN

可以先來看一個StyleGAN視頻,看下生成的效果:StyleGAN生成圖片

1.1、StyleGAN架構圖

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

左邊是傳統(tǒng)的生成器,右邊是基于樣式的生成器

傳統(tǒng)生成器比較簡單,就是通過輸入層提供Latent潛在代碼(一般我寫成隱藏編碼),而基于樣式的生成器,首先將輸入映射到中間潛在空間W,也就是說增加了一個映射網(wǎng)絡,然后將這些仿射變換的A分別作為style輸入到自適應實例規(guī)范化(AdaIN),進行上采樣等操作控制生成器。另外在AdaIN之前和在卷積之后添加高斯噪聲。
這里“A”代表學習到的仿射變換,“B”將學習到的每通道縮放因子,應用于噪聲輸入映射網(wǎng)絡f(8層),以及合成網(wǎng)絡g或叫生成網(wǎng)絡(18層)。最后一層的輸出使用單獨的1×1卷積轉(zhuǎn)換為RGB。
我們的生成器參數(shù),共有2620萬個可訓練參數(shù),而傳統(tǒng)生成器只有23.1萬個。
其中基于樣式生成器的Mapping network映射網(wǎng)絡,主要就是將隨機采樣的數(shù)據(jù)投影到w(圖像特征的子集)空間中,接全連接層(FC)組成,其中生成網(wǎng)絡里的輸入是4x4x512的常數(shù)張量。

重大的變化就是增加映射網(wǎng)絡這一步驟,就是從z∈Z到w∈W,隱藏編碼到中間隱編碼的過程。我們知道一張人臉圖片有很多特征,眼睛、鼻子、表情、膚色等等,這些特征之間是關聯(lián)著的或者說相互糾纏著,我們叫做耦合度高,這對于我們想控制不同的細節(jié)比較麻煩,所以需要做一步解耦的操作,就是把這些特征給分層或說分成很多個維度,這樣的話,我們就好操作了,比如操作眼睛就不會影響到鼻子等其他維度。

1.2、FFHQ數(shù)據(jù)集

我們這里使用的數(shù)據(jù)集是FFHQ(Flickr-Faces-HQ),F(xiàn)lickr是以前雅虎的一個圖片站點,收集的是高質(zhì)量的人臉圖像,最初是作為生成對抗網(wǎng)絡(GAN)的基準而創(chuàng)建的,該數(shù)據(jù)集由70,000張分辨率為1024×1024的高質(zhì)量PNG圖像組成,并且在年齡,種族和圖像背景方面包含相當大的差異。由于圖片是從Flickr抓取的,因此繼承了該網(wǎng)站的所有偏見,使用dlib自動對齊和裁剪。尊重用戶的隱私,所以僅收集用戶許可下的圖像。

1.3、AdaIN自適應實例規(guī)范化

上面我們提到的Adaptive Instance Normalization(AdaIN)自適應實例規(guī)范化,作用是對每層輸入進來的風格做處理,我們來看下它的公式:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構表示每個特征圖,和是中間隱編碼W轉(zhuǎn)換過來的風格,,其中每個特征映射分別歸一化,然后使用樣式y(tǒng)的相應標量分量進行縮放和偏置。因此y的維數(shù)是該層上特征映射數(shù)量的兩倍。

1.4、風格混合

我們按照上面的架構來生成一組示例看下:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

?

樣式如何混合:生成網(wǎng)絡中隨機選擇的點從一個隱藏編碼切換到另一個,具體來說,就是通過映射網(wǎng)絡運行兩個隱藏編碼z1, z2,并由對應的w1, w2控制樣式,使w1在交叉點前應用,w2在交叉點后應用。
這里使用了截斷技巧,就是防止在W的一些極端區(qū)域進行采樣,可以看到生成的效果很不錯,而且眼鏡等都能很好的合成,其中樣式分三類:

粗獷樣式:從源B中帶來姿勢、發(fā)型、臉型和眼鏡等高級方面,而所有顏色(眼睛、頭發(fā)、光線)和更精細的面部特征來源于A

中間樣式:從源B那里繼承了較小尺度的面部特征、發(fā)型、眼睛的睜眼/閉眼,而從源A那里保留了姿勢、大致的臉型和眼鏡。

精細樣式:身份特征跟源A相似,膚色來自源B,主要帶來了配色方案和微觀結構。由此我們可以知道,低分辨率的style控制姿態(tài)、臉型、配件(眼鏡、發(fā)型等),高分辨率的style控制膚色、頭發(fā)顏色、背景色等,這里也再次看到,樣式的每個子集都控制著圖像的有意義的高級屬性,也就是我們做的那個網(wǎng)絡映射,就是將隱編碼到中間隱編碼這個處理過程,做了解耦的一個操作,分離了不同特征。

1.5、噪聲輸入

我們在架構圖的最右邊可以看到,有噪聲的輸入,這個起到什么作用呢?我們先來看一張圖:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

(a)、每層加入噪聲,效果很自然,頭發(fā)卷曲跟真的一樣,皮膚更細膩

(b)、沒有加噪聲,頭發(fā)看起來像是,沒有特色的“繪畫”外觀,沒有卷曲

(c)、細微層噪聲,頭發(fā)卷曲很細

(b)、粗層噪聲,頭發(fā)是大面積卷曲

這里我們從圖片可以看出,隨著噪聲的比例不同,效果發(fā)生了不同的變化!
我們這里使用的是隨機變化,因為在臉部有很多方面可以被認為是隨機的,比如頭發(fā)、胡茬、雀斑或皮膚毛孔的確切位置。這些都可以隨機化而不影響我們對圖像的感知,只要它們遵循正確的分布,換句話說就是雀斑,毛孔等這些在臉部的其他位置也關系不大,而且這些噪聲的加入讓臉部的這些細節(jié)顯得更真實自然。?

1.6、感知路徑長度PPL

隱藏空間(中間隱編碼)向量的插值,可能會在圖像中產(chǎn)生令人驚訝的非線性變化。為了量化這種影響,我們可以測量當我們在潛在空間中執(zhí)行插值時圖像經(jīng)歷的劇烈變化。直觀地說,一個較少彎曲的潛在空間應該比一個高度彎曲的潛在空間產(chǎn)生更平滑的過渡。 感知路徑長度的一個自然定義將是這個總和在無限精細細分下的極限,但在實踐中,我們使用一個小的值epsilon來近似它,ε=0.0001,因此,在所有可能的端點上,潛在空間Z中的平均感知路徑長度為:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

其中z1, z2就是上面說的隱編碼,生成的初始圖像P(z),通過P和x之間的差距來設置損失函數(shù),然后迭代z,最后得到圖像x的隱編碼。
G是生成器網(wǎng)絡(f是映射網(wǎng)絡),d(·,·)評估感知路徑長度的,也叫做辨別器,這里的slerp表示球面插值,這是在我們的歸一化輸入潛在空間中最合適的插值方式。為了專注于面部特征而不是背景,我們在評估成對圖像度量之前裁剪生成的圖像以僅包含面部,由于度規(guī)d是二次的,我們除以ε2,t是某個時間點,那t+ε就表示下一時間點。

2、StyleGAN2

我們可以看到在StyleGAN圖像中會產(chǎn)生類似水滴的偽影。這些在生成的圖像中并不總是很明顯,但如果我們觀察生成網(wǎng)絡內(nèi)部的激活,問題總是存在的,雖然不是經(jīng)常出現(xiàn),但是一個很不好的現(xiàn)象,如圖:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構我們重新設計了生成器歸一化,重新審視了漸進式增長,并對生成器進行了正則化,以鼓勵從隱藏編碼到圖像的映射中的良好調(diào)節(jié),除了提高圖像質(zhì)量之外,這個路徑長度正則化器還帶來了額外的好處,即生成器變得更容易反轉(zhuǎn)。這使得將生成的圖像可靠地歸因于特定網(wǎng)絡成為可能。我們進一步可視化生成器如何很好地利用其輸出分辨率,并確定一個容量問題,激勵我們訓練更大的模型,以獲得額外的質(zhì)量改進。

2.1、StyleGAN2架構圖

StyleGAN和StyleGANv2兩者架構的對比圖(四個子圖,第一個StyleGAN,第二個是StyleGAN的詳細圖,第三個就是StyleGAN2,改進的架構,第四個是對權重的調(diào)制與解調(diào)):

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

在介紹StyleGAN的時候,我們知道,其中A表示從W學習的仿射變換,產(chǎn)生的風格,B是噪聲廣播操作。將AdaIN分解為顯式歸一化,然后進行調(diào)制,同時對每個特征映射的平均值和標準差進行操作。

我們來重點關注修改的架構,首先去掉了一開始的一些冗余操作,以及將偏置b和噪聲B的加法移到樣式塊的活動區(qū)域之外(橙色圈標注的地方),只調(diào)整每個特征映射的標準差,也就是說將平均值去掉了,第四個是我們能夠用“解調(diào)”操作取代AdaIN實例規(guī)范化,然后我們將其應用于與每個卷積層相關的權重。

修改之后的架構顯得更加的獨立(卷積塊就變得很內(nèi)聚了),看起來更加簡潔。模塊之間的耦合度也減少了很多,這對于后期操作圖片是很關鍵的。

2.2、架構修改說明

我們將問題定位到AdaIN操作,該操作分別對每個特征映射的均值和方差進行歸一化,從而可能破壞在特征相對于彼此的大小里面發(fā)現(xiàn)的任何信息。當從生成器中刪除歸一化步驟時,水滴偽影完全消失。

在StyleGAN的樣式塊中應用了偏差和噪聲,導致它們的相對影響與當前樣式的大小成反比。于是我們將這些操作移到Style block[樣式塊]之外(規(guī)范化數(shù)據(jù)后面),發(fā)現(xiàn)可以獲得更可預測的結果。另外對恒定輸入的偏置、噪聲和歸一化的應用也可以安全地去除,而不會有明顯的缺點,也就是第三個子圖,c1輸入后面沒有了b1和B以及Norm mean/std這些操作,直接進入到了樣式塊。

我們知道StyleGAN的一個主要優(yōu)勢是可以通過樣式混合來控制生成的圖像,也就是在推理時向不同的層提供不同的中間隱藏編碼w。在實踐中,樣式調(diào)制可以將某些特征映射放大一個數(shù)量級或更多。為了使樣式混合工作,我們必須明確地在每個樣本的基礎上抵消這種放大,否則后續(xù)層將無法以有意義的方式對數(shù)據(jù)進行操作。
這個權重的調(diào)制與解調(diào)的過程,我們來看下公式:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

?NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

其中w和w'分別為原始權值和調(diào)制權值,為第i個輸入特征映射對應的尺度,j和k分別枚舉卷積的輸出特征映射和空間足跡。
然后解調(diào)就比較簡單了,除以L2范式即可,加一個ε防止分母為0
我們來看下在FFHQ和LSUN Cat數(shù)據(jù)集中的實驗結果的對比(四個指標分別是FID,路徑長度,精度,召回率):

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構另外通過這些修改,用解調(diào)代替歸一化,消除了圖像和激活中的特征偽影,我們來看張圖片:?

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

雖然FID(Fréchet Inception Distance)Precision精確率Recall召回率(P&R)成功地捕獲了生成器的許多方面,但它們在圖像質(zhì)量方面仍然存在某種盲點。如下圖,它們對比了具有相同F(xiàn)ID和P&R分數(shù)但總體質(zhì)量明顯不同的生成器。

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

來自LSUN數(shù)據(jù)集的貓,第一張和第二張的FID和P&R差不多,區(qū)別在于第二張的PPL(Perceptual Path Length感知路徑長度)要小,我們觀察到圖像的質(zhì)量與感知路徑長度之間存在相關性,PPL最初是為了量化從隱藏空間到輸出圖像映射的平滑度而引入的度量,通過測量隱藏空間中,小擾動下生成圖像之間的平均LPIPS距離(一種用于衡量兩張圖像之間相似度的指標,越小越相似),而且我們通過上面圖片對比發(fā)現(xiàn)較小的PPL(更平滑的生成器映射)似乎與更高的整體圖像質(zhì)量相關。?

雖然低的PPL對圖像質(zhì)量有所改善,但與圖像質(zhì)量相關并不是很明顯。我們假設,在訓練過程中,由于鑒別器會懲罰損壞的圖像,因此生成器改進的最直接方法是有效地拉伸產(chǎn)生好圖像的隱藏空間區(qū)域。這將導致低質(zhì)量的圖像被壓縮到快速變化的小的隱藏空間區(qū)域。雖然這在短期內(nèi)提高了平均輸出質(zhì)量,但累積的失真損害了訓練動態(tài),從而影響了最終的圖像質(zhì)量。

所以說我們不能簡單地鼓勵最小PPL,因為這將引導生成器走向零召回的退化解決方案。相反,我們將描述一個新的正則化器,它旨在實現(xiàn)更平滑的生成器映射,而沒有這個缺點。

2.3、惰性正則化Lazy regularization

主損失函數(shù)和正則化項是在一個表達式里面,可以同時進行優(yōu)化。觀察到正則化項的計算頻率比主損失函數(shù)要低,所以我們采用惰性正則化,通過在一個單獨的正則化過程中評估正則化項,每k次訓練迭代執(zhí)行一次。

我們在主損失項和正則化項之間共享Adam優(yōu)化器的內(nèi)部狀態(tài),因此優(yōu)化器首先看到k次迭代的主損失的梯度,然后是一次迭代的正則化項的梯度。換句話來將就是主損失函數(shù)迭代16次,這個正則化項才執(zhí)行一次。

2.4、路徑長度正則化Path length regularization

路徑長度正則化是一種用于控制神經(jīng)網(wǎng)絡模型復雜度的正則化方法。在深層神經(jīng)網(wǎng)絡中,由于模型的復雜度很高,容易導致過擬合的現(xiàn)象。而路徑長度正則化方法可以通過對網(wǎng)絡中路徑長度的約束,來限制模型的復雜度,從而提高模型的泛化能力。該方法在計算機視覺和自然語言處理等領域有著廣泛的應用。

該方法的基本思想是,通過限制神經(jīng)網(wǎng)絡中每個神經(jīng)元到輸出層的路徑長度,來控制模型的復雜度。具體來說,該方法會對每個神經(jīng)元到輸出層的路徑長度進行計算,并對這些路徑長度進行懲罰項的加權和。這個懲罰項可以理解為對模型復雜度的約束,從而可以有效避免過擬合現(xiàn)象的發(fā)生。

優(yōu)點在于,與其他正則化方法相比,它不會引入額外的超參數(shù)。這意味著,在使用該方法時,不需要手動調(diào)整超參數(shù),可以直接使用默認參數(shù)。并且,該方法的計算量也相對較小,適用于大規(guī)模的深度神經(jīng)網(wǎng)絡。

來看下公式:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

w是隱藏空間點,y是在生成的圖像空間里的單位正態(tài)分布隨機變量(RGB圖像的維度是3*w*h),J是雅可比矩陣,a是表示期望的梯度規(guī)模的全局值,當雅可比矩陣J正交時,內(nèi)部期望(近似)最小化。當然這個地方將轉(zhuǎn)化成一些正交操作,有興趣的可以看論文,更加細致的去了解,這里就不貼公式了。

2.5、漸進式增長的優(yōu)缺點

漸進式增長在穩(wěn)定高分辨率圖像合成方面非常成功,但它會導致自己的特征偽像。關鍵問題在于漸進式增長的生成器似乎對細節(jié)具有很強的位置偏好,我們先來看張圖:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構仔細觀察,我們發(fā)現(xiàn)人的頭部偏移的時候,牙齒的位置沒有跟著發(fā)生變動,而是跟相機保持對齊。

我們認為問題在于,在漸進式增長中,每個分辨率都瞬間充當輸出分辨率,迫使它產(chǎn)生最大頻率的細節(jié),然后導致訓練過的網(wǎng)絡在中間層具有過高的頻率,從而損害了平移不變性。

這些問題促使我們尋找一種保留漸進式增長的優(yōu)點而避免其缺點的替代方法,我們來看下三種沒有漸進式增長的架構圖以及實驗的結果:

1、MSG-GAN:使用多個跳躍連接將生成器和辨別器的匹配分辨率連接起來,輸出mipmap而不是圖像。這mipmap是多級貼圖,一種計算機圖形技術,用于在不同分辨率下更高效地顯示紋理。

2、Input/output skips:通過上采樣和總結對應于不同分辨率的RGB輸出的貢獻來簡化此設計。辨別器里面,我們同樣將下采樣圖像提供給辨別器的每個分辨率塊。我們在所有上采樣和下采樣操作中使用的是雙線性濾波。

3、Residual nets:使用的是殘差連接。這個設計類似于LAPGAN,但沒有Denton等人使用的每個分辨率辨別器。

通過9種組合的FID和PPL,我們可以看到兩個廣泛的趨勢:跳躍連接在所有配置中顯著提高了PPL,而殘差辨別器網(wǎng)絡對FID顯然是有益的,因為辨別器的結構類似于分類器。然而,殘差網(wǎng)絡的架構在生成器中是有害的(唯一的例外是LSUN CAR中的FID),當兩個網(wǎng)絡都是殘差時。

綜合考慮我們使用跳躍連接生成器和殘差辨別器。

2.6、StyleGAN2能耗

原始的StyleGAN在NVIDIA DGX-1上配備8個Tesla V100 GPU時以每秒37張圖像的速度訓練,而我們訓練速度達到了每秒61張圖片 。大部分加速來自由于權重解調(diào),懶惰的正則化和代碼優(yōu)化而導致的簡化數(shù)據(jù)流程。其總訓練時間為FFHQ為9天,LSUN CAR為13天,整個項目,包括所有探索,消耗了132 MWh(兆瓦時)的電力,其中0.68 MWh用于訓練最終的FFHQ模型,這里的一兆瓦是1000千瓦時,就是一小時消耗1000度電的意思。也就是需要13萬多度電,耗電量還是非常大的。

最后看下精心挑選的4張生成圖片,效果非常好,跟真人一樣。

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

最后有興趣的可以看下StyleGAN2的視頻:StyleGAN2視頻 對英語聽力有點要求。

3、StyleGAN3

我們來回顧下StyleGAN2的架構,它的生成器是由兩部分組成。首先,映射網(wǎng)絡將初始的正態(tài)分布隱藏編碼變換為為中間隱藏編碼,然后是合成網(wǎng)絡G從一個學習到的4×4×512常數(shù)開始,并應用一個N層的序列,由卷積、非線性、上采樣和逐像素噪聲組成,來產(chǎn)生一個輸出圖像。
中間隱藏編碼控制生成器網(wǎng)絡中卷積核的調(diào)制。每層遵循嚴格的2倍上采樣計劃,其中在每個分辨率下執(zhí)行兩層,并且每次上采樣后特征映射的數(shù)量減半。此外,StyleGAN2還采用了跳過連接、混合正則化和路徑長度正則化對StyleGAN的改進。
我們先來看下StyleGAN2和StyleGAN3的對比視頻:StyleGAN3視頻

Alias-Free Generative Adversarial Networks,不失真(無鋸齒)的生成對抗網(wǎng)絡。一般大家就叫做StyleGAN3,是對StyleGAN2的改進,主要是針對在StyleGAN2中平移或旋轉(zhuǎn)時,存在“粘滯”現(xiàn)象,比如視頻中,頭部的移動,正常來說臉部上面的特征是要跟著一起移動的,而在StyleGAN2中出現(xiàn)胡子沒有很好貼著皮膚一起移動,出現(xiàn)一種胡子像是粘在嘴巴上,分離的感覺,這種情況就是特征依賴絕對坐標,而沒有很好的做到跟隨周邊的特征一起移動。

StyleGAN3的改進,使得即使在亞像素尺度上,它們也能夠做到平移和旋轉(zhuǎn)不變性,這樣的結果為視頻和動畫的生成模型鋪平了道路。其中亞像素的概念附帶說下,平時大家都知道圖像是有像素組成的,其實像素之間存在空隙,而空隙之間存在的空間,我們就叫做亞像素,比如我們做上采樣時,常見的雙線性插值就是在X,Y方向相鄰像素之間分別采樣,然后在采樣點之間插入數(shù)值。

3.1、鄰域是否銳化

我們來看張對比圖:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構注意看貓眼睛周邊的模糊情況,正常來說我們預期的結果是周邊都會一起模糊,而StyleGAN2的毛發(fā)(左邊紅色箭頭)顯示出了不必要的清晰度(銳化),沒有跟隨,右邊紅色箭頭對比可以看到,全部做了模糊處理。同樣的,我們抽取垂直頭發(fā),StyleGAN2顯示的是沒有變化,右邊的很好的顯示出了頭發(fā)的漸變。

3.2、離散特征與連續(xù)特征

StyleGAN3改進的一個關鍵點,是將離散特征做了映射成了連續(xù)特征,這樣的好處會在接下來有具體說明,我們先來看張圖,了解下這個離散特征與連續(xù)特征之間的轉(zhuǎn)換。

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構
我們先來看左邊部分,大寫Z表示離散特征,小寫z表示連續(xù)特征。Z到z是離散到連續(xù)的表示,中間通過理想插值濾波器Φs。

公式:z(x) = Φs ? Z(x),其中*表示連續(xù)卷積,Φs(x) = sinc() · sinc()

其中,辛格函數(shù):sinc(x) =sin(πx)/(πx)

Φs沿水平和垂直方向的帶寬限制為s/2,確保得到的連續(xù)信號捕獲可以用采樣率s表示的所有頻率。

z到Z是連續(xù)到離散的表示,中間通過狄拉克梳狀函數(shù)(可以作為脈沖序列或者采樣函數(shù)),這里就是篩選出很多的點。

右邊部分,在這個例子中,ReLU可以在連續(xù)域σ(z)中產(chǎn)生任意高頻率,通過Φs進行低通濾波是必要的,以確保Z'能捕獲結果。

其中狄拉克梳狀函數(shù)公式:NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

當我們將離散特征和連續(xù)特征做了對應關系之后,我們就可以將注意力從通常的以像素為中心的信號視圖中轉(zhuǎn)移出來。我們將把z(x)解釋為被操作的實際信號,而離散采樣的特征Z[x]僅僅是對它的一種方便的編碼。
這樣我們就可以在網(wǎng)絡層進行離散域和連續(xù)域的表示如下:

s和s'分別是輸入和輸出的采樣率,需要注意的是,后一種連續(xù)到離散的表示,f不能引入超出輸出帶寬限制的頻率內(nèi)容s'/2。

3.3、上采樣和下采樣

理想的上采樣不修改連續(xù)表示。它的唯一目的是增加輸出采樣率(s' > s),以增加頻譜中的剩余空間,其中后續(xù)層可能引入額外的內(nèi)容。

下采樣,我們必須使用低通濾波器z來去除高于輸出帶寬限制的頻率,以便在粗的離散中也能忠實的表示。需要注意的是,旋轉(zhuǎn)等變性需要將濾波器修改成徑向?qū)ΨQ插值濾波器,使用的是jinc函數(shù):

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構
需要注意的是,非線性是我們公式中唯一能夠產(chǎn)生新頻率的操作,并且我們可以通過在最終離散化操作之前應用具有低于s/2的截止率的重建濾波器來限制這些新頻率的范圍。這使我們能夠精確控制生成器網(wǎng)絡的每一層引入的新信息的數(shù)量。

?3.4、StyelGAN3架構圖

同樣的,我們來看下StyleGAN3做了哪些修改,架構圖:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

?

(a)濾波器的設計,2倍上采樣濾波器的1D示例,n = 6, s = 2, fc = 1, fh = 0.4(藍色)。設置fh = 0.6使過渡帶更寬(綠色),這減少了不必要的阻帶紋波,從而導致更強的衰減。

(b)StyleGAN3的改進,我們將StyleGAN2學習到的4x4x512的常數(shù)更改為傅里葉特征,卷積核也修改為1x1,其中有一個關鍵的提高性能的地方,自定義了CUDA核,里面是上采樣、Leaky ReLU、下采樣、裁剪,導致10倍的訓練速度和可觀的內(nèi)存節(jié)省。另外我們也將StyleGAN2的噪聲輸入去掉了

(c)靈活層,N = 14, = 1024。截止頻率fc(藍色)和最小可接受阻帶頻率ft(橙色),在各層上服從幾何級數(shù),采樣率s(紅色)和實際阻帶fc + fh(綠色)是根據(jù)我們的設計約束計算的。這個的作用主要是消除偽影,我們的過濾器的衰減對于最低分辨率層仍然不足。這些層在其帶寬限制附近往往具有豐富的頻率內(nèi)容,這需要極強的衰減才能完全消除混疊,這個跟在StyleGAN2中使用剛性采樣率不同,我們可以看到使用的是不同層不同的采樣率。

3.5、傅里葉特征

對于傅里葉變換,相信對數(shù)學感興趣的伙伴們,應該比較熟悉,其有很多重要的特點,總的來說就是將復雜的事情給簡單分解來處理,簡單介紹幾點:

1、兩個信號分別進行傅里葉變換,它們的線性組合的傅里葉變換的結果與對線性組合進行傅里葉變換的結果相等。

2、可以將任意周期性信號通過若干正弦波的組合來得到,比說說分離不同頻率的聲音

3、比如我們用的多的就是這個可逆性,就是可以通過逆傅里葉變換來恢復原始信號。

所以我們回過頭來看上面的架構圖,其中的輸入傅里葉特征就是來自學習到的仿射層輸出,這樣的設計也是為了讓生成器具備基于w變換到z的能力。

3.6、平移等方差

我們的目標是讓生成網(wǎng)絡的每一層等變都是連續(xù)信號,這樣所有更精細的細節(jié)都與局部鄰域的粗糙特征一起變換。如果每層都成功了,那么整個網(wǎng)絡也就做到了等變的效果。也就是說我們的平移與旋轉(zhuǎn)作用于連續(xù)輸入z0: g(t[z0];W) = t[g(z0;w)]。同樣的,對于生成的效果會是怎么樣的,也需要一個指標,這里的平移指標,平移等方差EQ-T如下:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

每一對圖像,對應于不同的隨機選擇w,在其相互有效的區(qū)域V內(nèi)的整數(shù)像素位置p進行采樣。顏色通道c被獨立處理,并且生成圖像的預期動態(tài)范圍?1…+1則 = 2。算子實現(xiàn)了2D偏移量x的空間平移,這里是從分布X2繪制的整數(shù)偏移量。我們?yōu)樾D(zhuǎn)定義了一個類似的度量旋轉(zhuǎn)等方差EQ-R,旋轉(zhuǎn)角度取自U(0°,360°),原理也是差不多,只不過一個是平移,一個是旋轉(zhuǎn),對于旋轉(zhuǎn)的處理一樣要注意帶寬限制,其中的濾波器也更換為了徑向?qū)ΨQ插值濾波器。

3.7、峰值信噪比

峰值信噪比PSNR(peak signal-to-noise ratio),這個有必要了解下,該值是通過平移圖像的輸入和輸出得到的,單位是分貝decibels(dB),一般就是通過均方誤差MSE來進行定義,我們來看下它的公式:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

?

I是輸入?yún)⒖己蚄是它的噪聲近似值,D是離散域,通常是一個二維像素網(wǎng)格。那么我們看到分母是MSE,所以這個誤差越小,它的PSNR值就越大,當然如果K和I相等,那么分母是0這樣的極端情況,峰值信噪比就是∞dB

最后看下這個配置和參數(shù),在不同架構上面的指標情況:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

?以及對比StyleGAN2在6個數(shù)據(jù)集上的表現(xiàn)情況:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

?3.8、窗口方法

邊界偽影和遠程交互引起的振鈴(信號轉(zhuǎn)換時容易出現(xiàn)那種殘影現(xiàn)象),解決這些問題的最常見方法,是使用窗口方法來限制濾波器的空間范圍:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

是窗函數(shù),是ψ(x)的實際近似值。在本文中,我們使用Kaiser凱瑟窗口,也稱為凱瑟-貝塞爾窗口,它提供了對這種權衡的顯式控制。Kaiser窗口定義為:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

其中L是期望的空間范圍,β是控制窗口形狀的自由參數(shù),是第一類的零階修正貝塞爾函數(shù)。?

3.9、二維濾波器

任何一維濾波器,包括,都可以通過定義相應的可分離濾波器輕松地擴展到二維:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構在實踐中,可分離濾波器可以通過,先用獨立濾波二維信號的每一行,再對每一列進行相同的處理來有效地實現(xiàn)。但這個不是徑向?qū)ΨQ的,我們修改為下面這個jinc函數(shù):?

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

其中的理想的旋轉(zhuǎn)算子公式如下:?

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

離散采樣的輸入圖像Z與Φ進行卷積,以獲得相應的連續(xù)表示。然后我們使用旋轉(zhuǎn)這個連續(xù)表示,通過與ψ卷積來限制結果的帶寬,再通過狄拉克梳狀函數(shù)提取相應的離散表示。為了減少符號混亂,我們省略了表示采樣率s的下標。我們可以交換上面公式中的旋轉(zhuǎn)和卷積的順序,通過將核旋轉(zhuǎn)到相反的方向來補償,公式如下:?

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構

其中代表一個理想的"旋轉(zhuǎn)濾波器",它對信號的輸入和輸出都有帶寬限制。它的光譜是原矩形和旋轉(zhuǎn)后的矩形的八面多邊形交點。

3.10、數(shù)據(jù)增強

由于我們的數(shù)據(jù)集本質(zhì)上是水平對稱的,因此我們在所有實驗中都啟用了數(shù)據(jù)集x-flip增強。為了防止判別器過擬合,我們啟用了自適應判別器增強(ADA),默認設置為METFACES,METFACES-U,AFHQV2和海灘數(shù)據(jù)集,但禁用FFHQ和FFHQ-U這些高清頭像數(shù)據(jù)集。此外,我們使用遷移學習從具有最低FID的相應FFHQ或FFHQ-U快照中訓練METFACES和METFACES-U。

3.11、訓練trick

我們模糊了鑒別器在訓練開始時看到的所有圖像。這個高斯模糊是在ADA增強之前執(zhí)行的。我們從σ=10像素開始,在前20萬張圖像中將其漸變?yōu)榱?。這可以防止鑒別器在早期過于集中在高頻上。似乎在這種配置中,生成器有時會學習產(chǎn)生具有小延遲的高頻率,允許鑒別器從生成的圖像中輕松地區(qū)分訓練數(shù)據(jù),而無需向生成器提供有用的反饋。如果沒有這個技巧,在訓練開始時很容易出現(xiàn)隨機訓練失敗。

3.12、StyleGAN3能耗

計算單位是單個NVIDIA V100 GPU,執(zhí)行該項目大約需要92年,整個項目消耗了大約225兆瓦時(MWh)的電力,22萬5千多度電。其中大約70%用于勘探作業(yè)。

而且這個能耗,我們知道是做了很高的性能提升的,比如使用自定義的CUDA內(nèi)核,我們知道在中間特征映射時,必須在GPU芯片內(nèi)外的內(nèi)存之間多次傳輸,并保留向后傳遞。這種計算是特別昂貴的,為了克服這個問題,就將整個序列實現(xiàn)為單個操作CUDA內(nèi)核。由于內(nèi)存減少,訓練性能提高了大約一個數(shù)量級,并且還顯著降低了GPU內(nèi)存的使用。原理:計算通過將輸出特征映射細分為不重疊的塊來并行化,并且每個CUDA線程塊計算一個輸出塊。在輸入階段,將相應的輸入?yún)^(qū)域讀入線程塊的片上共享內(nèi)存,所有這些卷積和非線性在片上共享內(nèi)存操作,只有下采樣階段的最終輸出被寫入片外GPU內(nèi)存。

3.13、存在的缺陷

我們來看下手工挑選的風格混合示例:

NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構coarse粗(0-6)層和fine細(7-14)層使用不同的隱藏編碼

在訓練中沒有使用混合正則化。頭部姿勢、粗糙的臉型、頭發(fā)長度和眼鏡似乎是從粗層傳遞下來的,而膚色和更精細的面部特征大多是從細層遺傳下來的。當然也存在缺點,比如說有些控制不是很完美,女性/男性特征不能可靠地從一個來源復制。移動細/粗邊界解決了這個問題,但其他類似的問題仍然存在。

論文地址:
A Style-Based Generator Architecture for Generative Adversarial Networks
Analyzing and Improving the Image Quality of StyleGAN
Alias-Free Generative Adversarial Networks

源碼地址:
https://github.com/NVlabs/stylegan
https://github.com/NVlabs/stylegan2
https://github.com/NVlabs/stylegan3文章來源地址http://www.zghlxwxcb.cn/news/detail-491714.html

到了這里,關于NVIDIA的StyleGAN、StyleGAN2、StyleGAN3系列論文解讀,梳理基于風格的生成器架構的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • VLM 系列——中文CLIP——論文解讀

    ?? ?CLIP 的中文版《Chinese CLIP: Contrastive Vision-Language Pretraining in Chinese》,訓練使用2億 圖-文 對的對比學習(不是LLM的預測下一個token),是一個雙塔模型(圖像和文本各子擁有一個編碼器)。由于對齊了圖像和文本特征,可以用來做:圖-圖(文章中沒有相關測試任務)、圖

    2024年01月24日
    瀏覽(23)
  • VLM 系列——Instruct BLIP——論文解讀

    ? ? Instruct BLIP 全稱《InstructBLIP: Towards General-purpose?Vision-Language Models with Instruction Tuning》,是一個多模態(tài)視覺-文本大語言模型,隸屬BLIP系列第三篇,可以完成:圖像描述、視覺問答、名畫名人等識別(問答、描述)。支持單幅圖片輸入(作為第一個輸入),多輪文本對話。

    2024年01月23日
    瀏覽(30)
  • 軌跡預測論文解讀系列——幾種經(jīng)典的網(wǎng)絡

    軌跡預測論文解讀系列——幾種經(jīng)典的網(wǎng)絡

    首先問大家一個問題,什么是自動駕駛車輛的最大挑戰(zhàn)?答案是理解行人的運動并且預知行人之后的軌跡。人類的運動可以被認為是多模態(tài)性的,即人類有可能在任何給定的時刻向多個方向移動。而這種行為是自動駕駛汽車面臨的最大挑戰(zhàn)之一,因為它們的行駛路線受人的影

    2023年04月08日
    瀏覽(22)
  • AIGC系列之:ControlNet原理及論文解讀

    AIGC系列之:ControlNet原理及論文解讀

    《Adding Conditional Control to Text-to-Image Diffusion Models》 目錄 1.背景介紹 2.原理詳解 2.1 Controlnet 2.2 用于Stable Diffusion的ControlNet 2.3 訓練 2.4 推理 3.實驗結果 3.1 定性結果 3.2 消融實驗 3.3 和之前結果比較? 3.4 數(shù)據(jù)集大小的影響 4.結論 ????????Stable Diffusion大模型的開源,使得AI繪畫

    2024年01月22日
    瀏覽(24)
  • NVIDIA GPU 架構梳理

    NVIDIA GPU 架構梳理

    文中圖片大部分來自NVIDIA 產(chǎn)品白皮書 TODO:英偉達顯卡型號梳理 目錄 : 一、NVIDIA GPU的架構演變歷史 二、Tesla 架構 三、Fermi架構 四、Kepler架構 五、Maxwell架構 六、Pascal架構 七、Volta架構 八、Turing架構 九、Ampere架構 十、Hopper架構 截止2021年,發(fā)布時間離我們最近的8種NVIDIA

    2024年02月02日
    瀏覽(23)
  • 論文解讀 | YOLO系列開山之作:統(tǒng)一的實時對象檢測

    論文解讀 | YOLO系列開山之作:統(tǒng)一的實時對象檢測

    原創(chuàng) | 文 BFT機器人? 01 摘要 YOLO是一種新的目標檢測方法,與以前的方法不同之處在于它將目標檢測問題視為回歸問題,同時預測邊界框和類別概率。這一方法使用單個神經(jīng)網(wǎng)絡,可以從完整圖像中直接預測目標邊界框和類別概率,實現(xiàn)端到端的性能優(yōu)化。 YOLO的速度非???/p>

    2024年02月05日
    瀏覽(23)
  • 【YOLO系列】YOLOv3論文超詳細解讀(翻譯 +學習筆記)

    【YOLO系列】YOLOv3論文超詳細解讀(翻譯 +學習筆記)

    YOLOv3(《Yolov3:An incremental improvement》)是Joseph Redmon大佬關于YOLO系列的最后一篇,由于他反對將YOLO用于軍事和隱私窺探,2020年2月宣布停止更新YOLO。 ?YOLOv3在YOLOv2的基礎上改良了網(wǎng)絡的主干,利用多尺度特征圖進行檢測,改進了多個獨立的Logistic regression分類器來取代softmax來

    2024年02月07日
    瀏覽(32)
  • 【YOLO系列】YOLOv7論文超詳細解讀(翻譯 +學習筆記)

    【YOLO系列】YOLOv7論文超詳細解讀(翻譯 +學習筆記)

    終于讀到傳說中的YOLOv7了~???? 這篇是在美團的v6出來不到一個月就高調(diào)登場,作者還是我們熟悉的AB大神(對,就是v4那個),讀起來又是“熟悉”的感覺(貫穿了我的整個五一假期(╯-_-)╯╧╧)。 其實關于YOLOv7的網(wǎng)絡結構還有很多細節(jié)值得深入研究,以及代碼

    2024年02月02日
    瀏覽(28)
  • 【YOLO系列】YOLOv1論文超詳細解讀(翻譯 +學習筆記)

    【YOLO系列】YOLOv1論文超詳細解讀(翻譯 +學習筆記)

    從這篇開始,我們將進入YOLO的學習。YOLO是目前比較流行的目標檢測算法,速度快且結構簡單,其他的目標檢測算法如RCNN系列,以后有時間的話再介紹。 本文主要介紹的是YOLOV1,這是由以Joseph Redmon為首的大佬們于2015年提出的一種新的目標檢測算法。它與之前的目標檢測算法

    2024年02月04日
    瀏覽(47)
  • 【YOLO系列】YOLOv4論文超詳細解讀2(網(wǎng)絡詳解)

    【YOLO系列】YOLOv4論文超詳細解讀2(網(wǎng)絡詳解)

    ?上一篇我們一起讀了YOLOv4的論文《YOLOv4:Optimal Speed and Accuracy of Object Detection》(直通車→【YOLO系列】YOLOv4論文超詳細解讀1(翻譯 +學習筆記)),有了初步的印象,論文里面涉及到很多tricks,上一篇介紹的比較簡略,我們這篇來詳細介紹一下。 一、YOLOv4的簡介 ?二、YO

    2024年02月02日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包