只會造假怎麼行?藝術家聯手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上述公式使得鑒別器能正確獲取輸入圖像的類別。鑒別器將會努力最大化該概率值,來正確得到輸入圖像的年代類別。
這個方程可能看起來很複雜,但這只是定義了多標籤交叉熵損失(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 資訊來源?