機器透過互相砥礪來學會如何創造──對抗式學習(上)
近年來,隨著人工智慧的發展,機器的能力越來越強,相關技術已經進入我們的生活中,例如當我們上傳一張照片到臉書時,臉書可以精確地找出照片中的人臉,而iPhone甚至可以知道一張臉是不是他的主人。然而,今日機器較擅長的是從資料中歸納找出通則,例如臉書知道人臉有那些共同的特徵,所以可以偵測出人臉,但是在能夠歸納後,機器能不能進一步創造呢?例如機器既然知道人臉的特徵,能不能進一步畫出人臉來呢?讓機器具備創作的能力是近年備受重視的研究領域,今天我們要來談一談其中備受矚目的技術── 對抗式學習(adversarial learning)。
撰文/李宏毅(國立臺灣大學電機工程系副教授)
轉載自《科學月刊》2018年4月第580期
●對抗式學習
創作的挑戰在哪裡?機器的創新是從模仿開始,當機器學習寫詩時,我們會給它一堆詩人的詩句;學習畫圖時,我們會給它一堆畫家的作品,機器可以輕易地把成千上萬的範例硬記下來,但是要如何讓機器可以自出機杼,而不是抄襲它看過的範例呢?以下我們以學習創作二次元人物頭像為例,來看看對抗式學習如何解決上述問題。
在對抗式學習中,需要兩個由機器扮演的角色,一個是生成者(generator),生成者的工作就是創作二次元人物,另一個是鑑別者(discriminator),鑑別者的工作是根據人類提供的範本評價生成者的成果,因為通常生成者和鑑別者都是類神經網路,所以這個技術又稱為生成式對抗網路(Generative Adversarial Network,GAN), 生成者和鑑別者這兩個角色會互相砥礪,讓彼此的能力都越來越強。在二次元人物頭像創作的學習過程中,以下是生成者和鑑別者可能的互動情形:
- 生成者一開始根本不知道二次元人物長什麼樣子,所以只是信手塗鴉,他畫出來的圖可能就是一堆雜訊,根本不知道在畫什麼,像是這樣:
- 接下來,人類提供大量漫畫家繪製的二次元人物頭像給鑑別者,鑑別者比對生成者繪製的圖片和人繪製的圖片後,會歸納出生成圖片和真實圖片的差異(這是今日機器所擅長的),鑑別者可能會發現真實圖片上都有兩個圓圈(也就是眼睛),不過生成圖片沒有。
- 鑑別者把歸納成果告訴生成者,生成者的目標是希望產生出來的圖會被鑑別者認為是人所繪製,既然鑑別者認為人繪製的頭像上應該要有兩個圓圈,所以接下來生成者畫出的圖就會有兩個圓圈,像以下這樣:
- 鑑別者接下來比對生成者新產生的圖片和人繪製的圖片的差異,因為生成者已經學會人臉就是有眼睛這件事,所以用是否有兩個圓圈來判斷是否為人畫的圖片這條規則就不適用了,所以鑑別者需要找出新的規則,例如它可能發現說,生成圖片和人繪製的圖片的差異為是否顏色繽紛。
- 鑑別者再將歸納出來的規則回饋給生成者,生成者就會產生彩色的圖片如下:
上述過程會不斷反覆進行,直到鑑別者再也無法歸納出生成圖片和真實圖片間的差異。
在鑑別者和生成者互動的過程中,鑑別者會不斷找出生成圖片和人畫的二次元頭像間的差異,因為鑑別者一直在挑生成者的毛病,而生成者一直在想辦法讓鑑別者找不到毛病,兩者間可以看作是一種對抗的關係,這就是生成對抗網路中的「對抗」一詞的來源,不過實際上生成者和鑑別者之間的關係「寫作敵人,唸作朋友」,透過相互砥礪生成者產生的圖畫,就會越來越接近人所繪製的圖畫。在以上學習過程中,人類的工作僅僅為蒐集漫畫給鑑別者看,鑑別者如何進行歸納、生成者如何根據歸納結果進行改進都是人工智慧本來就會做的事,並不需要人類告訴它們該怎麼做。
那為什麼生成者不能自己看漫畫學習,而需要鑑別者的幫忙呢?有了鑑別者的存在,生成者在學習繪圖的過程中,從來沒有看過人繪製的漫畫,他所知道的一切都是鑑別者教的,所以不用擔心生成者會拷貝人繪的圖,而鑑別者教導生成者時教的是大方向(例如:要畫眼睛、要用色彩等),所以生成者在學習時,學的是創作的「神韻」而非僅僅是「模仿」而已。
如果用對抗式學習來讓機器學習畫二次元人物,機器畫出來的人物像什麼樣子呢?圖一都是機器畫出來的人物,是不是很難相信這些圖是機器自行創造出來的呢?雖然本節僅以二次元人物生成為例,但同樣的技術也可以用來進行其它類型的創作,例如:寫詩、寫文章、作曲等。
●其實對抗式學習沒有那麼容易⋯⋯
對抗式學習是一個非常強大的方法,一旦成功,生成者的能力往往令人驚艷,但是對抗式學習卻以容易失敗而聞名。為什麼對抗式學習容易失敗呢?因為在對抗學習的過程中,生成者和鑑別者的「能力」必須要同步,也就是說兩者必須要一直保持棋逢敵手的狀態。如果在學習的過程中生成者「壓制」了鑑別者,也就是說生成者產生的圖片還沒有到以假亂真的程度,但是因為鑑別者的能力不足,已經無法分別生成圖片和真實圖片的差
別,那麼生成者就會因為得不到鑑別者的回饋而停止進步,這就好像是研究生問指導教授說:「接下來我有什麼要改進的?」指導教授說你已經完美,那麼研究生的學習就停滯了。但另一方面,如果鑑別過嚴苛,提出的回饋是生成者現階段無法達成的,生
成者不知道要如何達到,那麼學習也會停滯,這就像是碩一新生請指導教授給點方向,教授說:「我認為你下一個目標應該是要拿諾貝爾獎。」學生不知道要怎麼做到,也就無法學習了。如何使生成者和鑑別者保持在棋逢敵手的狀態,鑑別者一直可以分辨生成者產生的圖片和人畫的漫畫間的差異,但又不至於提出生成者無法達成的要求,是對抗式學習的研究重點,目前尚未完全解決。(待續)
(本文由教育部補助「AI報報─AI科普推廣計畫」取得網路轉載授權)