教機器「創造」藝術風格: CAN (Creative Adversarial Network) 

近年來火紅的GAN (生成對抗網絡) 已被運用在多種生成圖像領域,例如之前介紹過的圖像風格轉換圖像配對設計中文字型人物上色等等,也有諸如機器翻譯的非圖像創新應用。

不過,使用GAN來生成仿造圖像已經不稀奇了,這篇來自美國羅格斯大學資訊工程學系、Facebook AI Research、以及美國查爾斯頓學院藝術史系聯手的論文 —— CAN: Creative Adversarial Networks Generating “Art” by Learning About Styles and Deviating from Style Norms,將告訴你如何訓練機器不只會模仿,而是「創造」不同於他人的藝術風格!

解釋CAN的原理之前,我們先來複習一下原始的GAN:

GAN是由兩個互相對抗的NN組合而成,分別是負責生成與training data機率分佈越像越好的圖像的Generator G,另一個則是負責判別圖像的真偽(出自training data或是Generator)的Discriminator D。

Discriminator 希望能夠準確的分辨圖片的真偽,因此希望判斷real image x時,表示判斷x是否真實的概率D(x)越接近1越好(即100%真實),且表示判斷來自Geneator的圖像(G(z))是否真實的概率D(G(z))越接近0越好(即0%真實),如此一來,便能maximize上式的loss function。

反之,Generator 希望自己生成的圖像能夠矇騙過Discriminator,讓D以為G(z)為真實圖片,即D(G(z))越接近1越好,因此在希望maximize D(G(z))的情況下使loss function被minimize。

那麼這樣說起來Generator不就只是在生成能夠完美模仿real image的data而已嗎?沒錯!這正是此篇作者想解決的事:讓Generator不只是會模仿,更能創造。

如圖,作者通過分別對D與G做延伸來改變原始的training process:
1. 讓Discriminator 不僅能夠判斷圖片真偽,更加上了能進一步的分類圖像屬於哪一種風格(例如:文藝復興、巴洛克、印象派......)的style classification loss。
2. Generator接收兩個訊號:一個是原始GAN即存在的Discriminator判斷真偽結果的訊號,另一個訊號則是暗示Discriminator能不能從容地判斷G(z)是否屬於任一個風格的style ambiguity loss。加上這個style ambiguity loss的目的就是希望能讓G(z)不被歸類於任何一個style中,達到「創造風格」的目的。

根據以上敘述,CAN的loss function表示如下:

Dr(∙)即原始GAN的D(∙),用來判別圖像的真偽,而新增的Dc(∙)則用來表示圖像是否屬於任一風格。

這裡使用了cross entropy(交叉熵)的原因是,當Dc(ck|G(z))在K個style中有任一一個style的值接近1或0(即極相似或極不相似),則cross entropy接近無限大,所以minimize cross entropy loss的方法就是讓G(z)不被分類為任一個style,遠離無限大的值。下圖是文中為何要使用cross entropy的解釋:

(想了解entropy, KL divergence和cross entropy可以參考這篇Visual Information Theory

如此一來便可以確保Generator 同時產出接近real art又不至於與任何風格太過相似的圖像。來看看他們結果吧!

圖為CAN產出的top ranked的圖,他們也將自己的結果與過去的GAN比較:

是不是比較有創意了呢?(看這種圖對工程師小編來說真是吃力呢)

Paper出處: https://arxiv.org/pdf/1706.07068.pdf

Share the joy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

近期文章

近期迴響

彙整

分類

其它

tzuchanchuang Written by:

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *