華文網

從演算法到人工智慧,淺談電腦的真正威力

【Technews科技新報】為何要談演算法(Algorithm)而不直接講人工智慧?因為人工智慧是演算法的一種,

但演算法不只是人工智慧。現今人工智慧的熱潮並非無跡可尋,而是應該由更長遠的角度來看待這個問題,早在電腦尚未發明以前,就已有人工智慧的概念,而看似早已過去的數位革命,其威力其實才正要開始。

數位革命又被稱之為第三次工業革命,是指電腦技術的運用對各行各業造成的衝擊層面。在早期,以核能、航太、資訊工業等領域為主要,

而在個人電腦及網際網路興起後,更加的普及于民生,而此一階段又被稱為資訊革命,誕生了許多支撐現代社會運行的演算法。它們的基本特徵就是能夠讓機器更迅速及有效率的實現人類的智力活動,促成了人類社會從經濟及文化的根本變革。

其實演算法這門學問看似艱澀冷門,但本質上仍是為了解決人類面臨的現實困難。像行程安排,就是每個人生活中常見的問題。

就曾有數學教授利用演算法推算出高鐵要如何分段買票才最便宜,並以此來向學生科普演算法在日常上的應用。

何謂演算法?

演算法是電腦科學中非常重要的基礎科目,常用於計算、資料處理和自動推理。更精確地說,演算法是一個有限長度的具體計算步驟,以清晰定義指令來使輸入資料經過連續的計算過程後產生一個輸出結果。簡單來講,演算法就是電腦科學家為了解決問題,

而設計出的一連串數學公式,以得到其想要的解答。

之所以需要演算法是因為很多看似簡單的生活問題其實比想像中複雜。雖然如行程規劃若僅限於少數網站,其實許多人無須借助電腦,就可以得出答案。但若要替一個想環游世界的旅客量身打造最短時間的旅遊行程就沒那麼容易,這件工作出乎意料的困難。

在假定已知每個城市間的距離,

在不重複訪問同一個城市下,如何求出最快速的行程組合,這就已經是電腦科學中著名的難解問題,又被稱為旅行推銷員問題(Travelling salesman problem, TSP)。事實上,不要說環遊世界這種可能多達數十個網站的行程安排,光個位數城市的行程,不用更有效率的演算法及電腦來處理,就非常繁雜。

有效運算 7 個節點的 TSP 演算法過程,若用窮舉法會有數百種組合。

(Source:By Saurabh.harsh (Own work) [CC BY-SA 3.0orGFDL],via Wikimedia Commons)

而解決這些問題的演算法,其用途當然也不僅是能得知怎麼旅遊比較有效益而已,背後數學本質的探討與突破,有更廣泛的用途。像這樣的線性規劃演算法,早已被應用在物流、生產制程、甚至是 DNA 測序等各方面。簡而言之,為了面對越來越複雜的經濟及生活問題,數學及電腦科學在現代經濟中,扮演的角色越來越重要。

計算的複雜性

歷史上最早的演算法被認為是歐幾裡德演算法(Euclidean Algorithm),又稱輾轉相除法,在基礎教育中其實就已提到過,是為了求得最大公因數的一種遞回演算法,每一步計算的輸出值就是下一步計算時的輸入值。這樣的演算法在處理大數時非常高效,也是計算複雜性理論(Computational Complexity Theory)的開端,讓後來科學家進一步探討如何運用資源進行有效計算的學問。

在計算複雜性理論中,以時間及空間需求對問題複雜程度進行分類,前文舉例的 TSP 問題就是 NP 問題中最難的一種。

(Source:By Hand drawn in Inkscape Qef [Public domain], via Wikimedia Commons)

如果一個問題被認為是可計算問題,那麼就表示可被一連串的機械數學步驟所解決,亦即是能被電腦處理的問題。然而現實中電腦的算力是有限的,如果一個問題的求解需要太多資源,則被認為是難解的問題。簡而言之,計算複雜性理論的作用就是在研究可解問題的實際限制。

然而還有一種問題對於演算法的發展更為重要,也就是不可解,不僅是資源有限,而是在數理上不可解。若有一天演算法能突破原先被認為不可解的問題或許就是電腦邁向真正人工智慧的一大步。所以說,雖然摩爾定律非常重要,實現了電腦的普及,而網際網路則加速了資料的傳遞,但演算法的進步才真正發揮數位革命的影響力,也是電腦的威力所在。

演算法的極限

演算法的進步,簡單來講,就是讓計算節點增加,但計算步驟不會呈指數式的爆發,就代表演算法更有效率,也能做到更多的事。而現今的演算法已能讓機械高度自動化,將所有制造流程以及機械動作寫進程式裡,在少數人力,甚至完全不需要人力的情況下完成生產過程,還能自我檢測及修正錯誤,這些已並非科幻。除錯程式本身就是一種偉大的演算法發明。

