雷鋒網按:2017年可謂「GANs之年」,各種基於GANs的模型和變化層出不窮。近日,來自韓國首爾大學、Naver等研究者發布了一篇「StarGAN:Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation」的文章,下面雷鋒網和大家來看下這篇論文。
論文摘要:最近的研究表明在兩個領域的圖像轉化方面取得了顯著的成功。 然而,現有的方法在處理兩個以上的域時在可伸縮性和魯棒性上存在局限,原因在於應該為每一對圖像域獨立建立不同的模型。 為了解決這個限制,我們提出了StarGAN,這是一種新穎且可擴展的方法,可以僅使用一個模型來執行多個域的圖像到圖像的轉換。 StarGAN這樣一個統一的模型體系架構讓我們可以同時訓練單個網絡中具有不同域的多個數據集,這導致StarGAN的圖像轉化結果比現有模型質量更高,並具有將輸入圖像靈活轉化成任何期望目標域的新穎能力。我們憑經驗證明了我們的方法在面部屬性轉移和面部表情合成任務上的有效性。
(圖2:StarGAN進行多個域的圖像轉換)
圖2為在CelebA數據集上通過傳遞從RaFD數據集中學習到的知識,進行多領域圖像到圖像的轉換結果。第一列和第六列顯示輸入圖像,而其餘的列是由StarGAN生成的圖像。 (值得注意的是,圖像由一個單一的生成器網絡產生,如憤怒、快樂和恐懼等面部表情標籤來自RaFD,而不是CelebA。)
圖像到圖像轉換的任務是將給定圖像的某個特定屬性改變為另一種屬性,例如將人的面部表情從微笑改變為皺眉(見圖2)。而在引入生成對抗網絡(GAN)之後,這個任務進一步升級,生成結果包括改變頭髮顏色、從邊緣映射重建照片、改變風景圖像的季節等。
給定來自兩個不同域的訓練數據,這些模型將學習如何將圖像從一個域轉換到另一個域中。在這裡,我們將術語屬性用諸如頭髮顏色、性別或年齡等這些圖像中固有意義的特徵來表示,並將屬性值作為屬性的特定值,例如頭髮顏色:黑色/金色/棕色,或性別:男性/女性。我們進一步將域表示為一組共享相同屬性值的圖像。例如,女性的圖像可以代表一個域,而男性的圖像則代表另一個域。
某些圖像數據集會帶有一些標註屬性,例如,CelebA數據集包含40個與面部屬性相關的標籤,如頭髮顏色、性別和年齡等,而RaFD數據集有8個面部表情標籤,如「開心」、「憤怒」、「悲傷」等。這些設置屬性使我們能夠執行更多有趣的任務,我們稱之為多域的圖像到圖像轉換,即根據來自多個域的屬性來變換圖像,如圖2中的前五列顯示了一個CelebA圖像是如何按照「金髮」、「性別」、「老年」和「蒼白的皮膚」四這個域中來進行轉換的。我們還可以進一步擴展到從不同的數據集中訓練多個域,如聯合訓練CelebA和RaFD圖像,如圖2最右一列就是使用在RaFD訓練過程中學習的特徵來改變CelebA圖像的面部表情。
(圖3:StarGAN與Cross-domain models的區別)
然而,目前的模型在這種多域的圖像轉換任務中效率不高且效果低下。它們效率不高主要是為了學習k個域之間的所有映射,必須訓練k(k-1)個生成器,如圖3所示,左邊表明了在4個不同的域中進行圖像轉換需要訓練12個不同的生成器,而它們效果也不是很好。即便存在諸如面部形狀這樣可以從所有域的圖像中學習的全局特徵,每個生成器都不能充分利用整個訓練數據,而只能從k個中的兩個域中進行學習,這也進一步限制了生成圖像的質量。此外,由於每個數據集已經是部分標註的,所以他們無法聯合訓練來自不同數據集的域。
基於此,我們提出StarGAN,一個能夠學習多個域之間相互映射的生成對抗網絡。如上圖右側所示,我們的模型可以從多個域中提取訓練數據,並僅使用一個生成器就可以學習所有可用域之間的映射。這個想法很簡單:我們的模型將圖像和域信息作為輸入而不是學習固定轉換(例如,黑色到金色的頭髮),並學習將輸入圖像靈活地轉換到相應的域。我們使用標籤(例如,二進位或onehot向量)來表示域信息。在訓練中,我們隨機生成一個目標域標籤,並訓練模型以靈活地將輸入圖像轉換到目標域。這樣,我們可以控制域標籤,並在測試階段將圖像轉換成任何期望的域。
我們還提出了一種簡單而有效的方法,這一方法可以通過向域標籤添加一個掩碼向量,來實現不同數據集的域之間的聯合訓練。這一方法確保模型可以忽略未知的標籤並聚焦於特定數據集提供的標籤。這樣,我們的模型可以很好地完成如使用從RaFD學習的特徵來合成CelebA圖像的面部表情的任務(如圖2最右一列)。據我們所知,我們的該項研究是第一個在不同數據集上成功執行多域圖像轉換的研究。
總的來說,我們的貢獻如下:
•我們提出了一種全新的生成對抗網絡StarGAN,該網絡只使用一個生成器和一個鑑別器來學習多個域之間的映射,並從各個域的圖像中有效地進行訓練;
•我們演示了如何使用掩模向量方法(mask vector method)成功學習多個數據集之間的多域圖像轉換,並使得StarGAN控制所有可用的域標籤;
•我們使用StarGAN進行面部屬性轉換和面部表情合成任務,並對結果進行了定性和定量分析,結果顯示其優於基準線模型。
點擊此處可閱讀完整論文。
不出所料,這篇論文被GAN的提出者Ian Goodfellow發推點讚,重點提了StarGAN在多個域中用非監督學習方法進行轉換的成果(之前的研究是在兩個域中進行轉換)。
而在Reddit的Machine Learning版塊上,這篇論文也引起了熱烈討論,Reddit指數直逼一千。雷鋒網摘錄了幾條關於這篇文章的評價如下:
@ReginaldIII:
很酷的研究。 令人驚訝的是,他們沒有在相關的工作中引用任何Google的神經轉換的論文。 將多個生成器模型編碼到一個共同的空間並在整個集合上進行訓練,這種想法並不是新鮮。 儘管GAN的應用給出了很好的結果。
@ajinkyablaze:
對於那些你的角色頂著醜陋的頭像的視頻遊戲來說是個不錯的東西。
@Reiinakano對這條評論進行了回覆:
說實話,這件事正在進行,我敢說現在已經有一個非常清晰的路徑來生成惡搞歐巴馬(雷鋒網(公眾號:雷鋒網)註:原文為「Obama punching babies」,punching babies為「喝酒」或「聚會」的代名詞)的視頻。
@bigassholeredditor :
這看起來很棒。你們有預訓練的模型嗎?
第一作者@Yunjey回覆:
我們很快將上傳預訓練的模型。
於是下面就被「一月內求通知」刷了屏。
@abhik_singla:
這與Pix2Pix方法有什麼區別?
@ProgrammerChilli回覆:
論文中有提到。簡單說,Pix2pix要求明確地學習從一個域到另一個域的任何轉換,StarGAN可以一次學習幾個領域,並從任何領域轉換到另一個領域。 我想,這就是它為什麼用「STAR」命名的原因吧?
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。