首頁/ 遊戲/ 正文

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

文|林銳

眾所周知,現在 GAN 的應用是越來越寬泛了,尤其是在 CV 領域。不僅可以調個介面生成新頭像圖一樂,也可以用 GAN 做資料增強讓模型更加健壯。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲嘉然你帶我走吧嘉然!

在CV領域,不像分類、目標檢測等任務可以使用預訓練好的backbone來加速訓練、提升精度,GAN的訓練基本上是從頭開始!!因為GAN的判別器好壞直接影響生成器的梯度,判別器太好將導致生成器的梯度消失,網路就沒法訓練了。

本文的作者為了打破這種侷限性,今年 CVPR‘2022的一篇Oral 引入了叫做 Vision-aided GAN(以下簡稱VAG)的全新結構,使得 GAN 也能夠採用預訓練+精調的正規化。此外,VAG 只用1%的訓練資料就達到了與StyleGAN相匹配的水準,使得訓練難度顯著降低。

論文題目: Ensembling Off-the-shelf Models for GAN Training

論文連結:https://arxiv。org/abs/2112。09130

Github: https://github。com/nupurkmr9/vision-aided-gan

1

背景

首先簡要介紹GAN網路的訓練模式。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲圖一:GAN的基本結構

2014年,Goodfellow發明了GAN網路,GAN的訓練過程分為:

1。先固定住生成器,接著訓練判別器,使這個判別器能夠分辨生成的資料和真實的資料。

2。一定step後固定住判別器,接著訓練生成器,使生成器生成的圖片騙過判別器。一定step後繼續此迴圈,直到達到納什平衡的狀態。

為什麼不一開始就用一個預訓練的最優判別器呢?因為判別器太強將導致梯度消失,這也就是為什麼GAN網路一般是從頭開始訓練。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

本文的作者提出的 VAG 結構不但克服了GAN網路訓練中常見的過擬合的問題,還避免了因判別器過強引發的梯度消失。因此VAG能使用預訓練過的大型模型作為判別器來提高訓練精度、簡化訓練過程,可謂神奇。下圖為VAG模型結構圖。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲圖二:VAG結構圖

2

實現方法

1。訓練思路

這張結構圖表達的訓練思想非常簡單,首先搭建好一個的預訓練模型庫,然後從模型庫中取出若干個模型再接上分類頭組成的新判別器,再跟初始GAN網路的判別器並聯。因此模型的訓練Loss就變成了下面的樣子。

也就是說並聯的判別器會跟原始判別器一起去訓練,由於原始的判別器不夠強,所以能一定程度上避免梯度消失,又因為新的判別器是用大資料集訓練好的模型,其中蘊含的豐富特徵也讓GAN網路不至於在某個資料集上過擬合。

2。預訓練模型選擇

細心的同學也能發現,loss中存在一個係數K,這個K是指在總量為N的預訓練模型庫中選擇K個模型加入到訓練中來,這個選擇也不是亂選的啊,那必須是要有備而來。

作者先做了K=1情況下的GAN訓練實驗,在模型庫中選一個模型,固定住引數,然後接上一個可訓練的分類頭,去判斷傳導進網路的圖片是真的還是假的。這個二分類的結果稱為Linear Probe Accuracy(以下簡稱LPA),並比較了不同LPA的模型和最終GAN網路訓練評價指標FID的相關性,下圖為實驗結果。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲圖三:LPA和FID的關係

由上圖可知,LPA和FID基本上稱線性關係,Acc越高,FID也越好。那麼當K不等於1的情況下要怎麼樣把更多的模型加到訓練裡去呢?作者採用K-progressive model selection策略來逐步新增模型到原始結構裡,並在這個基礎上達到了SOTA的效果。如何挑選要新增的模型後面實驗有進一步解釋。

3

實驗

1。模型有效性

首先下圖顯式地展現了在GAN網路中引入預訓練模型後,只需要用極少量的資料就能達到SOTA的效果,用100%的資料訓練實現了新的SOTA。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲圖四:VAG的訓練結果

2。K-progressive Model Selection的有效性

首先從下圖中可以看出來,逐步把預訓練的模型新增到網路訓練中後,GAN的FID在大部分資料集中都能得到顯著的提升。說明增加預訓練模型的方式是有效的,作者進一步分析瞭如何去做Model Selection。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲圖五:K-progressive Model Selection策略有效性分析

下圖展現了3種不同新增model的方式,第一行是逐漸加入在此資料集下LPA最好、次好的模型,第二行是隨機選擇,第三行是選擇最差、次差的模型,很明顯逐漸加入最好的那一批模型最終的訓練效果最好。

CMU 提出全新 GAN 結構,GAN 自此邁入預訓練大軍!

▲圖六:不同Selection方式的有效性分析

4

總結

作者提出了Vision-aided GAN的結構,率先引入了預訓練的模型輔助GAN訓練並取得了新的SOTA,為之後的GAN網路訓練提供了新的正規化。

小編認為這篇文章的思路很直觀,但是在實驗中如何平衡新引入的GAN判別器Loss和原始判別器Loss是一個很難的抉擇問題,因為在訓練過程中,由於原始判別器Loss始終處於一個主導地位,很有可能模型直接擺爛完全不最佳化第二部分判別器的Loss,所以能把這種方法做work的才是真正的大佬呀。

開啟App看更多精彩內容

相關文章

頂部