讓機器有創(chuàng)造力,一直是人工智能的最高理想之一。所以,生成任務就成了衡量機器創(chuàng)造力的標準。這些生成任務既包括生成文字(問答、對話、詩歌、小說),也包括生成圖片和視頻。在本期,我們就將介紹一下最近刷屏的人工智能作畫背后的技術。
圖片來源:pixabay
一、對抗式網(wǎng)絡模型(GAN)的誕生
直到幾年前,AI在生成任務上的表現(xiàn)都很糟糕。它們要么嚴格按照模板和規(guī)則復述,要么只能天馬行空地胡言亂語。直到對抗生成網(wǎng)絡模型的誕生,我們才能既讓人工智能產生創(chuàng)意,又能讓這些創(chuàng)意的質量得到控制。對抗生成網(wǎng)絡英文簡寫是GAN。
它包括了一個生成器(G)和一個對抗(分類)器(A)。生成器需要不斷訓練自己,得到逼真的圖片,騙過分類器;而分類器則要盡量將生成的圖片和真實的圖片區(qū)分開來。
GAN的作者伊恩·古德費洛(Ian Goodfellow)在原始論文里用一個假想的警察和假鈔犯來舉例子。分類器是警察,生成器是假鈔工廠。一開始警察只會通過大致的圖案分辨真假鈔票,所以假鈔工廠只要印出鈔票的主要圖案就能蒙混過關。為了解決假鈔問題,警察開始檢查鈔票上的底紋、微縮文字和水印。于是,一大批無法仿造出帶有這些特征的假鈔工廠只能關門大吉,而剩下來的鈔票顯然偽造能力更強,也能造出更逼真的鈔票。為了繼續(xù)分辨出這些假鈔,警察們發(fā)現(xiàn)這些假鈔的用紙和真鈔有所不同,手感也不一樣,于是做假鈔的人又要開始琢磨如何更精確地配比模仿真鈔紙漿的化合物比例,做出手感一樣的鈔票……以此往復,驗鈔機的能力越來越強,但也在讓假鈔機的模仿能力變得更強。
二、在對抗中“學習”
具體來說,GAN中的生成器和分類器是兩個神經網(wǎng)絡。神經網(wǎng)絡是機器學習中的一種基本技術,可以把它理解成一種“機器”:在吃進一個需要處理的數(shù)據(jù)后,吐出我們想要得到的結果。如果我們想要判斷圖片是狗還是貓,吐出的結果就是一個數(shù)字:1(代表狗)或0(代表貓);如果我們想要用人工智能翻譯,輸入是一種語言的文字,輸出就是另一種語言的文字。
在未經訓練的時候,神經網(wǎng)絡只能輸出完全不靠譜或隨機的結果。但如果能找到大量已知正確輸出的數(shù)據(jù),就能讓神經網(wǎng)絡得到訓練,從而得到正確答案。我們把這一過程叫做“學習”。GAN的分類器也有類似的機制,可以分辨一張圖片是真的還是生成的。而生成器則能根據(jù)一個數(shù)字或向量生成一張圖片。
剛開始的時候,生成器沒有任何目標,只能生成隨機的數(shù)據(jù),例如模糊的影像甚至是一些純粹的噪音。分類器可以經過簡單的訓練后,就能輕松地區(qū)分這些糟糕的圖片和真實的圖片。這時,生成器就要訓練自己,盡量騙過簡單的分類器。
隨后,這一過程會不斷重復。首先,分類器要學會如何辨別出增強版生成器吐出的圖片,而生成器也要改進自己,從而騙過增強版的分類器。如此迭代數(shù)萬乃至數(shù)十萬次,生成器就能變得強大起來,生成較為逼真的圖片。
雖然原理比較簡單,但GAN的訓練非常困難。在原始的GAN論文中,生成的圖片其實質量也不高。但隨后大量研究團隊從不同方向上做了改進,讓GAN產生了很多變體。其中,相當有名的是StyleGAN,它能生成極為逼真的人臉。這些人臉和任何已有的人臉都不相同,是由計算機全新創(chuàng)作出的面孔。
作為圖片生成模型,GAN仍然有很多缺點。首先,GAN訓練時很不穩(wěn)定,有時整個模型都會在訓練中崩潰。其次,不同的場景需要訓練不同的GAN模型:如果想要生成貓的圖片,就需要找一大堆貓的照片用于訓練;如果要生成人臉的圖片,就要想辦法搞到大量人臉的圖片。
但需求的種類是無限的,有些場景也會非常復雜,比如“我想生成一只貓在追一條狗”,這樣的需求就很難通過GAN來解決?;蛘哒f,GAN只能理解專門用于某個場景的訓練圖片數(shù)據(jù),而無法理解人類的語言,因此不能通過文字控制圖片的生成。這兩個問題被OpenAI的DALLE模型很大程度上解決了。我們將在下期視頻中詳細地介紹。
文章由科普中國-星空計劃(創(chuàng)作培育)出品,轉載請注明來源。
作者:管心宇 科普作者
審核:于旸 騰訊玄武實驗室負責人