機器人能作畫和演奏嗎?
■如果問哪些能力是人類最可貴的,相信許多的人都會回答「創造能力」。透過聲音和色彩,人類能創造出引發共鳴的音樂和繪畫;透過文字,人類能創造出感動好幾個世代的文學作品。就像是小說中《科學怪人》也能學習語言和感情等抽象表達,透過人工神經網路,現在機器人能夠學習畫畫和音樂!
撰文|陳奕廷
人工智慧近來不斷有受人矚目的表現,例如:ImageNet影像分類比賽、X光醫學診斷和Stanford問答資料庫比賽等。這些表現以功能導向為主,講求成功率和效率。儘管擁有接近甚至超越人類的表現,這些能力仍是「機器人」比較「機器」的部分。在圍棋、西洋棋甚至線上遊戲中,人工智慧能和人類玩家互動,使「機器人」比較像「人」一點點。但和AlphaGo對戰過的李世石說過「和機器人對戰非常痛苦」,因為他讀不出AlphaGo任何情緒,每一步棋都是機械式地遵守機率的棋。
如果問哪些能力是人類最可貴的,相信許多的人都會回答「創造能力」。透過聲音和色彩,人類能創造出引發共鳴的音樂和繪畫;透過文字,人類能創造出感動好幾個世代的文學作品。讓人工智慧擁有類似的創造力,可以說是使「機器人」更像「人」的關鍵。讓我從翻譯功能中看人工智慧怎麼閱讀和寫出句子,接著了解如何作畫和演奏。
●遞歸神經網絡 (Recurrent Neural Network, RNN)
在影像分類中,人工神經網路接收一張相片,然後輸出它的判斷(圖一上)。在接收影像時,像素之間並沒有先後的順序。這樣整張相片一次性的輸入,然後一次姓輸出結果,就像是人類的反射動作一樣單純快速,有時被稱為「反射判斷」。不同於反射判斷,在音樂和文字資訊中,時間順序是非常重要的:一篇優美的文章,不只在於詞藻華麗,整體脈絡也要流暢。
遞歸神經網路是一個考慮時間順序的人工智慧模架構。圖一下是以翻譯為例的遞歸神經網路。我們可以看出一個句子中的各個英文字詞依照時間順序輸入,被一群人工神經網絡(編碼器)壓縮成一個資訊封包後,再由另一群神經網路(解碼器) 依照時間順序輸出成中文。編碼器的功能是把句子的意義抽象化,轉換成一個數字陣列儲存在資訊封包中。而解碼器的功能是將封包中抽象的資訊,以人類能理解的形式再次列印出來。如果我們選擇不同的解碼器,也能將抽象資訊翻譯成日文和德文等其他語言。
當今許多翻譯工具仍是採用逐字翻譯。這樣不顧前後文的翻譯會造成語句不通。遞歸神經網路將整個句子依照時間順序全盤理解後再翻譯,可以解決這個語意不順的問題。例如:它能意識到圖一裡面「CASE」接在「NTU (台大)」後面,所以會翻譯成「科教中心」而不是「箱子」。
●會畫畫的機器人
遞歸神經網路也能讓機器人學習繪圖。圖畫和文章看似是完全不同的藝術表現形式,其實它們有很多相似之處。文章和圖畫都能表現概念,而且都能被解構成最基本的元素:文章由文字組成;圖畫由筆刷組成。在前段提到,訓練一個人工智慧看懂句子,我們將文字依照順序放到遞歸神經網路裡面。要訓練人工智慧畫畫,我們則要將筆刷依照順序放到遞歸神經網路裡面。
訓練人工智慧的方法是讓它臨摹人類的繪畫(圖二上)。為此,Google設計一款簡單的網頁遊戲QuickDraw,玩家必須在20秒內畫出指定物。Google Brain電腦科學家從這個小遊戲中收集上萬筆畫圖紀錄,用以訓練遞歸神經網路。訓練的過程分為兩個部分:第一個是訓練編碼器,把依序輸入的筆刷壓縮成一個抽象的資訊封包。第二個是訓練解碼器,將抽象的資訊重新轉換回筆刷們。
訓練完成後,我們可以先把編碼器放一邊,直接使用解碼器。如圖二下,人類使用者將含有小豬資訊的封包放到解碼器中,它便能輸出小豬的圖像。更進一步地,我們可以不提供任何資訊給人工智慧,而是它自己靠亂數或其他方式生成資訊封包,再透過解碼器繪畫成圖。由於解碼器是受過訓練的,儘管是亂數生成的封包還是有可能產生有意義的圖畫。如果機器人不受指揮的就能做出有意義的繪畫,我們能說它不具有創造力嗎?
●會彈琴的機器人
不僅是繪圖,遞歸神經網路也能讓機器人學習音樂演奏。如同文章和圖畫由一系列的文字和筆刷構成,音樂是由一系列的音符所組成的。將音樂作品收集成資料庫,透過上面訓練畫畫的方式,機器人也能演出音樂。Google Brain團隊將這樣的人工智慧實現於鋼琴演奏 [參2]。首先使用者要先輸入一些音符,這些音符會進入編碼器,然後根據你的風格和情感,解碼器會輸出和你的演奏相對印的一些音符。有興趣的讀者可以在參考資料的連結中體驗 [參2]。
參考資料:
[1] David Ha et al., A Neural Representation of Sketch Drawings, arXiv:1704.03477 (2017)
[2] Google人工智慧二重奏(A.I.DUET)
--
作者:陳奕廷,台大物理系學士,史丹佛大學應用物理系博士班就讀中。