楊強漫談西部世界、生成式對抗網(wǎng)絡(luò)及遷移學習
2022-10-23 04:32:09 來源:
本文來自 第四范式,網(wǎng)易智能已獲轉(zhuǎn)載授權(quán)。
「范式大學」由第四范式發(fā)起,致力于成為“數(shù)據(jù)科學家”的黃埔軍校,校長為第四范式首席科學家,華人界首個國際人工智能協(xié)會AAAI Fellow、唯一的AAAI 華人執(zhí)委楊強教授。
[范式大學]在探索AI工業(yè)化的同時,也關(guān)注最新學術(shù)研究成果。近日,楊強教授在[范式大學]內(nèi)部課程中,與大家分享了他在 “生成式對抗網(wǎng)絡(luò)模型“ 和遷移學習等領(lǐng)域的獨特見解和最新思考。在此特別感謝楊教授的博士生張穎華同學的幫助。
以下內(nèi)容根據(jù)楊強教授演講編寫,略微有所刪減。
有些人看過電視劇《西部世界》—在《西部世界》里,你可能問的一個關(guān)鍵問題是什么?就是當劇中的人們,其中任何一個人走到你面前,你能否區(qū)分出他/她是個真人? 你會問:咦,這不是圖靈測試要解決的問題嗎? 是的。 問題是,如果《西部世界》里的這些機器人已經(jīng)通過了圖靈測試,你又如何區(qū)分他/她們呢?
要解決這個問題,除了用“一槍把對方打死,然后看對方是否真的死了”這個極端的檢測方法以外,還有什么更好的方法呢?這里有些劇透,答案是:拍蒼蠅。當一個蒼蠅飛到一個“人”的臉上,如果這個人沒有感覺,不會去撥開或拍打蒼蠅,他/她很可能就是機器人。結(jié)果因此還引發(fā)了一件趣事,去年美國大選的時候,希拉里在講臺上面,一個蒼蠅飛到她臉上,她沒有搭理,后來有人就說:糟了,我們要選一個機器人當總統(tǒng)了!那時《西部世界》恰好正在熱播。
言歸正傳,從人工智能的角度,“拍蒼蠅”這個例子,說明什么呢?它告訴我們有一些關(guān)鍵特征可供識別真人亦或機器人,但要找到這些關(guān)鍵特征并不容易。對《西部世界》而言,你得把整個劇看完才能知道。也就是說,你不但要有大量數(shù)據(jù)的訓練,而且得知道劇里的機器人的制造原理,這樣才能找到這個重要特征。那么問題來了:如果作為“游客”,我們對這個機器人的構(gòu)造知道甚少怎么辦?
要回答這一點,我首先要給大家講一下概率模型的不同類型。概率模型是貫穿整個機器學習的主線。下面PPT上的這兩張圖是對一個女孩的素描,我們在素描里面可以看到很多的特征,比方說比較飄逸的筆畫、或者是適合女性顏色等。我們把上面的問題簡化一下:如何能夠通過辨別這些體征、從而認出來畫上的是男是女?
![]()
這里我要介紹一個“生成”模型的概念。 在某個關(guān)于“人”的樣本集里面找到某一個高概率的樣本,我們認為這個樣本很可能對應(yīng)我們對“人” 這個概念的認識。然后我們根據(jù)這個樣本來做完形填空或著彩。在小學中學我們經(jīng)常做的一種題就是填空。其實,生成樣本的過程和填空很相似:當我們看到這張畫要給它著色時要選擇顏色和圖案,是因為這些選擇符合“人”的概率分布。
再具體一些:如果數(shù)據(jù)是(X,Y),這里我們用X這個變量來代表筆畫和顏色,Y這個變量來區(qū)分男女,那么這個概率數(shù)據(jù)是遵循一定分布規(guī)律的。但問題是,如何才能得到這個數(shù)據(jù)的分布?在現(xiàn)實中,做到這一點是非常難的,因為這需要我們獲得概率的“聯(lián)合分布”,就是所有顯式和隱式的特征和它們所有可能取值的概率。知道了這個概率,生成某個樣本就很容易了。 在機器學習的歷史上, 關(guān)于要不要首先獲得“聯(lián)合分布”這個問題,有著很多的爭論。比方說,有貝葉斯流派,就說:“是的,我們需要這樣一個聯(lián)合分布”。而深度學習流派,或者是SVM等算法對應(yīng)的這些流派,就說:既然我們的目的是分類,那用簡單的算法就可以了,所以”不需要”。 得到一個聯(lián)合概率分布是非常非常難的事情,因為需要因果關(guān)系的知識,還需要很多先驗概率。
生成模型是很有用的。比如說,我們在一幅畫上如何確定這樣著色是有意義的,但那樣做是沒有意義的?除了在畫作上,在音樂作曲的問題上也是如此:如何做一首動聽的曲子?為什么有的曲子就很好聽,有的就很難聽?這些任務(wù),其實都是在做“生成”的工作。我們?yōu)槭裁春茏鹁茨承┳髑摇㈦娪皩?dǎo)演、作家? 作為觀眾,我們?nèi)タ措娪昂苋菀祝亲屪约喝プ鰧?dǎo)演,做編劇往往就覺得很難。 這是為什么呢? “聯(lián)合概率模型”的學習過程就幫助我們回答了這樣一個問題。問題是:學習如何產(chǎn)生一個聯(lián)合概率模型,需要大量的高質(zhì)量數(shù)據(jù)來訓練。真正能了解真實概率生成機制的只有少數(shù)人,即那些機器人的設(shè)計者。這也和我們的常識是一致的: 只有少數(shù)人能夠成為好的作家,只有少數(shù)人能夠成為好的詩人,而要做到這一點需要遵循所謂的“一萬個小時定律”。
![]()
因為生成式模型很難估計,所以,我們在機器學習中更多的是使用“判別式機器學習模型”的。這種模型和“生成式概率模型”是有一個本質(zhì)的區(qū)別的。 我們過去熟悉的模型如邏輯回歸,SVM和深度學習等,多是判別式模型。就是:給你一個樣本,模型不關(guān)注樣本是怎么“真正”生成的,也不關(guān)心樣本構(gòu)造的真實因果關(guān)系和概率值, 而是直接判別樣本屬于哪一類。 我們可以管這種判別的方式叫做“懶人主義”。 相反,生成式模型可以被認為是一個“完美主義。” 什么是完美主義呢?我們要去判別一個事,從它最原始的那個點開始分析,產(chǎn)生先驗概率分布,然后根據(jù)因果關(guān)系一直推到可觀察的樣本分布,最后再得到樣本。這樣,一旦得到整個聯(lián)合概率分布,就可以對缺失數(shù)據(jù)和未來的事件做出準確的預(yù)測。 所以,到了完成了這個聯(lián)合分布的學習時,我們機器學習的工作就做的差不多了。
生成式模型和判別式模型的區(qū)別很像人和機器的區(qū)別:機器采取的是完美主義,因為它可以不斷優(yōu)化,追求極致。而人不會如此,人是夠好了就滿足了。從這一點上來說,人完全沒有必要和阿爾法狗去比賽,因為這是不明智的。我們?nèi)祟惖臉?gòu)造不是干這個的,我們的構(gòu)造是能把一件事給做完了。比方說,人應(yīng)該去比的是你有多快能學會下圍棋,并從中得到多少樂趣。而把圍棋下的極致這件事是機器擅長的。
有沒有辦法,利用有限的數(shù)據(jù),通過不斷提高的方式,建立一個生成式模型呢?Ian Goodfellow提出了一種新的方法,很值得我們思考: 他的設(shè)想是用一個生成式模型(Generator)來生成模擬樣本,再用一個判別式模型來區(qū)分這個生成的樣本是否真實,這樣的一對系統(tǒng),可以互相對弈,共同提高。 以作畫為例。 假設(shè)我們的目的是設(shè)計一臺機器人來模擬大師們的畫作。 最開始,機器人先通過生成式模型完成某個畫作。 這幅畫可能很差,離大師的水平差的很遠。如果這個時候有一個評論員(判別式模型)來告訴機器人這幅畫的缺點,那機器人就可以在下一幅畫中加以提高。如果評論員自己犯了錯誤,沒認對,那機器人就可以告訴評論員如何提高鑒賞能力。 評論員總是在問這樣一個問題:這幅畫是大師畫的還是機器人畫的?如果判別式模型可以準確地辨認出來是機器畫的,那說明這個生成式模型還不夠好,如果判別不出來,就說明畫作已經(jīng)能夠以假亂真了,而判別式模型就有待提高。這里,生成式模型和判別式模型,利用不斷反饋,實現(xiàn)相互提高。
![]()
這讓我們想起了圖靈測試——計算機和裁判聊天,他們互相看不到彼此,如果在溝通的時候,裁判無法辨別哪個是計算機,“人工智能”在它身上就實現(xiàn)了。這個雙機結(jié)構(gòu)和圖靈測試不同的地方就是,機器和判官都可以學習,不斷提高,最后兩者都可以達到最好。
這樣,就把我們帶到“生成式對抗網(wǎng)絡(luò)” (GenerativeAdverserial Network, 或者GAN)這個概念。如下圖所示, 我們有兩個系統(tǒng),在互相對抗, 兩個系統(tǒng)都試圖優(yōu)化自己的目標函數(shù)。第一個系統(tǒng)對應(yīng)判別式模型D: 判別式模型D在試圖識別到來的樣本是否是自然真實的;它在盡量增大對真實樣本的識別率,同時減少對模擬生成的樣本的誤判率。另一個系統(tǒng)則對應(yīng)著生成式模型G:G希望它生成的模擬樣本可以在D那里魚目混珠。 所以G試圖最大可能地模擬真實的樣本。 判別器D從判別角度來說,判別的越好,D的目標實現(xiàn)的就越優(yōu) 。但對于生成器G來說,它要最小化(minimize)對方的優(yōu)化函數(shù),這就相當于最大化(maximize)它自己的優(yōu)化函數(shù)。這個過程就像G和D在下棋一樣(如下圖的博弈樹)。在這個樹里有兩個棋手,一個在不斷更新判別器,一個是在不斷更新生成器。把這兩個合并起來,叫做Minimax算法,這是利用AI下棋的一個基本算法。在這里,就是G和D兩個系統(tǒng)在競爭中不斷成長,最后兩個都達到最優(yōu)。
![]()
這個交互過程到底能不能同時優(yōu)化兩個目標?GAN的發(fā)明人Goodfellow有以下的解釋。訓練過程如下圖所示,假設(shè)黑色的點是真實樣本的分布,綠色的線是根據(jù)生成模型產(chǎn)生的生成的樣本的分布,那么GAN網(wǎng)絡(luò)就是在把生成的樣本的概率空間映射到真實樣本空間里,再去加以對比。這樣得到的結(jié)果與真實情況會存在偏差,而根據(jù)這樣的反饋,生成的樣本的數(shù)據(jù)分布不斷得到調(diào)整,直到和真實分布重合為止。這時,判別式模型G就分不出來真假數(shù)據(jù),而學習任務(wù)就完成了。
![]()
那么,有沒有理論來證明以上這個博弈學習交互過程會最終得到令人滿意的結(jié)果呢?我們看看下面這個定理:
![]()
這里給大家翻譯一下這個公式:
如果G是丈夫,D是妻子,妻子訓練丈夫做家務(wù)。妻子不斷指出丈夫的不足之處,以此希望丈夫提高自己。丈夫呢,有時他提高的辦法是試圖猜出妻子滿意的家務(wù)到底是什么,就不斷的試驗。但一開始結(jié)果可能和妻子的需求不一樣,然后得到一頓狠K。所以在提高如果夫妻兩人同樣好學,妻子能不斷指出丈夫的錯誤,而丈夫也不放棄,一直很努力,那么這對夫妻就會一起進步,一直達到一個共同的最優(yōu)值,這個家庭也就美滿了。
那么這個定理到底是不是靠譜呢?因為它有很多的限制條件,這些條件在現(xiàn)實中都很難成立,所以我們只能通過實驗來驗證。比方說,我們可以使用手寫識別的數(shù)據(jù)集MNIST和圖像識別的數(shù)據(jù)集TFD來驗證,最后發(fā)現(xiàn)GAN在集種不同的算法里面的得分是最高的!
![]()
利用GAN也可以讓電腦學寫字。在訓練好的時候,這些GAN寫的文字幾乎可以以假亂真。但它也有做不好的地方,比如說在一些復(fù)雜的圖像中做出來的就是相當模糊的。我們后面會討論,這是因為GAN在數(shù)據(jù)集之間的“距離”的概念還沒有學好。
![]()
我們接下來要問:樣本到底是怎么產(chǎn)生的?一個簡單的辦法是“猜測”: 我們首先可以假設(shè)一個真實的概率分布是按照某種形式來分布的, 然后按照這種形式隨機地產(chǎn)生一個樣本。這樣的結(jié)果如果不好,那就回來修改這個分布假設(shè)。但是,這種猜的辦法質(zhì)量低,速度慢,結(jié)果不靠譜。
那要怎么辦呢?假設(shè)我們有一張很大的畫,我們要把它壓縮一張小畫,一般是怎么做的呢?我們大家可能用過雙筒望遠鏡。這個望遠鏡可以反著看,就會看到小版的畫面,這個就相當于把一大塊數(shù)字壓縮成一個數(shù)字,這個過程叫做convolution(卷積),卷積神經(jīng)網(wǎng)絡(luò)就是在做這件事情。那如果我們正著看望遠鏡,會把一張畫放大,我們會看到畫作當中的某一個部分,這個過程就相當于從一個或幾個數(shù)字產(chǎn)生了整個矩陣,這也就是“生成”的過程,即生成式模型在做的事情。理解了這個原理后,基于深度學習和卷積,我們把整個網(wǎng)絡(luò)反過來,相當于正著用望遠鏡,把壓縮的圖形一步一步放大,最后形成了一個復(fù)原的樣本,它叫“轉(zhuǎn)置卷積(Transposed-Convolution)”, 這個產(chǎn)生樣本的方法叫做DCGAN。比方說,可以通過幾個例子的訓練之后,用來產(chǎn)生新的中文字。還有一些漫畫的社區(qū)也開始用這個網(wǎng)絡(luò),來自動生成漫畫的圖像。
![]()
當然,還可以用DCGAN網(wǎng)絡(luò)來分類,用它的判別式模型部分來做分類這件事。這就好像用大炮打蚊子是沒有必要的,但用大炮里某個部件(即判別式模型)打蚊子,確實要比用大炮拍打蚊子要打的好。所以,我們?nèi)〕鲆粔K深度網(wǎng)絡(luò)中的一部分來分析,發(fā)現(xiàn)它確實可以幫助找到非常關(guān)鍵的一些數(shù)據(jù)特征,而且用它來做分類的效果就比其他的辦法要好很多。再回到西部世界的那個例子,看“蒼蠅趴在臉上,人的反應(yīng)”這個特征,就可以被找出來了。
有了GAN這個方法,我們可以對任意樣本做向量化,從而加以比較。比方說,我們可以比較“蘋果”和“橘子”,看它們的距離到底是不是比“蘋果”和“香蕉”近一些? 我們知道在自然語言界有一個技術(shù)叫Word2vec,從文字到向量表示(Embedding),是一個連續(xù)實數(shù)向量。它可以做什么呢?比方說它認為,v(“woman”)-v(“man”)+v(“king”) =v(“queen”),即女人減去男人,再加上一個國王,相當于把女人的特性賦予國王,這個國王對應(yīng)的就應(yīng)該是女王,這個過程做類比。類比是怎么產(chǎn)生的呢?在高維空間,大數(shù)據(jù)會表明,這兩個字的用法差不多,它們的距離很近。而GAN網(wǎng)絡(luò)也可以做這件事情,比方說這個男的戴墨鏡,減去一個男的再加一個女的,就變成了一個女的戴墨鏡,這個是可以用GAN可以做的,很神奇。
![]()
但是這樣設(shè)計的系統(tǒng)還是有一些缺點。 比如,如果我們稍微換一換模型的參數(shù),模型效果就會急劇變差。這說明,直接用DCGAN建立的模型不大可靠。
怎么解決這個問題呢?我們在開始講過,GAN的思想就是不斷修改生成式模型使得模擬的概率模型盡量接近實際的概率模型。所以,可靠性問題的實質(zhì)就在于:如何可靠準確地測量兩個概率分布之間的距離。 這里有一個新的技術(shù)叫Wasserstein GAN。 因為傳統(tǒng)的生成式模型的目標函數(shù)通常都是優(yōu)化KLdivergence, GAN的目標函數(shù)在優(yōu)化JS divergence。 但這兩個距離都有缺點:就是不能準確表達所有分布之間的距離。所以有人提出一個更靠譜距離表達,叫做Wasserstein距離,外號叫“土地挖掘機” (Earth-mover),就是給你一個土山,那么如果你用挖掘機在這一座山,去復(fù)制另一座山,問你需要花多大的力氣 — 這個移動土地的費用就是Wasserstein 距離,簡稱W距離。如果兩座山的形狀完全一樣,那么就不需要任何費用。 如果兩者完全不同,那么就需要很多的費用。
![]()
如果換成這個W距離來測量概率分布就好得多。比如說,給定兩個數(shù)據(jù)集的分布,其中一個是真實的新聞分布,一個是假新聞的分布。如果用KL或JS距離來表達,結(jié)果都不夠好,會得到一個是無窮大,一個是一個常數(shù)。用這樣的距離就沒有辦法識別真、假新聞了。 但如果我們用了W距離,得到的會是一個連續(xù)可導(dǎo)的距離。所以,用W距離來設(shè)計GAN (WGAN) 就靠譜多了。
生成式對抗模型(GAN)可以做哪些事呢?它可以做模型的解釋,做圖像分析和自然語言分析。還可以再加上一些新的邊界條件,用來做遷移學習。
![]()
上面這個例子,是把一個模糊影像變到清晰影像的任務(wù),模糊影像的模型是有很多的不確定的地方。把一幅畫變?yōu)榍逦倪^程,就是在一個矩陣里面找到丟失的值,并且把它用真實值填滿;這個事和我們第四范式做推薦系統(tǒng)的概念是一樣的。
再者,就是可以用GAN來很自然地實現(xiàn)遷移學習。比如說, 如果我們又一個很好的生成式模型,在某個數(shù)據(jù)集上已經(jīng)訓練好了,如果有一些新的數(shù)據(jù),和前一個數(shù)據(jù)集有明顯的區(qū)別, 那么我們可以利用“GAN+邊界條件”,把生成式模型“遷移到” 新的數(shù)據(jù)分布上。比方說,我們寫字的時候,每個人簽名都是不同的,我們不會用印刷體來簽名,因為我們每個人都有自己的寫字的特點。那么,如果用大量的印刷體字作為第一部分的訓練樣本,來訓練一個不錯的通用模型,而用某個人手寫的斜體字做第二部分的訓練樣本,就可以利用WGAN把印刷體的模型遷移到個人的簽名。也就是說,這樣的簽名也就更具個性化特點。
所以說,即使源數(shù)據(jù)和目標數(shù)據(jù)在寫法上、顏色上有一些區(qū)別,GAN的模型可以實現(xiàn)遷移學習的目標。
這里還有一個遷移學習的例子:在領(lǐng)域適應(yīng)(Domain Adaptation)的問題中,在目標領(lǐng)域沒有任何的標注,所有的標注都在源領(lǐng)域。 GANIN等人設(shè)計了一個類似于GAN的模型,在源領(lǐng)域用標注數(shù)據(jù)來做標注數(shù)據(jù)的分類,同時連接到一個“領(lǐng)域判別器”來區(qū)分輸入的數(shù)據(jù),看數(shù)據(jù)是來源還是目標領(lǐng)域。 這個過程進行到最后,當領(lǐng)域判別器不可以很好地區(qū)分數(shù)據(jù)來自哪個領(lǐng)域,就說明神經(jīng)網(wǎng)絡(luò)的中間層學會兩個不同領(lǐng)域的相同特征部分了。這個時候,遷移學習的目的就達到了。
![]()
總結(jié)起來我們看到,生成式對抗網(wǎng)絡(luò)是一個新的機器學習的思想。它是由兩個模型共同產(chǎn)生的——就像是兩個學生同時成長,一個學生專注于生成樣本,一個學生專注于判別真假,他們來互相促進。同時,生成式對抗網(wǎng)絡(luò)也存在一定缺陷,首先它需要的數(shù)據(jù)量還是很大的;此外,理論的指導(dǎo)還是比較缺乏。
![]()
最后我們還回到《西部世界》的場景。這個電視劇的一條主線是對機器人(或人類)的智能成長的路徑,電視劇的后面幾集提出了一個重要的思想:“二分心智”(Bicameral Mind)。這是個關(guān)于人類智能的發(fā)展的假說:提出大腦中的智能和意識的發(fā)展,是通過兩個獨立的智能體的不斷對話和學習來實現(xiàn)的。也就是我們常說的 “腦袋里的兩個小人在打架”。這個二份心智理論曾經(jīng)在心理學界大行其道。
我們看到,生成式對抗網(wǎng)絡(luò)GAN的模型,和這個“二分心智”的理論有些不謀而合:它們都是認為智能應(yīng)該是能夠不斷學習提高的,都提出:智能成長的機制是由兩個互動的系統(tǒng)來相互刺激。在GAN這個模型中,這兩個機制分別是生成式模型和判別式模型。 在《西部世界》里,這個刺激來自很多的苦難和創(chuàng)痛,讓機器人Dolores 和她的同伴們經(jīng)歷了很多痛苦艱難的事情,最后刺激讓她/他們產(chǎn)生了“二分心智”,也就產(chǎn)生了意識。 就像這幅圖中的兩個Dolores在對話所表現(xiàn)的那樣, 最終導(dǎo)致機器人們產(chǎn)生了意識 。
![]()
當然,在生成式對抗網(wǎng)絡(luò)GAN的學術(shù)方向上,并沒有涉及到“意識的生成”這個問題, 實際上,整個人工智能的發(fā)展都還沒有涉及到“意識”的概念。 但是,通過GAN來理解的“二分心智”, 以及“我們可以借兩個對抗系統(tǒng)提高智能”這件事,還是非常有趣的!
擴展閱讀:
[1] Goodfellow, Ian, et al。 Generative adversarial nets。 Advances in neural information processing systems。 2014。
[2] Ganin, Yaroslav, et al。 Domain-adversarial training of neural networks。 Journal of Machine Learning Research 17。59 (2016)! 1-35。
![]()
-
馬斯克炸了個火箭!成功測試載人飛船逃生能力
(原標題:美國載人版龍飛船完成飛行中發(fā)射中止測試) 新華社華盛頓1月19日電(記者周舟)美國太空探索技術(shù)公司載人版龍飛船19
2022-10-22 14:48
-
如何成為貓狗雙全的人生贏家?北漂青年在刷寶“云養(yǎng)寵物”
(原標題:如何成為貓狗雙全的人生贏家?北漂青年在刷寶云養(yǎng)寵物) 大學畢業(yè)一年后,小倩不得不直面北漂生活的孤獨感。她非常喜歡寵
2022-10-22 10:29
-
“換牌營業(yè)兩不誤”京東京車會在憋什么大招?
(原標題:換牌營業(yè)兩不誤京東京車會在憋什么大招?) 近日,記者經(jīng)過位于望京西的京東京車會湖光中街店時發(fā)現(xiàn),京東旗下的京東京車
2022-10-22 09:26
-
谷歌推精簡版Google+關(guān)注用戶共同興趣
原標題:谷歌推精簡版Google+ 關(guān)注用戶共同興趣 日前,谷歌推出了社交服務(wù)Google+的精簡版,淡化了以人為核心的理念,將重點聚焦于用
2022-10-22 03:29
-
科技引領(lǐng)賽場表現(xiàn),喬丹體育鋒刺6PRO成為凱爾登·約翰遜新賽季主
(原標題:科技引領(lǐng)賽場表現(xiàn),喬丹體育鋒刺6 PRO成為凱爾登·約翰遜新賽季主力戰(zhàn)靴) 從媒體開放日到季前賽,NBA馬刺隊凱爾登·
2022-10-21 19:34
-
陳旭東負責聯(lián)想全球服務(wù)業(yè)務(wù)喬健接手移動業(yè)務(wù)
網(wǎng)易科技訊11月3日消息,今日楊元慶發(fā)內(nèi)部信稱,陳旭東將接替即將退休的王曉巖,負責全球服務(wù)業(yè)務(wù),匯報給Gianfranco。 喬健將擔任聯(lián)想
2022-10-21 14:03