不僅如此,現今演算法已經能完成一些高度複雜的工作,甚至勝任超越人類的智力活動,但還是不會將這些演算法,稱之為真正的人工智慧,就像在圍棋上戰勝世界冠軍的 Alpha Go其顯現的高度智力幾乎已無人可及。儘管異常複雜,但圍棋規則畢竟有限,所以也只是難解問題,而非真的不可解。

所以不管是多麼高度自動化的系統 ,雖然在一般運行上可以完全不仰賴人力,但往往還是需要工程師進行監控,這件事卻從未改變。因為真正的萬能除錯程式,早已被人工智慧之父—圖靈(Alan Turing),證明為不可解。

早在 1936 年,圖靈在名為《論可計算數字及其在判定性問題中的應用》的劃時代論文中即已提到,我們能不能在數學上給“可計算”(Computable)下一個精確定義,然後用數學手段來研究萬事萬物的可計算性?。在那個年代,其實仍未有現代個人電腦的概念,電腦(Computer)之意即為“計算者”。

而圖靈發展出了圖靈機(Turing machine)的概念,試圖利用機器來模擬人類紙筆計算的過程,之後更證明了停機問題(Halting problem)就是一種不可解問題。簡單來講,不存在一個萬能的除錯演算法,能夠預測自己因反證法產生的錯誤,而這就是演算法的極限之一。他更在二戰期間造出解密電腦,成功破解德軍的加密機(Enigma),改變了世界大戰的進程。

圖靈在二戰期間建造的解密電腦 Bombe 的仿造品。

(Source:by Tom Yates [CC BY 3.0],via Wikimedia Commons)

大腦與人工智慧

雖然在實務上,不可解問題並沒有真的造成多少應用上的困擾,例如,儘管數理上不會有完美的除錯演算法,但仍可能造出發現大部分程式漏洞的程式,而這已能給予人類相當大的幫助。因為少數不可解問題並不會對人類大腦造成困擾,而能很好的彌補了機器的不足之處,畢竟應該沒有人的大腦會因為違背數學公理以及無限計算而當機,這點造就了大腦與機器的差距,以及互補性。

儘管如此,就如同圖靈在 1950 年發佈的論文《電腦與智慧》中的提問,機器到底能不能思考?仍然是許多電腦科學家亟欲解決的課題。而為了克服這樣的問題,科學家甚至開始想要造出類似於人類大腦的機器。但在當時,電腦算力有限,甚至還無法有效執行圖靈所寫的西洋棋程式,所以這必然成為一個難解問題。

現代已能戰勝人類圍棋冠軍的 AlphaGo 棋弈程式。

(Source:翻攝自 YouTube)

不過在現今醫學及神經科學的進展下,這已並非完全是幻想,隨著人類對自己大腦的運作方式越來越瞭解,令電腦科學家設計出類神經網路(Artificial Neural Network)的演算法。類神經網路利用神經細胞傳遞資訊的方式賦予機器學習(Machine Learning)的能力,雖然後來技術發展遇到瓶頸,多層神經網路(Multi-Layer Artificial Neural Networks)被認為沒有效率。

但如今,隨著半導體技術的蓬勃發展,電腦算力一日千里,尤其是影像處理器(GPU)的出現,令多層神經網路以深度學習(Deep Learnig)之名再度複出,並突破了早期被認為神經網路所不能處理的“異或難題”(XOR Gate)。而其能夠消化大量資料並得到準確預測,成為了“人工智慧”顯學,未來將廣泛應用到商業技術當中。

馬斯克與紮克伯格

然而這些都還稱不上是真正的人工智慧,離圖靈時代所想像的還差之甚遠。就如同前文所述,這仍無法突破演算法的極限。且許多從事 AI 研究的實務專家出來澄清,人類的技術發展藍圖尚未能對如何達成真正的 AI 做出想像。但仍然無法停止許多人對未來人工智慧發展及影響作出辯論。

近期最廣為人知的就是著名科技創業家馬斯克(Elon Musk)及紮克伯格(Mark Zuckerberg),雖然兩人都不能算是專業的電腦科學家,但其象徵著對人工智慧發展觀點的兩極。馬斯克長期以來對人工智慧抱持著較為悲觀的態度,甚至認為人工智慧的發展,可能導致人類的滅亡。他強調,人工智慧最危險的地方,就在網路本身,它能製造假新聞、駭入每個人的電郵,操控資訊,甚至使戰爭爆發,使人類文明面對極大風險。

而紮克伯格表示,馬斯克的言論是很不負責任的,他認為人工智慧技術將大幅改善人類生活品質,並強調有些人不斷散播 AI 是個巨大威脅是很牽強的,因為其帶來災難的可能性遠比疾病和暴力還小。而針對這番話,馬斯克認為紮克伯格對 AI 所知甚少。事實上,也有不少名人發佈過 AI 威脅論,如著名物理學家霍金及微軟創辦人比爾·蓋茲,基本上同意馬斯克所言。

這樣的辯論在企業家之間發生有另一番意義,因為就算不是電腦專家,也體悟到了 AI 的潛在威力。人工智慧可能是自數位革命以來,對人類而言,影響最大的技術,不亞於網際網路。事實上,兩人所陳述的觀點都相當合理。長遠來看,若證明機械真的能如同人類般誕生意識及思考,那麼物理本質上的差異,將使得人類在效率上全面落於下風,再加上目前跡象顯示,AI 的邏輯與人類截然不同,那麼可能真的會引發“文明衝突”。

但從另一面來講,機械與人類的不同,也使兩者未必不能相容,只要機械一天仍然擁有演算法的極限,那麼有些事物就無法超越人類,但其超高的計算能力,將可讓人類擺脫生物的局限,邁向更先進的經濟及生活方式。雖然同樣也會帶來更多的社會問題,但這與網際網路的誕生也沒有什麼不同,原本就是人類自己應該去克服的障礙。所以馬斯克與紮克伯格的想法差異就在於機械與人類之間的新關係到底是什麼?而演算法的極限將會是現階段數位革命的關鍵。

著名動畫《攻殼機動隊》中,人類與人工智慧對話的一幕。

(Source:Flickr/Tim DouglasCC BY 2.0)

扮演的角色越來越重要。

計算的複雜性

歷史上最早的演算法被認為是歐幾裡德演算法(Euclidean Algorithm),又稱輾轉相除法,在基礎教育中其實就已提到過,是為了求得最大公因數的一種遞回演算法,每一步計算的輸出值就是下一步計算時的輸入值。這樣的演算法在處理大數時非常高效,也是計算複雜性理論(Computational Complexity Theory)的開端,讓後來科學家進一步探討如何運用資源進行有效計算的學問。

在計算複雜性理論中,以時間及空間需求對問題複雜程度進行分類,前文舉例的 TSP 問題就是 NP 問題中最難的一種。

(Source:By Hand drawn in Inkscape Qef [Public domain], via Wikimedia Commons)

如果一個問題被認為是可計算問題,那麼就表示可被一連串的機械數學步驟所解決,亦即是能被電腦處理的問題。然而現實中電腦的算力是有限的,如果一個問題的求解需要太多資源,則被認為是難解的問題。簡而言之,計算複雜性理論的作用就是在研究可解問題的實際限制。

然而還有一種問題對於演算法的發展更為重要,也就是不可解,不僅是資源有限,而是在數理上不可解。若有一天演算法能突破原先被認為不可解的問題或許就是電腦邁向真正人工智慧的一大步。所以說,雖然摩爾定律非常重要,實現了電腦的普及,而網際網路則加速了資料的傳遞,但演算法的進步才真正發揮數位革命的影響力,也是電腦的威力所在。

演算法的極限

演算法的進步,簡單來講,就是讓計算節點增加,但計算步驟不會呈指數式的爆發,就代表演算法更有效率,也能做到更多的事。而現今的演算法已能讓機械高度自動化,將所有制造流程以及機械動作寫進程式裡,在少數人力,甚至完全不需要人力的情況下完成生產過程,還能自我檢測及修正錯誤,這些已並非科幻。除錯程式本身就是一種偉大的演算法發明。

不僅如此,現今演算法已經能完成一些高度複雜的工作,甚至勝任超越人類的智力活動,但還是不會將這些演算法,稱之為真正的人工智慧,就像在圍棋上戰勝世界冠軍的 Alpha Go其顯現的高度智力幾乎已無人可及。儘管異常複雜,但圍棋規則畢竟有限,所以也只是難解問題,而非真的不可解。

所以不管是多麼高度自動化的系統 ,雖然在一般運行上可以完全不仰賴人力,但往往還是需要工程師進行監控,這件事卻從未改變。因為真正的萬能除錯程式,早已被人工智慧之父—圖靈(Alan Turing),證明為不可解。

早在 1936 年,圖靈在名為《論可計算數字及其在判定性問題中的應用》的劃時代論文中即已提到,我們能不能在數學上給“可計算”(Computable)下一個精確定義,然後用數學手段來研究萬事萬物的可計算性?。在那個年代,其實仍未有現代個人電腦的概念,電腦(Computer)之意即為“計算者”。

而圖靈發展出了圖靈機(Turing machine)的概念,試圖利用機器來模擬人類紙筆計算的過程,之後更證明了停機問題(Halting problem)就是一種不可解問題。簡單來講,不存在一個萬能的除錯演算法,能夠預測自己因反證法產生的錯誤,而這就是演算法的極限之一。他更在二戰期間造出解密電腦,成功破解德軍的加密機(Enigma),改變了世界大戰的進程。

