參考文獻:* *
Ma D, Liu B, Kang Z, et al. Two Birds with One Stone: Iteratively Learn Facial Attributes with GANs[J]. arXiv preprint arXiv:1711.06078, 2017.
簡介
GAN在生成高保真度的變換圖方面具有其它方法所沒有的優勢。在這篇文章裡,作者通過內建的損失函數來正則化最小最大過程,進而完成GAN模型的訓練。這個內建的損失函數不僅包括像素級loss,而且包括既能提高生成圖檔品質又能保留身份資訊的感覺loss。在CeblebA的實驗表明,這種方法能夠有效地識别多種識别屬性資訊,同時還能夠生成高品質的和多屬性可控的人臉圖像。
算法介紹
論文的總體流程如上圖所示。可以看到,該工作是在ACGAN(Auxiliary Classifier GAN,輸入為随機變量 z 和可控類别 c 生成特定類别的圖像)的基礎上,增加了像素、感覺、隐編碼等loss函數,對生成器和判别器進一步學習,增強生成圖像的保真度。另外,實驗也證明了通過這種方法可以得到更加準确的人臉屬性分類器。
AC-GAN不多做介紹,細節可參考原論文。加入的內建loss函數為:
Linte=λ1Lper+λ2Lpix+λ3Lz
我們簡單分析下其它幾個新提出的Loss函數:
1. Lpix=E[||xreal−G(C(D(xreal)),c′)||]
像素損失函數在GAN網絡中較為常見。與以往的工作 source為生成器 G 輸出不同,本文中的Lpix 的source 是判别器 D 、分類器 C 以及 第二級生成器 G 三者的結合對真實圖檔的一個響應。這樣就對這三者 G 均有了更強的限制。
2. 像素級的loss函數雖然對重建圖檔很有幫助,但是缺少語義資訊層面的表征。因為本文又加入感覺損失函數:
Lper=E[||hirebuild−hi||]
其中 hi hirebuild 分别是一、二級判别器第 i 層隐層的輸出。這個損失函數的加入是為了增強網絡的語義學習能力。
3、加入隐編碼損失函數
Lz=[||z′−z||] 的目的是使 第一二級的随機噪聲盡可能地相似。
通過傳統loss函數和以上三個loss函數的限制,同時結合兩級生成器、判别器的結構,本文希望能夠得出一個性能更好的多類别生成網絡。
實驗
實驗在CelebA人臉資料上進行,與AC-GAN方法進行了在人臉屬性識别、各屬性人臉圖像生成等方法進行了比較。
上圖為該方法和AC-GAN對于測試資料40類屬性的漢明損失值,這證明了采用該方法得到的分類器具有更強的分類能力。
在增加了不同的損失函數,會對生成的不同屬性的人臉的不同如下圖所示。可以看出,最終的內建函數取得的感觀效果最好。(論文中沒有定量的評測,略顯遺憾)
與其它GAN方法的對比,可以看出,在改變人臉不同屬性的同時,該方法在保留人臉的身份方法做得最好。
總結
綜上可以看出,本文通過在AC-GAN的基礎上,增加了內建的損失函數,進一步增強了不同屬性人臉圖像生成的品質,同時保留了人臉的身份資訊。另外,該方法中生成的屬性分類器性能較其它方法也有提高。
(總的來說,本篇論文的方法較為簡單,實驗論證稍欠嚴謹。當然,這也是目前很多GAN論文的通病,缺少理論推導和定量的測試。不過即便這樣,也有一些地方,比如網絡的結構值得借鑒)