這是CVPR2019上UCLA和google brain的一個工作。模型非常簡單,利用輔助損失解決GAN不穩定問題;用旋轉分類將輔助分類器對label的需求去掉,使圖片可以直接對自己標注類別。
Self-Supervised GANs via Auxiliary Rotation Loss
論文地址:https://arxiv.org/abs/1811.11212
GITHUB代碼:https://github.com/vandit15/Self-Supervised-Gans-Pytorch
論文指出,GAN模型的重要問題是不穩定(instability, divergence, cyclic behavior, or model collapse)。判別器通常學習了一個分布的特征,但后來的樣本往往是不符合這個分布的,如果放任不管會造成模型欠擬合。為了提高模型的穩定性,研究人員又提出了CGAN,生成器和判別器通過使用有標簽的數據來記住之前的數據分布。但是,CGAN的主要不足在於該模型依賴於標注好的數據。即使存在標注好的數據,這些數據往往也是sparse,並且僅僅只包含了一小部分高層抽象信息。
作者舉了兩個例子來說明當前模型的問題(判別器的遺忘問題),在下圖中,藍色虛線是當前的GAN,由於對模型分布記憶出現混亂,導致准確率下降。
在下圖中,左側表示GAN在每1K數據后換一次數據分布。可以看到數據分布換了以后,原始的GAN會存在較大的誤差,幾乎又回到了原始未學習的狀態。
於是,作者提出了self-supervised GAN (SS-GAN),通過加入自監督能夠有效的避免遺忘帶來的不穩定。作者受到《Unsupervised Representation Learning by Predicting Image Rotations》這篇文章的啟發,該方法使用的是基於圖像旋轉的自監督方法。該方法將幾何變換定義為0,90,180,270度的圖像旋轉,為了讓一個卷積網絡能夠識別圖像中的旋轉變換,需要理解圖像中描述的對象概念。盡管這個自監督方法非常簡單,但是為特征學習提供了一個強大的替代監督信號。
SS-GAN的整體架構如下圖所示,具體實現:
- 第一個判別器按照以前的方法,輸出 true/false 的判斷結果;
- 第二個判別器倒數第二層輸出,作為特征,加上線性分類器,預測旋轉的類型。
作者指出,SS-GAN將對抗訓練與自監督學習相結合,實現了CGAN的優勢,而不需要任何標注數據。SS-GAN實現了大規模無條件 ImageNet 圖像生成,這項目工作是向着高質量、無監督的自然圖像合成方向邁出的重要一步。