1. 程式人生 > 資訊 >無需成千上萬張目標圖片訓練:GAN 沒見過豬,卻能把狗變成豬

無需成千上萬張目標圖片訓練:GAN 沒見過豬,卻能把狗變成豬

不用成千上萬張目標圖片訓練,就能讓 GAN 生成你想要的圖片,有可能嗎?

還真有可能!

來自特拉維夫大學和英偉達的研究人員成功地盲訓出領域自適應的影象生成模型 ——StyleGAN-NADA。

也就是隻需用簡單地一個或幾個字描述,一張目標領域的影象也不需要,StyleGAN-NADA 就能在幾分鐘內訓練出你想要的圖片:

比如現在在幾張狗狗的基礎圖片上輸入“Sketch”,不到 1 分鐘,一張張草圖風格狗的圖片就出來了。(視訊沒有聲音可放心“食用”)

再比如在人像上給出文字“Pixar”,就能生成皮克斯風格的圖片:

各種人像風格都可以:

甚至把狗變成豬也行:

問題來了,AI 不可能生成它完全沒有見過的照片,但是又不給它參考照片,那怎麼滿足要求呢?

基於 CLIP

答案就是藉助 CLIP 的語義能力。

CLIP 是 OpenAI 提出的根據文字生成圖片的 DALL 模型的影象分類模組,可以根據文字描述給圖片的匹配程度打分。

今年年初,就有人用 CLIP 做出了一個用“大白話”檢索圖片的功能,效果還挺驚豔的。

▲輸入“The word love written on the wall”的搜尋結果

總的來說,StyleGAN-NADA 的訓練機制包含兩個緊密相連的生成器 Gfrozen 和 Gtrain,它倆都使用了 StyleGAN2 的體系結構,並共享同一個對映網路,因此也具有同一個隱空間(latent space)和隱碼(latent code),所以它們在最開始生成的影象是一樣的。

首先使用在單個源域(例如人臉、狗、教堂或汽車資料集)上預訓練的模型權重初始化這兩個生成器。

由於最終目標是生成一個風格不一樣的影象,那就要更改其中一個成對生成器的域,同時保持另一個作為參考域。

具體的話就是 Gfrozen 的權重保持不變,而 Gtrain 的權重通過優化和迭代層凍結(iterative layer-freezing)方案進行修改。

而 Gtrain 的域在通過使用者提供的文字方向進行更改(shift)的同時,會保持共享隱空間(latent space)。

具體怎麼“更改”呢?

這就用到了一組基於 CLIP 的損失(loss)和“分層凍結”(layer-freezing)方案。

該方案可以自適應地確定在每次迭代訓練中最相關的子層、並“凍結”其餘層來提高訓練穩定性保證效果。下面就詳細介紹一下這兩個方法。

基於 CLIP 的損失(loss)

StyleGAN-NADA 依靠預先訓練的 CLIP 作目標域的唯一監督來源。為了有效地從 CLIP 中提取“知識”,一共用了三種損失演算法:

(1)負責確定在每次迭代中訓練哪個子集層的全域性目標損失(Global CLIP loss);

(2)旨在保持多樣性的區域性定向損失(Directional CLIP loss);

(3)以及防止影象生成不必要的語義偽影的嵌入範數損失(Embedding-norm Loss)。

▲區域性定向損失要求源/目標影象/文字的 CLIP-space 方向一致

“分層凍結”(layer-freezing)

此機制分為兩階段:

(1)選層階段,保持所有網路權重不變並對一組隱碼進行優化,然後選擇變化最顯著的一層(優化使用目標域文字描述驅動的全域性 CLIP 損失進行);

(2)優化階段,“解凍”選定層的權重,然後使用定向 CLIP 損失進行優化和更改。

大多數訓練只需幾分鐘就可完成

首先,該模型可以實現範圍廣泛的域外自適應,從紋理變化到大的形狀修改,從現實到魔幻風格…… 甚至包括一些收集高質量資料成本很高的目標域。

其次,所有的這些圖片的生成都只需給一個簡單的文字描述,除了極端情況,大多數訓練只需幾分鐘就能完成。

對於基於紋理的修改目標,該模型通常需要 300 次迭代,batch size 為 2,在一個 NVIDIA V100 GPU 上訓練大約 3 分鐘。在某些情況下(比如從“照片”到“草圖”),訓練只需不到一分鐘的時間。

然後,所有的實驗用的就是這個完整當然模型,沒有新增任何 latent mapper。研究人員發現,對於純粹是基於樣式的影象生成,模型需要跨所有層進行訓練,比如下面這種:

而對於較小的形狀修改,則只需訓練大約 2/3 數量的層數就能折中保持訓練時間和效果:

最後,將該模型與 StyleCLIP(結合了 StyleGAN 和 CLIP 的域內影象編輯模型)、以及只用了 Gfrozen 生成器的模型對比發現,只有 StyleGAN-NADA 可以實現目標。

再將零樣本的 StyleGAN-NADA 與一些少樣本的影象生成模型對比發現,別的都要麼過擬合要麼崩潰(MineGAN 更是隻記住了訓練集影象),只有 StyleGAN-NADA 在保持多樣性的情況下成功生成(但它也有偽影出現)。

下面是消融實驗:

▲ 通過訓練 latent mapper 可以進一步提高生成質量

ps.在論文的最後,研究人員表示:

由於這項技術,也許在不久的將來,這類影象生成的工作將不再受到訓練資料的約束,而只取決於我們的創造力。

論文地址:

https://arxiv.org/abs/2108.00946

GitHub 地址:

https://github.com/rinongal/StyleGAN-nada

參考連結:

https://stylegan-nada.github.io/