圖靈在二戰期間建造的解密電腦 Bombe 的仿造品。

(Source:by Tom Yates [CC BY 3.0],via Wikimedia Commons)

大腦與人工智慧

雖然在實務上,不可解問題並沒有真的造成多少應用上的困擾,例如,儘管數理上不會有完美的除錯演算法,但仍可能造出發現大部分程式漏洞的程式,而這已能給予人類相當大的幫助。因為少數不可解問題並不會對人類大腦造成困擾,而能很好的彌補了機器的不足之處,畢竟應該沒有人的大腦會因為違背數學公理以及無限計算而當機,這點造就了大腦與機器的差距,以及互補性。

儘管如此,就如同圖靈在 1950 年發佈的論文《電腦與智慧》中的提問,機器到底能不能思考?仍然是許多電腦科學家亟欲解決的課題。而為了克服這樣的問題,科學家甚至開始想要造出類似於人類大腦的機器。但在當時,電腦算力有限,甚至還無法有效執行圖靈所寫的西洋棋程式,所以這必然成為一個難解問題。

現代已能戰勝人類圍棋冠軍的 AlphaGo 棋弈程式。

(Source:翻攝自 YouTube)

不過在現今醫學及神經科學的進展下,這已並非完全是幻想,隨著人類對自己大腦的運作方式越來越瞭解,令電腦科學家設計出類神經網路(Artificial Neural Network)的演算法。類神經網路利用神經細胞傳遞資訊的方式賦予機器學習(Machine Learning)的能力,雖然後來技術發展遇到瓶頸,多層神經網路(Multi-Layer Artificial Neural Networks)被認為沒有效率。

但如今,隨著半導體技術的蓬勃發展,電腦算力一日千里,尤其是影像處理器(GPU)的出現,令多層神經網路以深度學習(Deep Learnig)之名再度複出,並突破了早期被認為神經網路所不能處理的“異或難題”(XOR Gate)。而其能夠消化大量資料並得到準確預測,成為了“人工智慧”顯學,未來將廣泛應用到商業技術當中。

馬斯克與紮克伯格

然而這些都還稱不上是真正的人工智慧,離圖靈時代所想像的還差之甚遠。就如同前文所述,這仍無法突破演算法的極限。且許多從事 AI 研究的實務專家出來澄清,人類的技術發展藍圖尚未能對如何達成真正的 AI 做出想像。但仍然無法停止許多人對未來人工智慧發展及影響作出辯論。

近期最廣為人知的就是著名科技創業家馬斯克(Elon Musk)及紮克伯格(Mark Zuckerberg),雖然兩人都不能算是專業的電腦科學家,但其象徵著對人工智慧發展觀點的兩極。馬斯克長期以來對人工智慧抱持著較為悲觀的態度,甚至認為人工智慧的發展,可能導致人類的滅亡。他強調,人工智慧最危險的地方,就在網路本身,它能製造假新聞、駭入每個人的電郵,操控資訊,甚至使戰爭爆發,使人類文明面對極大風險。

而紮克伯格表示,馬斯克的言論是很不負責任的,他認為人工智慧技術將大幅改善人類生活品質,並強調有些人不斷散播 AI 是個巨大威脅是很牽強的,因為其帶來災難的可能性遠比疾病和暴力還小。而針對這番話,馬斯克認為紮克伯格對 AI 所知甚少。事實上,也有不少名人發佈過 AI 威脅論,如著名物理學家霍金及微軟創辦人比爾·蓋茲,基本上同意馬斯克所言。

這樣的辯論在企業家之間發生有另一番意義,因為就算不是電腦專家,也體悟到了 AI 的潛在威力。人工智慧可能是自數位革命以來,對人類而言,影響最大的技術,不亞於網際網路。事實上,兩人所陳述的觀點都相當合理。長遠來看,若證明機械真的能如同人類般誕生意識及思考,那麼物理本質上的差異,將使得人類在效率上全面落於下風,再加上目前跡象顯示,AI 的邏輯與人類截然不同,那麼可能真的會引發“文明衝突”。

但從另一面來講,機械與人類的不同,也使兩者未必不能相容,只要機械一天仍然擁有演算法的極限,那麼有些事物就無法超越人類,但其超高的計算能力,將可讓人類擺脫生物的局限,邁向更先進的經濟及生活方式。雖然同樣也會帶來更多的社會問題,但這與網際網路的誕生也沒有什麼不同,原本就是人類自己應該去克服的障礙。所以馬斯克與紮克伯格的想法差異就在於機械與人類之間的新關係到底是什麼?而演算法的極限將會是現階段數位革命的關鍵。

著名動畫《攻殼機動隊》中,人類與人工智慧對話的一幕。

(Source:Flickr/Tim DouglasCC BY 2.0)