GAN 的發展對於研究通用人工智慧有什麼意義?

2021-08-19 01:33:08 字數 2671 閱讀 2357

gan對於人工智慧的意義,可以從它名字的三部分說起:generative adversarial networks。為了方便講述,也緬懷過去兩周在某論壇上水掉的時間,我先從networks講起。

networks:(深度)神經網路

自從12年alexnet橫空出世後,神經網路儼然已成為現在learning的主流。比起貝葉斯學派的強先驗假設(priori),svm在核函式(kernel)上的反覆鑽研,神經網路不需要科研者過多關注細節,只需要提供好海量的資料和設定好超引數,便能達到不錯的效果。用武俠**的方式來說,便是各大門派高手潛心十餘載修煉一陽指/九陰真經/麒麟臂等神功,比試時卻發現有一無名小卒內力浩瀚如海,出手雖毫無章法可言,但在內功的加持下,輕鬆打得眾人抬不起頭。

deep系列的演算法不僅在眾多benchmark上霸據榜首,其衍生應用也給人工智慧帶來了一股新的浪潮,例如創作藝術品(gatys 的 neural alorightm for artistic style),alphago(cnn估值 + 蒙特卡洛剪枝),高質量的機器翻譯(attention + seq2seq)等等。這些衍生應用在部分任務上,已經能媲美人類中的專家,讓人不禁浮想強人工智慧(strong ai)的到來。然而,縱使深度網路(deep neural networks)再強大,它也有自己的侷限,生成模型上的不盡人意便是其中之一。

generative(model):生成模型

機器學習的模型可大體分為兩類,生成模型(generative model)和判別模型(discriminative model)。判別模型需要輸入變數

眾所周知的imagenet-1000影象分類,自動駕駛的語義分割,人體骨架點的**都屬於判別模型,即給定輸入**某種特徵。實際上12~14年的大部分工作都屬於判別模型,為什麼呢,原因之一便是判別模型的損失函式(loss)方便定義。

回到根源,什麼是機器學習?一句話來概括就是,在訓練過程中給予回饋,使得結果接近我們的期望。對於分類問題(classification),我們希望loss在接近bound以後,就不要再有變化,所以我們選擇交叉熵(cross entropy)作為回饋;在回歸問題(regression)中,我們則希望loss只有在兩者一摸一樣時才保持不變,所以選擇點之間的歐式距離(mse)作為回饋。損失函式(回饋)的選擇,會明顯影響到訓練結果的質量,是設計模型的重中之重。這五年來,神經網路的變種已有不下幾百種,但損失函式卻寥寥無幾。例如caffe的官方文件中,只提供了八種標準損失函式 caffe | layer catalogue。

對於判別模型,損失函式是容易定義的,因為輸出的目標相對簡單。但對於生成模型,損失函式的定義就不是那麼容易。例如對於nlp方面的生成語句,雖然有bleu這一優秀的衡量指標,但由於難以求導,以至於無法放進模型訓練;對於生成貓咪的任務,如果簡單地將損失函式定義為「和已有的歐式距離」,那麼結果將是資料庫裡的詭異混合,效果慘不忍睹。當我們希望神經網路畫乙隻貓的時候,顯然是希望這張圖有乙個動物的輪廓、帶質感的毛髮、和乙個霸氣的眼神,而不是冷冰冰的歐式距離最優解。如何將我們對於貓的期望放到模型中訓練呢?這就是gan的adversarial部分解決的問題。

adversarial:對抗(互懟 )

在generative部分提到了,我們對於貓(生成結果)的期望,往往是乙個曖昧不清,難以數學公理化定義的正規化。但等一下,說到處理曖昧不清、難以公理化的問題,之前提到的判別任務不也是嗎?比如影象分類,一堆rgb畫素點和最後n類別的概率分布模型,顯然是無法從傳統數學角度定義的。那為何,不把生成模型的回饋部分,交給判別模型呢?這就是goodfellow天才般的創意--他將機器學習中的兩大類模型,generative和discrimitive給緊密地聯合在了一起。

模型一覽

對抗生成網路主要由生成部分g,和判別部分d組成。訓練過程描述如下

輸入雜訊(隱藏變數)

通過生成部分

從真實資料集中取一部分真實資料

將兩者混合

將資料餵入判別部分

按照分類結果,回傳loss

在整個過程中,

從研究角度,gan給眾多生成模型提供了一種新的訓練思路,催生了許多後續作品。例如根據自己喜好定製二次元妹子(逃),根據文字生成對應描述(newmu/dcgan_code, hanzhanggit/stackgan),甚至利用標籤生成3d宜家家居模型(zck119/3dgan-release),這些作品的效果無一不令人驚嘆。同時,難人可貴的是這篇**有很強的數學論證,不同於前幾年的套模型的結果說話,而是從理論上保證了模型的可靠性。雖然目前訓練還時常碰到困難,後續已有更新工作改善該問題(wgan, loss sensetive gan, least square gan),相信終有一日能克服。

從通用人工智慧高層次來看,這個模型率先使用神經網路來指導神經網路,頗有一種奇妙的美感:彷彿是在辯日的兩小兒一樣,一開始兩者都是懵懂的幼兒,但通過觀察周圍,相互討論,逐漸進化出了對外界的認知。 這不正是吾等所期望的終極智慧型麼 -- 機器的知識**不再侷限於人類,而是可以彼此之間相互交流相互學習。也難怪yann lecun讚嘆gan是機器學習近十年來最有意思的想法 https://

我們距離實現通用人工智慧還有多遠?

如今,人工智慧正在在努力做一些人類做的事情,並且試圖做得更好。比如,人工智慧可以比人類醫生更好地檢測癌症,構建比人類開發者更好的人工智慧演算法,並在西洋棋和圍棋等遊戲中擊敗世界冠軍。類似於這樣的例子可能會讓我們相信,或許,人工智慧會比我們人類做得更好。人工智慧在不同領域的卓越表現和不斷改進的能力已經...

人工智慧的發展 人工智慧技術的發展歷程

人工智慧最遠是可以追溯到古埃及,可是在1941年以來,電子計算取得了很好的發展,可以說技術已經創造出來機器智慧型。對於人工智慧,在1956年的dartmouth學會上就被提出來了,這件事以後,研究者們又發展了更多的理論或者是原理,因此人工智慧的概念也變得越大了,在人工智慧這不算很長的歷史中,人工智慧...

對於人工智慧的思考

這些天來被alphago和李世石的 世紀人機大戰 刷屏,由此引出的對人工智慧好壞的思考成為人們以及 談論的焦點,一說人工智慧將會服務人類,戰勝李世石是計算機史上的里程碑事件,又一說自學習人工智慧將會成為 終結者 裡的天網,最終毀滅人類.而現實則是由一場人機大戰引發的滔滔的 的戰爭.我一直有乙個幻想,...