近年來因為人工智慧、大數據、區塊鏈等應用科技快速發展,以及 Google 等科技公司大舉來到臺灣進駐並招聘大量軟體工程師,臺灣頂大的資工科系成為超熱門志願。不過大家對資工系的印象就是要學寫程式,也就是俗稱的 coding,但 coding 在解決什麼問題?今天我們訪問了臺大資工系的陳縕儂副教授,從老師的專業「自然語言處理」(Natural Language Processing,縮寫 NLP)做切入,來帶大家了解資工系究竟在解決什麼問題。
大家可以想像一下,今天要跟一個 AI 互動,通常是透過語音或者文字來下達指令,接著 AI 就會協助我們完成特定的任務,並解決特定的問題。
在這個過程中,有四個主要的環節必須克服,分別是語音辨識 (Automatic Speech Recognition; ASR)、語意理解 (Natural Language Understanding; NLU)、對話決策 (Dialogue Management)、以及語言生成 (Natural Language Generation; NLG),說的白話一點,就是接收你講的話、翻譯成 AI 能理解的指令、要如何處理指令,以及怎麼把回應翻譯成人類能聽懂的聲音或文字。
在這四個環節裡都有相當複雜的問題需要去解決,譬如語音辨識,在技術上通常是將語音訊號直接轉換成文字,讓 AI 去理解,但在將音訊輸入的過程中,就必須要排除掉我們口語中會用的「嗯」、「啊」、「喔」等贅字或不自然的停頓,又或者是新創的流行語、方言、口音……等等的問題必須先解決,才能讓 AI 真的能聽懂人類的自然語言。
在「語意理解」上,要讓 AI 去分析語言或文字的脈絡、理解關鍵字,再找出對應的資料(搜尋資料庫);而「對話決策」更是困難,前面理解了人類的語言或文字表意後,AI 應該要如何回應?可能使用者給的資訊不完整,AI 要追問使用者以釐清問題?又或者在語意理解上有聽不懂的字,得要再次詢問並確認?
-----廣告,請繼續往下閱讀-----
這還只是 AI 面對人類自然語言時,其中幾個回應的選項,真實的對話情境可能更加複雜,而且整個對話過程只要有一個環節正確度不夠高,那 AI 後續也很難準確的回應,只要有一步錯了,就會對後續對話體驗造成負面影響。
不過好消息是,現在的深度學習技術已經相當成熟,只要餵資料給電腦時,告訴他怎麼樣是對、怎麼樣是錯,基本上電腦都可以不斷修正(餵的資料也要夠多),再加上現行語言代表模型的優化,智慧 AI 在特定領域的應用上都有蠻不錯的成果。
AI 處理語音指令的過程。圖/陳縕儂提供
Jarvis 仍遙遠,AI 的新突破是精準翻譯
聊到這幾年 AI 的重要突破,老師提到三年前 Google 所開發的語言代表模型 BERT(Bidirectional Encoder Representations from Transformers),當時 BERT 一出現市面上所有自然語言處理的模型都改採用了它的運作邏輯。相較於過去的語言模型,通常都是餵指定任務的文字來訓練電腦,BERT 是在給電腦任務前,先餵它吃很多的文章或書,接著再提供任務給它。
而 BERT 的技術確實也得到相當好的成效,所以擊敗了當時許多正在開發的語言模型,成為了當前語言模型的基礎。有趣的是,BERT 的前身是一個名為 ELMo(Embeddings from Language Models,與芝麻街角色名字相同)的語言模型,所以 BERT 的開發者們就用芝麻街的角色,來為他們開發出來的語言模型命名。
雖然說 NLP 領域在商業與學術上都有相當大的發展空間,但陳老師認為,目前要達到人的「common sense(常識)」對 AI 來說還是非常困難,舉例來說,今天我們跟智慧助理說我今天要跟某某人吃晚餐,這個時候如果是人類的助理,我們可能會聯想到「吃什麼」、「要不要聯絡某某人」、「交通方式是?」……等等與飯局相關的問題,但 AI 目前並沒有辦法執行這麼複雜的互動,還得必須跟 AI 說「幫我訂位」、「幫我叫車」,仍在一個指令一個動作的狀態,這種 AI「common sense」的建立,可說是目前非常有挑戰性的項目。
身為 AI 的設計者,陳縕儂老師認為 AI 會成為輔助人類的一部分,雖然說現階段許多人對於 AI 可以執行我們的工作感到彆扭,但實際上 AI 正在減輕我們的工作量,舉例來說,像是目前醫院已經有在使用協助診斷的 AI,但這樣的 AI 並不會取代醫生的工作,因為 AI 只是提供醫生診斷的相關依據,實務上對於病患的判斷最終還是得由醫生來做。
雖然 AI 已在產業中被廣泛利用,但基本上仍以「人機協作」為大宗,雖然能取代部分人力,但像是創造類型的工作 AI 就幾乎無法獨自完成。至於大家想像中,AI 恐對人類造成威脅的情節,基本上不會發生,因為 AI 是不會憑空出現意識的,AI 威脅人類的可能,比較會是人類不當利用造成的風險,所以在未來 AI 的開發上,基本上會往輔助人類的方向去做應用。
同樣地,如果我們給 AI 一含所有物質之性質的資料庫,然後告訴它如何尋找「規律」(pattern),相信它會非常勝任地發現許多具有某種特性的「新物質」、「新藥物」、甚或告訴我們如何製造它們(有機合成的資料庫)。但是 AI 雖然知道哈密瓜的所有性質(資料庫),可是它會想到哈密瓜含有能大量分泌青黴素的菌株、即時在第二次世界大戰中拯救了上百萬士兵的生命嗎(見後)?我覺得後者不是邏輯的問題,是沒辦法訓練的,因此 AI 不能「真正創造」不是依靠邏輯的發現。這正是本文所要談的:許多科學大突破都不是靠訓練或邏輯分析的!
-----廣告,請繼續往下閱讀-----
視眾人所見視,思眾人所未思
牛頓的傳記《艾薩克·牛頓爵士生平回憶錄》(Memoirs of Sir Isaac Newton’s Life)於1752年出版;作者斯圖克利(William Stukeley)在書中轉述:「晚餐後,天氣溫暖,我們去了花園,在幾棵蘋果樹的樹蔭下喝茶……他(牛頓)告訴我,他當時的處境和以前一樣,剛剛想到萬有引力的概念。當他正沉思時,一個蘋果掉了下來。他心想:『為什麼蘋果總是垂直落到地上,永遠不會向上或向一側掉落呢?……』,這使他得出結論:地球一定具有『引力』,從而發展出他的萬有引力理論。」
早在西元前 4 世紀左右,亞里斯多德(Aristotle)及歐幾里德(Euclid)等希臘哲學家就為自然哲學和邏輯奠定了基礎。樹上的水果都是往地面掉,這是任何小孩都知道的「常識」,但為什麼卻等了 1700 年才引起牛頓的注意?我們不知道為何牛頓會想到這個問題,但 AI 也會注意到這個現象嗎?如果會,它會先想到萬有引力或是直接跳到更精確的愛因斯坦廣義相對論(見後)呢?
一位正在自由下落的人不會感覺到自己的重量,那不是等於漂浮在沒有任何重力的外太空空間嗎?如果加速度可以抵消重力,那麼在沒有重力的情況下,加速度本身不是可以模擬重力,產生與真實重力沒有區別的人造重力嗎?愛因斯坦稱上面這一發現為「等效原理」(Equivalence Principle):我們雖然不知道重力是什麼,但其現象可以用加速度來模擬!這一想法啟動了愛因斯坦嘗試改變牛頓重力論的八年艱苦抗戰,於 1915 年 11 月完成了人類有史以來最美麗的物理理論━「廣義相對論」(General Theory of Relativity)。100 多年後的今天,愛因斯坦這一透過想像力來推測的理論仍然在指引著物理學家們去瞭解宇宙的基本特徵!怪不得愛因斯坦後來大膽地稱它為「我一生中最幸運的靈感」。
好吧,就假設 AI 像愛因斯坦一樣也有「最幸運的靈感」,發現了廣義相對論。可是後來物理學家瞭解到了愛因斯坦的「等效定理」事實上不完全正確,是有限制的,也就是說它只是一種近似的基本定律,只適用於一個局部、無限小的時空區域內。哈,如果AI比人類聰明,怎麼會在邏輯上犯下這個錯誤呢?如果不犯這個錯誤,它能發現廣義相對論呢?
愛因斯坦真大膽:一個可以用實驗來確定的光速,怎麼可以定為「公設」呢?光速與發射體運動狀態無關不是完全違反了我們日常生活的經驗(如聲速)嗎?愛因斯坦在其時鐘「同步程序」的假想實驗裡魔術般地導入了他的公設:光在任何方向的速度都是一樣的 c 值!完全忽略了當時幾乎所有物理學家都相信光是在「以太」中傳播的理論。
1924 年,一位名不見經傳,任教於東巴基斯坦的講師波思 (Styendra Bose) 在一篇 1500 字的論文裡做了一個誤打誤撞、連他自己本人都不知道、在整篇論文中隻字未提的重要及創新性假設:光量子是不可分辨的!在當時,所有的物理學家都認為光量子像銅板一樣是可以分辨的(我們可以分辨哪個是 A 銅板、哪個是 B 銅板、…),因此兩個銅板出現「一正及一反」的或然率是 2/4;但如果它們不能分辨呢?則出現「一正及一反」的或然率將變成 1/3。沒想到這一「錯誤」的假設後來竟成為打開量子統計力學的鑰匙!超強邏輯的AI會犯這種錯誤嗎?
在「發現能治療糖尿病的胰島素—胰島素與生技產業的誕生(上)」一文裡,我提到了「….將狗的胰臟割除,發現這隻可憐狗整天口渴及隨地小便。數日後,一位助手覺得實驗室內的蒼蠅好像突然多了起來,尤其是在狗小便過的地板。分析狗尿及其血液後,梅倫(Joseph von Mering)及明考斯基(Oskar Minkowski)很驚奇地發現裡面充滿了糖份。」顯然地,胰腺具有調解體內糖代謝的功能,它一旦受損將導致糖尿病。就這樣,法國兩位外科手術醫生無意中發現了「困擾」人類三千多年之糖尿病的病源━胰臟分泌物「胰島素」失調!這不是透過邏輯分析得到的結果,AI能做到嗎?