實戰生成對抗網絡[1]:簡介

引言

2016年3月,AlphaGO橫空出世,擊敗人類頂尖職業棋手,引爆了人工智能熱潮。以後AlphaGO Master和AlphaGO Zero更是無情的碾壓人類棋手,人們終於認識到,人類迎來了可怕的對手。在這以前,人類還抱有一點幻想,某個英雄會應運而生,爲人類而戰,然而現實很殘酷。人工智能最可怕的地方在於,其進步神速,在突破了一個瓶頸後,會引發裂變。算法

人工智能的出現,也廣泛引起了人類的恐懼。好比著名的「鋼鐵俠」特斯拉創始人馬斯克直言:「AI將是人類文明面臨的最大風險」。而普通民衆,則更擔憂人工智能會取代人,每一年都會有「10大會被AI取代的工做以及10大不會被取代的工做」這樣的話題。網絡

在討論人工智能沒法取代的人類工做時,你們廣泛認爲具備創造性的工做將不會被人工智能所取代,好比做家、畫家、藝術家。然而,真是這樣的麼?來看一組消息。框架

2016年3月22日,日本共同社報道了由人工智能創做的小說做品《機器人寫小說的那一天》入圍日本第三屆「星新一文學獎」初審的消息。這一獎項是以被譽爲「日本微型小說之父」的科幻做家星新一命名的。提交小說的是「任性的人工智能之我是做家」(如下簡稱「我是做家」)團隊。該項目團隊負責人是公立函館將來大學教授松原仁。學習

來源:《中國計算機學會通信》2017年第1期《專欄》優化

根據《Gigazine》報導,因爲能使AI藉由GANs方式學習大量的圖像,NVIDIA研究團隊正在研發一款「名流風肖像」自動產生器。爲了讓在實驗中所開發的生成器網絡與判別器網絡雙方漸漸成長茁壯,設計成最初僅能生成低解析度的馬賽克圖像,隨着訓練進行,漸漸生成高解析度的圖像。人工智能

來源:人工智能學習網設計

在綜藝節目《機智過人》中,微軟的聊天機器人小冰以一曲中國風歌曲《桃花夢》「險勝」人類對手。當歌手唱出「茫茫夜雨中,往事如風,耳邊桃花笑春風,夢裏你我相逢」這般古風濃郁的句子,不少觀衆覺得這是人類所做。3d

來源:新華網cdn

寫詩、做曲、繪畫,人工智能創做的春天悄然到來……blog

生成對抗網絡(Generative Adversarial Networks,GAN)

近年來,人工智能的飛速發展,離不開深度神經網絡,深度學習的核心思想就是不斷的增長層級、增長模型的深度,在圖像分類、語音和文本識別等監督學習領域獲得了普遍的應用,但這些還談不上具備創造性。

可是生成對抗網絡(GAN)的出現,讓事情發生了變化。GAN採用半監督學習的方式,自動從源數據中學習。從維基百科的詞條學習專業知識,而後寫出一個令普通人能夠理解的科普文章,模仿知名畫家的做品並學習他們的風格進行再創做,這種看似只有人類纔會作的事情,人工智能如今真的能夠作到了!

GAN在剛提出時並無晦澀的數學推演,能夠想象成造假幣者與警察間展開的一場貓捉老鼠遊戲,造假幣者試圖造出以假亂真的假幣,警察試圖發現這些假幣,對抗使兩者的水平都獲得提升。

GAN契合了東方哲學中的太極圖 - 萬物在相生相剋中演化。「太極生兩儀」,「兩儀」比如生成器和判別器,生成器負責生,判別器負責滅,一輩子一滅間有了萬物。生成器在初始混沌中孕育有形萬物,判別器甄別過濾有形萬物,扮演一種末日審判的角色。

GAN的組成

GAN的主要框架以下圖所示:

它包括生成器(Generator)和判別器(Discriminator)兩個部分。其中,生成器以隨機的噪聲做爲輸入並試圖生成樣本數據。判別器以真實數據或者生成數據做爲輸入,並試圖預測當前輸入是真實數據仍是生成數據。生成器和判別器是一對「冤家」,生成器儘量造出樣本迷惑判別器,而判別器則儘量識別出來自生成器的樣本。理想狀況下,生成器和判別器最終能達到一種平衡,雙方都趨於完美。

GAN的訓練過程

具體訓練時,採用生成器和判別器交替優化的方式。

  1. 在訓練判別器時,先固定生成器G; 而後利用生成器隨機模擬產生樣本G(z)做爲負樣本,並從真實數據集中採樣得到正樣本X; 將這些正負樣本輸入到判別器D中,根據判別器的輸出(即D(X)和D(G(Z)))和樣本標籤來計算損失; 最後根據反向傳播算法來更新判別器D的參數。

  1. 在訓練生成器時,先固定判別器D; 而後利用當前生成器G隨機模擬產生樣本G(z),並輸入到判別器D中; 根據判別器的輸出D(G(Z))和樣本標籤來計算損失,最後利用反向傳播算法來更新生成器G的參數。

小結

僅從原理上看,GAN比較容易理解,實際上GAN仍是有數學理論基礎的,但沒有必定數學基礎的人,估計也很難理解。本着從工程的角度,我仍是想探討其實現以及在現實中的應用。

在後續的文章中,我將從一個最簡單的生成手寫數字開始,探索GAN的應用,預期將包含以下內容:

  • 採用DCGAN(深度卷積生成對抗網絡)優化手寫數字的生成
  • 使用SSGAN(半監督學習生成對抗網絡)實現圖像生產生成
  • 利用CGAN(條件生成對抗網絡)生成時尚衣櫃
  • 利用CycleGAN(循環一致生成網絡)實現圖像風格的轉換
  • 從文本構建逼真的圖像

個人數學能力有限,所以主要以代碼實例爲主,不會過多深刻理論,敬請關注。

image
相關文章
相關標籤/搜索