從圖靈機到人工智能:令電腦強大的數學

從圖靈機到人工智能:令電腦強大的數學
Photo Credit: Jon Callas, CC BY 2.0

我們想讓你知道的是

圖靈澄清了「什麼是數學的機械化」這件事情。一般從小到大學過的函數,只要在整數值上,圖靈機都可以計算。

採訪編輯:歐柏昇
美術編輯:張語辰

我們每天使用的電腦,就是源自於數學。中研院數學所的李國偉兼任研究員,聊聊圖靈機的故事,解開生活中的數學密碼。

簡單來說,拿一個手機出來,裡面很多功能、App的演算法,都使用數學。

圖靈的「模仿遊戲」

人工智能圍棋程式AlphaGo,壓倒性擊敗棋王而轟動全世界,令人不禁疑問:機器可以思考嗎?機器可以超越人類心靈嗎?而著名的「圖靈測試」(Turing Test,或譯涂林測試),就是對此問題的一種判定。

李國偉說,圖靈測試就是「模仿遊戲」。1950年圖靈(Alan Turing)發表了〈Computing machinery and intelligence〉這篇文章,討論「電腦會不會思考」,成為人工智能的重要思想來源。由於「思考」本身很難定義,圖靈訴諸可供判定的方法:一台電腦和一個人交談,如果交談的人始終分不清楚誰是電腦、誰是人,那這台電腦在行為上已經接近人的思考能力。

1
圖片來源:作者提供
「圖靈測試」是利用電腦模仿人類交談的遊戲,來判斷機器是否像人一樣有思考能力。(圖片重製│張語辰)

AlphaGo擊敗棋王,可以說是通過圖靈測試了嗎?李國偉解釋,雖然電腦很多能力的確比人強,不僅下圍棋,計算數學的能力也早就超越人類,但是圖靈測試是「漫無目標」的智能測驗,包括各種「常識」。電腦在很多專業知識上都超越人腦,但是最弱的就是常識。至今,還沒有一台機器真正通過圖靈測試。

不過,如何訓練機器擁有常識,是有方向可循。如同AlphaGo,訓練機器的方法,就是從一個「嬰兒機器」開始,讓它不斷學習、演化。下棋的好方法保留下來,壞方法淘汰掉,機器就不斷增強。

事實上,機器學習的方法,早在圖靈1950年的文章中就已經提出。當時沒有相應的硬體條件可以實際做出,直到現在,GPU、TPU等硬體效能趕上軟體運算的需求,開始表現出早期人們預期人工智能能達到的事情。

在圖靈的時代,有許多先進的工程師,甚至不相信電腦有可能幫人算帳。只有圖靈,深刻了解數學的核心慨念,所以思想沒有受制於當時的硬體,認為未來電腦的能力將會大幅提升。

圖靈為何有先見之明?憑藉的就是他發展出的一套理論數學計算機模型——圖靈機(Turing Machine)。圖靈機的故事說來話長,李國偉從19世紀的數學發展聊起。

從數學難題到資訊科學的開端

19世紀末的數學家,發現一些數學的基礎出了問題,例如「無窮」的概念定義不清。他們想從最簡單的概念出發,就像歐幾里得建立公理、公設一樣,重新建立起一套數學的體系。他們想到,在自然數之前,更基礎的是and、or、not之類的邏輯概念。

2
圖片來源:作者提供
and、or、not的邏輯概念,也是電子電路、電腦程式碼的基礎。(圖片重製│張語辰)

試圖找出算術的基礎,數學家弗雷格(Gottlob Frege)嘔心瀝血寫成大作,嚴謹定義什麼叫做「集合」。沒想到,當時才二十幾歲的羅素 (Bertrand Russell) 找到致命的矛盾:當我考慮把所有「自己不屬於自己」的集合,放在一個集合A裡,那麼那個集合A屬於不屬於自己?這就導出了著名的「羅素悖論」。

世界頂尖的數學家都跳進來解決集合論基礎問題。若要解決,必須把「自己不屬於自己」這種奇怪的東西,排除到數學王國之外。問題來了,數學王國的圍牆怎麼蓋?大數學家希爾伯特(David Hilbert)選擇了一條安全的途徑:假裝我們每天講的數學,都是以符號寫成。他從「形式系統」出發,完全玩符號遊戲。

但是,問題又來了。怎麼證明一個形式系統是一致的,沒有矛盾?李國偉說,如果用機械化的方法,一步一步寫出來所有系統裡的定理,即使矛盾一直沒有出現,這種方式還是無法說服人!希爾伯特試著尋找真正有效的證明。

沒想到,在1931年,年輕數學家哥德爾(Kurt Gödel)證明了相反的結果:如果你的系統複雜到可以講一點點的自然數理論,那就沒有辦法在你的系統裡面,保證不出矛盾。希爾伯特的夢想是達不到的。

順著這些數學脈絡發展,圖靈從一個新的角度切入,才充分捕捉到「機械性的計算」的概念。

圖靈機:理論數學的計算機模型

李國偉解釋,所謂的圖靈機,其實不是一個真正的「機器」,而是「理論數學」的模型。

圖靈為了敘述的容易,把理論描述成一張紙帶,上面畫了很多格子,還有一個讀寫頭。讀寫頭儲存了有限個不同狀態,若決定了現在的狀態,再看底下格子的符號,就決定了下一步會變成什麼狀態。

圖靈機就是一張表格:現在的狀態→下一步怎麼走→移動→現在的狀態。

圖靈澄清了「什麼是數學的機械化」這件事情。一般從小到大學過的函數,只要在整數值上,圖靈機都可以計算。李國偉說明,因為這個表格是有限的,所以可用自然數來編碼。自然數可以因數分解,一個非常大的數字,一層一層因數分解下來,等於肚子裡頭一層一層包含訊息。就像數字變成了一個機器。

延伸這個思維,圖靈還提出一種「通用圖靈機 (Universal Turing Machine)」,可以把各種機器的程式都吃進來,模擬另一個機器計算的結果。這就是我們現在使用的電腦,同一套軟體不論移到哪台電腦都能計算。

電腦時代的數學家

圖靈一方面說電腦可以很強大,另一方面又指出機器的侷限。他證明,有個「停機問題」是任何計算機都無法判定,也就是「是否存在一個程式P,對於任意輸入的程式w,能夠判斷w會在有限時間內結束、或者無窮迴圈。」以數學的角度來說,並沒有一般的機械方式,可以處理這種判定。

3
圖片來源:作者提供
李國偉笑著說:「數學證明不可能全部由一部電腦產生出來。不然所有工作搞一個電腦跑光,我們就不用做數學了!」(攝影│張語辰) 

話又說回來,電腦還是有強大的功能,協助數學研究。1976年,電腦輔助證明了經典難題「四色定理」;至今,電腦甚至已經能夠自動證明數學定理,只差在還無法主動發明有深度而令數學家感興趣的定理,讓數學家還能保住飯碗。電腦也促成了很多新的數學研究主題,李國偉的研究領域「組合數學」,隨著計算機的發展更加興盛。