文章專區

2018-04-01機器透過互相砥礪來學會如何創造─對抗式學習 580 期

Author 作者 李宏毅/現為臺大電機系助理教授,研究興趣是以機器學習技術讓機器辨識並理解語音訊號的內容。
近年來,隨著人工智慧的發展,機器的能力越來越強,相關技術已經進入我們的生活中,例如當我們上傳一張照片到臉書時,臉書可以精確地找出 照片中的人臉,而 iPhone 甚至可以知道一張臉是不是他的主人。然而,今日機器較擅長的是從資料中歸納找出通則,例如臉書知道人臉有那些共同的特徵,所以可以偵測出人臉,但是在能夠歸納後,機器能不能進一步創造呢?例如機器既然知道人臉的特徵,能不能進一步畫出人臉來呢?讓機器具備創作的能力是近年備受重視的研究領域,今天我們要來談一談其中備受矚目的技術 ── 對抗式學習 (adversarial learning)。


對抗式學習

創作的挑戰在哪裡?機器的創新是從模仿開始,當機器學習寫詩時,我們會給它一堆詩人的詩句;學習畫圖時,我們會給它一堆畫家的作品,機器可以輕易地把成千上萬的範例硬記下來,但是要如何讓機器可以自出機杼,而不是抄襲它看過的範例呢?以下我們以學習創作二次元人物頭像為例,來看看對抗式學習如何解決上述問題。

在對抗式學習中,需要兩個由機器扮演的角色,一個是生成者(generator), 生成者的工作就是創作二次元人物,另一個是鑑別者(discriminator),鑑別者的工作是根據人類提供的範本評價生成者的成果,因為通常生成者和鑑別者都是類神經網路,所以這個技術又稱為生成式對抗網路(generative adversarial network, GAN), 生成者和鑑別者這兩個角色會互相砥礪,讓彼此的能力都越來越強。在二次元人物頭像創作的學習過程中,以下是生成者和鑑別者可能的互動情形:

生成者一開始根本不知道二次元人物長什麼樣子,所以只是信手塗鴉,他畫出來的圖可能就是一堆雜訊,根本不知道在畫什麼,像是這樣:
接下來,人類提供大量漫畫家繪製的二次元人物頭像給鑑別者,鑑別者比對生成者繪製的圖片和人繪製的圖片後,會歸納出生成圖片和真實圖片的差異(這是今日機器所擅長的),鑑別者可能會發現真實圖片上都有兩個圓圈(也就是眼睛),不過生成圖片沒有。

鑑別者把歸納成果告訴生成者,生成者的目標是希望產生出來的圖會被鑑別者認為是人所繪製,既然鑑別者認為人繪製的頭像上應該要有兩個圓圈,所以接下來生成者畫出的圖就會有兩個圓圈,像以下這樣:

 
鑑別者接下來比對生成者新產生的圖片和人繪製的圖片的差異,因為生成者已經學會人臉就是有眼睛這件事,所以用是否有兩個圓圈來判斷是否為人畫的圖片這條規則就不適用了,所以鑑別者需要找出新的規則,例如它可能發現說,生成圖片和人繪製的圖片的差異為是否顏色繽紛。

鑑別者再將歸納出來的規則回饋給生成者,生成者就會產生彩色的圖片如下:
上述過程會不斷反覆進行,直到鑑別者再也無法歸納出生成圖片和真實圖片間的差異。

在鑑別者和生成者互動的過程中,鑑別者會不斷找出生成圖片和人畫的二次元頭像間的差異,因為鑑別者一直在挑生成者的毛病,而生成者一直在想辦法讓鑑別者找不到毛病,兩者間可以看作是一種對抗的關係,這就是生成對抗網路中的「對抗」一詞的來源,不過實際上生成者和鑑別者之間的關係「寫作敵人,唸作朋友」,透過相互砥礪生成者產生的圖畫,就會越來越接近人所繪製的圖畫。在以上學習過程中,人類的工作僅僅為蒐集漫畫給鑑別者看,鑑別者如何進行歸納、生成者如何根據歸納結果進行改進都是人工智慧本來就會做的事,並不需要人類告訴它們該怎麼做。……【更多內容請閱讀科學月刊第580期】