神經網路的另一個重要應用領域是語文翻譯,把單字、片語、一句話、甚至一段話,從一種語文翻譯成另一種語文,像每天有兩億人使用的 Google Translate 就是最好的例子。事實上 NIC 把影像內容翻譯成文字的概念,正是借用 Google Translate 的概念。Google Translate 與類似軟體的區別,在使用「語文空間」的概念,不是先把單字個別翻譯,再把翻譯後的單字排列成句。
語文空間,是把語文中的單字分別存放在一個虛擬空間,然後以直線連接常用在上下句、或相關的單字,成為一個龐大的網絡,使得語意成為單字的直線連接,自然語文的處理近年已發展到數學化,像「國王」減去「男人」等於「女皇」(king - man = queen)。Google 的研發人員用這一技術製作語文空間,同時假設每一種語文的結構都類似,所以在翻譯的時候只要把兩種語文的語文空間對應,就可以簡單的從中解出答案,這當然對非歐系的語文翻譯就也許不太流利了。
(NIC 從圖片內容轉換文字描述的技術流程。取自網路)
在 Google 發表的文獻裡,用了一張圖片(上圖)說明 NIC 的流程,先用「卷積神經網路」(Convolution Neural Network, CNN) 解開圖像,再用「遞歸神經網路」(Recurrent Neural Network, RNN) 轉換成文字,流程中除了照片與最後的文字之外,都是電腦的內在編碼多次轉換的運算結果。有興趣的讀者可瀏覽學術報告 Show and Tell: A Neural Image Caption Generator,做技術層面的瞭解。
任何新的技術,都不會只有一個人研發,明年夏天的「電腦視覺與形體識別」會議上,估計會有六份類似研究報告發表,除了 Google 的 NIC,還有微軟、加州大學洛杉磯分校、加州大學柏克萊分校、多倫多大學、以及中國的百度。大家對圖片的自動文字化的熱絡,主要是目前的搜尋技術不足以應付圖片的成長,現在的圖片搜尋多靠檔名、搜尋用語來協助,自動化以後就可以準確的附加標記 (Tag),大幅度提升尋引擎的效率。對個人來說,尤其對亂放照片的人來說,只能說功德無量。
微軟展示了下面兩張照片,每張有兩組描述,一組是人寫的、一組是電腦製作的。猜猜哪個是人寫的哪個是電腦製作的!(答案在圖下面)
左圖 1. An ornate kitchen designed with rustic wooden parts
(純樸木質的華麗廚房)
左圖 2. A kitchen with wooden cabinets and a sink
(一個木製櫥櫃與水槽的廚房)
右圖 1. A cat sitting on top of a bed
(一隻貓坐在床上)
右圖 2. A person sitting on bed behind an open laptop computer and a cat sitting beside and looking at the laptop screen area
(在床上一個人坐在一個打開的筆記本電腦後面,一隻貓坐在旁邊看著電腦的屏幕)
(微軟自動化圖片轉換文字描述實驗樣本。取自網路)
電腦製作的描述:左圖 2、右圖 1。