對抗神經網絡的應用

No. 9 Deepfakes

No. 8 千面神君:用GANs生成以假亂真的人臉

接下來,我們要爲你介紹一款能夠僞造人臉圖像的AI——Neural Face。Neural Face使用了Facebook 人工智能研究團隊開發的深度卷積神經網絡(DCGAN)。

研發團隊用由100個0到1的實數組成的1個向量Z來代表每一張圖像。

通過計算出人類圖像的分佈,生成器就可以用高斯分佈(Gaussian Distribution)根據向量Z來生成圖像。在此過程中,生成器學習生成新的人臉圖像來欺騙判別器,同時判別器也能更好地區分加工生成的人臉圖像和真實的人臉圖像。

No. 7 破涕爲笑:改變照片中的面部表情和特徵

在這一應用中,你只需要提供一些樣本圖像,研究人員就能生成表情各異的人臉圖像。比如,你可以讓一個面無表情的人露出笑容。

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

讓面無表情的人露出笑容,給不戴眼鏡的人加副眼鏡。

實現這一應用的基本思想方法是:將圖像的每一列用向量X來表示,計算每一個X的平均值,從而得到一個Y向量。

然後,對向量Y進行一些加法和減法運算,生成一個單一的圖像向量Z(如:戴眼鏡的男性-不帶眼鏡的男性+不帶眼鏡的女性)。最後,把這個圖像向量Z輸入生成器中。

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

將一張頭像靠左的人臉圖像變爲靠右的圖像

實際上,我們還可以用該模型實現包括旋轉、放縮、位置變換在內的多種操作。以位置變換爲例,我們可以將一張頭像靠左的人臉圖像轉變爲靠右的圖像。

