只會造假怎麼行?藝術家聯手Facebook人工智慧研究院,給GAN加點創意

@王小新 編譯自 Hackernoon

量子位 出品 | 公眾號 QbitAI

目前,生成對抗網路(GAN)作為一種處理圖像生成問題的優秀方法,在超解析度重建、風格遷移等領域已經做出了很多有意思的成就。

(比如量子位昨天推薦的去馬賽克大法)

不過,GAN只會模仿怎麼行?最近一項新研究改進了GAN,教機器去創造。

題圖這些廣受好評的畫,出自美國羅格斯大學的計算機科學實驗室、Facebook的人工智慧研究部和查爾斯頓學院的藝術史系聯合發表的新論文:CAN: Creative Adversarial Networks Generating 「Art」 by Learning About Styles and Deviating from Style Norms。

這篇論文,提出了創造性對抗網路(Creative Adversarial Networks),探究了利用機器生成來產生創意內容的可能性。

Hackernoon發文介紹了這篇論文的主要內容,量子位翻譯如下:

在閱讀本文前,希望你已經了解神經網路的概念及一些基本概念,如損失函數和卷積操作等。

△ GAN網路和CAN網路的一些生成圖像

回顧GAN網路

GAN網路是由兩個相互鬥爭的神經網路組成,分別稱為生成器和鑒別器。

與字面含義相似,生成器的作用是根據輸入來生成數據,該輸入可以是雜訊甚至是其他類型的數據。鑒別器的作用是分析數據並區分該數據是屬於原始輸入數據,還是由生成器產生的生成數據。

通常來說,GAN網路可以看作是一種由生成器和鑒別器完成的對抗遊戲:

△ 方程1.0

簡單版解釋

如果你覺得上述方程太複雜,別擔心,接下來會分步介紹這個方程,詳細解釋下每部分的含義。

△ 方程1.1

上面是極大極小方程的符號,字母G和D分別代表了生成器Generator和鑒別器Discriminator。生成器的任務為最小化方程1.0的值,與此同時,鑒別器的任務為最大化方程1.0的值。這兩者會無休止地相互競爭,直到程序作出停止的命令。

△ 方程1.2

當給定輸入x為來自原始數據集的數據時,鑒別器的輸出會表明這是真實的數據。

△ 方程1.3

方程1.3計算了鑒別器對生成器輸入的輸出值。D(G(z))表示鑒別器判斷輸入數據為真實數據的概率,則1- D(G(z))表示鑒別器判斷輸入數據為生成數據的概率。G(z)表示由生成器產生的數據。

將上述方程統一起來,得到鑒別器的任務為最大化以下方程:

△ 方程1.4

而生成器的任務為最小化方程1.4的值,也就是最大化方程1.5的值。

△ 方程1.5

關於GAN網路更詳細的解釋可以參考英屬哥倫比亞大學的在線課程。

在線課程地址:Course:CPSC522/Generative Adversarial Networks

從模仿到創造

生成器通過不斷調整自身,使鑒別器將生成圖像標記為真實圖像,而鑒別器也在不斷調整自身來指出生成圖像和原始圖像間的差異。

這不是簡單的模仿嗎?

在一定程度上,是這樣的。生成器的目標是愚弄鑒別器,使其認為生成數據與真實數據儘可能地相似。那麼是怎麼實現呢?通過使相應輸出與真實數據極其相似。

要讓網路更具有創意性,該如何改進呢?

創造性對抗網路來了!

論文作者提出了改進後的GAN網路:CAN,來產生創意性的內容。該網路通過向生成器發送一個附加信號,以防止其產生與原始數據過於相似的內容,這該如何實現?作者在方程1.4中修改了最初的GAN網路損失函數。

CAN簡單解釋

在原始的GAN中,鑒別器通過判斷輸入數據與真實數據的相似程度得到一個輸出值,生成器就是根據這個輸出值來修改其權重。CAN網路可以通過以下兩種方式來擴展此過程:

1. 鑒別器不僅會判斷數據是真是假,而且還可以確定該藝術圖像的所屬年代;

2. 生成器將會接收鑒別器中附加的年代信息,並使用該指標與鑒別器的(可真可假)輸入進行聯合訓練。

改進目的

原始GAN網路的存在問題是不會探索新的內容,訓練的唯一目標只是使生成數據與真實數據集儘可能相似。

通過對輸入數據所屬年代進行分類的附加度量,可能會帶有置信度列表,生成器可以獲得其生成數據與某個年代相似程度的反饋信息。

現在,生成器不僅要使生成數據與真實數據集相似,而且還要確保其與某個類別不過於相似。這條規則將限制生成器產生帶有具體特徵的藝術圖像。

新的損失函數定義如下:

△ 方程2.0

真的很簡單!

第一行與原始方程完全相同。但是要注意,下標r代表鑒別器的輸出是真或是假,下標c為鑒別器分類的輸出值。

第二行為提高創造性的改進點,接下來詳細解釋。

△ 方程2.1

上述公式使得鑒別器能正確獲取輸入圖像的類別。鑒別器將會努力最大化該概率值,來正確得到輸入圖像的年代類別。

△ 方程2.2

這個方程可能看起來很複雜,但這只是定義了多標籤交叉熵損失(Multi Label Cross Entropy Loss),這裡的K表示圖像類別的數目。在分類器中,也使用了該損失函數。生成器在訓練過程中通過最小化該值來最大化方程2.0的值。

方程2.2的直觀解釋

方程2.2的作用是,如果某個類的得分值接近1或0,則整個方程的值接近於無窮大。

方程2.2可以取到最大值時,此時意味著鑒別器完全不確定輸入圖像屬於哪一類,即上述方程中的計算和都相同,這也是生成器想完成的結果。

這是有一定依據的,因為如果鑒別器不可能將輸入圖像正確地分類到現有的某一類中,則意味著該數據與原始數據相同。

結論

本文討論了一種能根據已有數據推進GAN網路探索新內容的損失函數,通過改進原有的損失函數來進行探索,期待更有趣的研究。

相關鏈接

CAN論文:

Creative Adversarial Networks, Generating "Art" by Learning About Styles and Deviating from Style Norms

損失函數詳細信息:

About loss functions, regularization and joint losses : multinomial logistic, cross entropy, square errors, euclidian, hinge, Crammer and Singer, one versus all, squared hinge, absolute value, infogain, L1 / L2 - Frobenius / L2,1 norms, connectionist temporal classification loss

【完】

歡迎大家關注我們的專欄:量子位 - 知乎專欄

一則通知

量子位正在組建自動駕駛技術群,面向研究自動駕駛相關領域的在校學生或一線工程師。李開復、王詠剛、王乃岩、王弢等大牛都在群里。歡迎大家加量子位微信(qbitbot),備註「自動駕駛」申請加入哈~

招聘

量子位正在招募編輯記者、運營、產品等崗位,工作地點在北京中關村。相關細節,請在公眾號對話界面,回復:「招聘」。

推薦閱讀:

自然語言處理中的Attention Model:是什麼以及為什麼[二]
《Web安全之機器學習入門》 前言
AI老法師教你如何拍照
曝一曝本屆雲棲大會上的智能設計黑馬
有哪些優秀的 AI 資訊來源?

TAG:生成对抗网络GAN | Facebook | 人工智能 |