爲此,我們可以先把向頭像靠左和靠右的人臉圖像作爲樣本,對它們取平均值,得到一個“翻轉圖像”向量。然後,沿着座標軸對圖像向量進行插值(https://zh.wikipedia.org/wiki/%E6%8F%92%E5%80%BC),我們就可以將這種“轉變”應用到新的人臉圖像上了。

來源&更多信息:GitHubPaperBlog

NO. 6 腦洞大開: 用GANs創造出迷幻圖像

接下來,我們將爲你介紹Google Brain研發的Google Deep Dream。這一應用基於 GoogleNet對物體本質的“認知”可視化。

通過此方法,GANs能夠學會生成一些“迷幻”的圖片。這些如夢似幻的圖像是圖片分類器故意過度處理圖像的結果。

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

Deep Dream 用普通圖像生成迷幻圖片

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

Deep Dream在圖像中“找”到了塔、建築、鳥和昆蟲

當你向Google Deep Dream輸送一張圖像後,該應用就會開始在圖像中尋找各類曾被訓練識別的物體。神經網絡會將一些毫不相關的物體聯繫起來,這就好比人們把雲想象成小狗、小鳥。然後,Google Deep Dream 會對其聯想出的物體作增強處理。

舉個例子,當神經網絡第一次作出圖像識別時,它會認爲這張圖有40%的可能是一隻小狗,而經過一輪處理後,神經網絡就會認爲可能性增加到了60%。這個過程會不斷重複,直到輸入圖片已被修改得非常像一條狗了。

就這樣,它一步步地把原圖像調整成另外一張圖像。換句話說,創造出了“四不像”的圖片。

NO.5 狸貓換太子:改變圖像/視頻內容

通過圖片生成另一張圖片是生成網絡的另一項有趣應用。憑藉此技術,我們可以將一段視頻中的動物換成另一種動物,或者將圖片裏的季節換成另一季節。

該應用的核心在於,使用一組訓練圖像對來學習映射輸入和輸出圖像。然而,在許多情況下,配對訓練圖像並不容易獲得。爲了克服這一問題,我們可以採用“雙邊鏡像繪圖”的方式,將一種變換的輸入作爲另一中變換的輸出。這樣,我們就能通過無監督學習克服相本容量小的問題了。

下面就是一些例子:

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

動物變形—通過偵測視頻中的奔跑的馬給它添加斑馬條紋,將馬變斑馬圖像。

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

季節轉換—在圖像中改變季節,例如將冬季轉爲夏季,或將冬季轉爲春季。

NO.4 化零爲整:通過輪廓生成逼真圖像

修改逼真圖像是一項富有挑戰性的工作,它要求在寫實的基礎上以用戶控制的方式改變圖像的外觀。這一任務的技術含量相當高,一位藝術家可能要經過多年訓練才能到達穩定的水準。

GANs 能夠從輪廓中生成逼真的圖像

給出一件物品的輪廓,這一模型就能夠識別出這個物品,並能夠生成栩栩如生的物品圖像。

在該論文中 ,作者提出一種使用生成對抗網絡,從數據中直接學習自然圖像流形的方法。模型能夠自動調整輸出結果,以保證內容儘可能真實,同時所有操作均以約束優化法進行表達,且基本能被實時應用。

這個方法也可以將一張圖片變得更像另一張圖片,或者根據用戶的塗鴉產生全新的圖像。

No. 3 未卜先知:通過“場景動態”(Scene Dynamics)預見視頻下一秒將發生什麼?

理解物體運動和場景動態是計算機視覺中的核心問題。不管是視頻識別任務(如行動分類)還是視頻生成任務(如未來預測)都需要轉換場景的模型。但由於物體和場景改變的方式多種多樣,構建這樣一個動態模型是很有挑戰性的。

爲實現這一目標,我們需要一個能將前景和背景區分開來的模型。在保持背景的靜止的基礎上,神經網絡能夠了解哪些物體是運動的,哪些物體是靜止的。

上面的預測視頻便是生成模型想象出來的。儘管這些預測並沒有實際發生,基於它們的訓練場景類別,這些動作還是相當合理的。

來源&更多信息:PaperGitHubPage

NO. 2 依葫蘆畫瓢:用GANs完成模仿學習

GANs也可以幫助研發自學習人工智能機器人。此前,該領域的研究多涉及獎勵機制的應用。

運用GANs的方法,科研人員向人工智能主體輸入真實的演示數據,然後人工智能主體就能通過數據學習嘗試模仿相同的動作。

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

一個AI主體正嘗試模仿人類跑步

該模型展示了模仿學習的一種新方法。標準加強學習模型通常要求建立一個獎勵函數,用於向代理機器反饋符合預期的行爲。然而,這種方式在實踐中爲了糾正細節問題會在試錯過程上消耗大量精力。

取而代之的模仿學習,則是讓人工智能主體從實例中學習(例如遠程遙控機器或者人類活動提供的案例),省去了設計獎勵函數的麻煩。

No. 1 自學成才:讓“好奇”驅動計算機學習

在很多現實世界的情境中,對人工智能主體的外部獎勵是非常少的,或者說根本沒有。如此一來,一段被動的程序就會因爲它自身的固有屬性,無法進化和學習。

在這種情況下,“好奇心”可以作爲內置的獎勵信號激勵人工智能主體去探索它周邊的環境、學習在將來對它可能有幫助的技能。在這種情況下主動學習者比被動學習者的表現要好。

在這樣的模型中,“好奇心”被設定爲 AI預測它自身行爲後果能力中的誤差。當然了,在這樣的語境下,AI也可以通過程序員建立的獎勵機制開展學習。

讓我們用小孩學習的過程來作個類比。一個不受大人監護的小孩不知道摸熱爐子的後果。不過一旦他這樣做了,他就會明白他不應該這樣做——因爲疼痛,也因爲了解了摸熱爐子和感受到所謂疼痛之間的因果關係。

学习å¨ä¼¯éå·¦å³æææ¶çGANsï¼è¿æå大ç¥å¥åºç¨

貪吃蛇遊戲:通過“好奇心驅動學習”(curiosity driven learning),貪吃蛇學着去收集那些能增加它的報酬的綠球,並避開那些會減少其報酬的紅球。

好奇心驅動的學習(curiositydriven learning)以下面三點作爲基礎:

  • 極少的外部獎勵——有了“好奇心”,達成目標所需與外界環境的互動更少了。

  • 沒有外部獎勵的探索,是“好奇心”使AI主體的探索行爲更高效。

  • 對未知場景中(例如同一個遊戲中的新關卡)的泛化處理。此時AI主體利用過往經驗探索新大陸,這會比它從零開始探索要快很多。

結語

看完了以上這些應用,你是不是對生成式對抗網絡刮目相看了呢。然而,這些只不過是生成式對抗網絡初試身手罷了。相對於生成式對抗網絡所能完成的工作而言,這些應用只是冰山一角。生成式對抗網絡爲我們提供了一個強有力的訓練神經網絡的方法,讓機器能夠完成任何一個人類能夠完成的複雜任務。

生成式對抗網絡(GANs)向我們證明了:創造力不再是人類所獨有的特質了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章