文/曹遠東
從AlphaGo參加競賽初探計算機系統(tǒng)的發(fā)展
文/曹遠東
本文通過探討AlphaGo人工智能機器人參加圍棋競賽帶給計算機系統(tǒng)發(fā)展的啟示,介紹了現(xiàn)代計算機系統(tǒng)結(jié)構(gòu)框架以及算法在實現(xiàn)人工智能中起的作用,同時進一步探究了計算機系統(tǒng)可能的發(fā)展方向。
AlphaGo;計算機;發(fā)展方向

2016年3月9日,一場別開生面的圍棋“五番棋”對決在韓國首爾拉開了帷幕。它之所以別開生面,不僅僅因為出戰(zhàn)的選手是上一年的世界冠軍李世石,更特殊的是他的對手,一臺名為AlphaGo的人工智能機器人。這場“人機對決”在萬眾期待中開始,留給世人一個充滿驚喜與熱議的結(jié)局,AlphaGo以4:1的總比分完勝人類圍棋世界冠軍。
2016年底,一個名為“Master”的賬號橫掃了幾個知名圍棋對戰(zhàn)平臺,接連取勝包括柯潔、樸廷桓、古力在內(nèi)的多名世界頂級選手。2017年1月4日,代“Master”賬號執(zhí)子的黃士杰博士宣布其真實身份正是AlphaGo,圍棋界和科技界再次引來熱議。
本文拋開圍棋層面,初步探討AlphaGo帶給計算機系統(tǒng)發(fā)展的啟示,進一步探究其可能的發(fā)展方向。
現(xiàn)代計算機理論最早是由英國數(shù)學(xué)家艾倫·圖靈提出,他證明了“可計算理論”,指出可以在預(yù)先確定的時間和步驟內(nèi)完成具體可執(zhí)行的計算,并以此提出“圖靈機”模型。“圖靈機”模型可以想象是一種抽象的機器,由一條負責存儲的紙帶和一個負責運算、指令的控制器組成。它表明了一種有限狀態(tài)機之間的轉(zhuǎn)換關(guān)系,圖靈機的下一個狀態(tài)由紙帶內(nèi)容(數(shù)據(jù))和當前狀態(tài)、當前命令共同決定,因此圖靈機的運行是可確定的并可重現(xiàn)的。
現(xiàn)代計算機系統(tǒng)結(jié)構(gòu)框架主要是“馮·諾依曼”結(jié)構(gòu),它是由馮·諾依曼等人對于“圖靈機”理論模型的物理實現(xiàn)。該結(jié)構(gòu)的核心是存儲器(紙帶)和CPU(運算器+控制器),并加入輸入設(shè)備、輸出設(shè)備共同構(gòu)成計算機系統(tǒng)。這就是我們現(xiàn)在使用的計算機組成,從1946年第一臺電子計算機沿用至今。
在這段時間,電子計算機的發(fā)展進化主要集中在硬件層面上,控制器的邏輯元件從真空電子管、晶體管、集成電路發(fā)展到現(xiàn)在的大規(guī)模集成電路甚至超大規(guī)模集成電路;存儲器也從磁帶、磁芯、磁鼓發(fā)展到現(xiàn)在各種各樣高性能的磁盤。
計算機軟件系統(tǒng)則是隨著計算機的推廣應(yīng)用而逐步發(fā)展,使得使用者們無需再關(guān)注硬件層面不斷拋出的錯誤,轉(zhuǎn)向利用計算機的計算能力從事科學(xué)計算、事務(wù)處理等方面的工作。操作系統(tǒng)、編譯器以及一些高級程序語言相繼被開發(fā)設(shè)計出來,其中操作系統(tǒng)與編譯器是高級語言與硬件的機器語言的連接系統(tǒng),而高級語言負責利用計算機存儲器與運算器資源實現(xiàn)“圖靈機”的功能。計算機應(yīng)用開發(fā)者們進一步解放出來,利用高級語言(C、Java等)從事應(yīng)用程序的開發(fā),其中算法則是其高級語言得以進一步向人工智能發(fā)展的關(guān)鍵。
依然是艾倫·圖靈,他從“圖靈機”模型進一步思考,從事計算機軟件的研究工作,為后來的人工智能科學(xué)提供了開創(chuàng)性的構(gòu)思。他提出了著名的“圖靈測試”,判斷機器是否能夠思維,指出如果第三者無法辨別人類與人工智能機器反應(yīng)的差別,則可以論斷該機器具備人工智能。
算法是指解題方案的準確而完整的描述,是一系列清晰指令,其目的是使得計算機能夠在給定的輸入下經(jīng)過有限次狀態(tài)轉(zhuǎn)移得到確定的輸出。早期的算法一般是從數(shù)學(xué)問題凝練而來,是計算機預(yù)先確定的時間和步驟完成相關(guān)工作指令的邏輯步驟,此外它還可以在高級語言層面抽象,表示一種更為廣泛的概念。
計算機算法最為核心的部分包括加法運算法和排序、比較算法,以至于其他衍生的算法都可以用這兩種算法推導(dǎo)實現(xiàn)。一般而言,這些算法都是計算機人員預(yù)先編譯實現(xiàn)完成的,當需要更改時要對算法語言重新加工。這就需要算法編寫者預(yù)先想到所有可能的輸入以便得到相應(yīng)的輸出,這對于人類設(shè)計者幾乎是一件不可能完成的任務(wù),并且該算法也只能僅僅表達算法設(shè)計者對于問題的答案。“圖靈測試”是否可行在這一層面上是幾乎沒法實現(xiàn)的,特別是涉及到人機交互時,人類是很容易通過對系統(tǒng)的多次輸入判別出對方是人類還是機器。
為此,算法開發(fā)者們借鑒了人類自身,提出了神經(jīng)網(wǎng)絡(luò)、遺傳算法、各種分類聚類算法甚至現(xiàn)在熱門的機器學(xué)習(xí)、深度學(xué)習(xí)等等。以AlphaGo為例,它使用的算法主要是卷積神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)算法,通過對圍棋棋面提取局部特征,從而縮小了下N步預(yù)測的范圍,減少了多層次最優(yōu)化函數(shù)的計算量,從而使得計算機可以在規(guī)定的時間內(nèi)做出應(yīng)對。相比于1997年擊敗國際象棋世界冠軍的IBM機器人“深藍”,AlphaGo不再使用暴力算法強行計算每一步的可能,轉(zhuǎn)而模擬人類求出局部對于全局的最優(yōu)解,這是在有限計算資源下的一個突破。
計算機系統(tǒng)科學(xué)經(jīng)過七十多年來的發(fā)展已經(jīng)成為一門系統(tǒng)性、交叉性的學(xué)科,當前計算機系統(tǒng)還將從軟件系統(tǒng)和硬件系統(tǒng)兩方面的提升。
量子計算機的提出是基于量子力學(xué)的量子信息技術(shù)與量子算法的延伸,它是最有可能顛覆當前計算機體系結(jié)構(gòu)的一種方式,同時涉及硬件與算法兩個方面。目前,清華大學(xué)姚期智院士帶領(lǐng)的量子信息團隊著眼于計算理論及其在密碼學(xué)和量子計算中的應(yīng)用,取得一系列矚目的成績。量子計算機不再局限于傳統(tǒng)的二進制系統(tǒng),此外還將解決計算機能耗問題。
人工智能算法是從算法角度讓機器趨近于人類的思考邏輯。而目前的算法仍然是分步基于監(jiān)督式分類的數(shù)據(jù)挖掘算法,其性能仍然受制于計算機系統(tǒng)的運算能力。它在確定性的環(huán)境或場景下可以實現(xiàn)較高的準確性和效率,對于如圍棋、翻譯等,更多不確定性的場景如時間序列預(yù)測、人機交互等需要更多研究。
我們也相信,隨著人類不斷攀登科學(xué)的高峰,也會有更多新技術(shù)、新思路的涌現(xiàn),計算機系統(tǒng)會朝著更加智能化、多樣化、精密化的方向不斷發(fā)展。
(作者單位:北京精華學(xué)校)
[1]托馬斯·科曼等.算法導(dǎo)論[M].高等教育出版社,2002
[2]唐朔飛.計算機組成原理[M].高等教育出版社,2000.
[3]馮·諾依曼.計算機與人腦[M].商務(wù)印書館,1965
[4]安德魯·霍奇斯,艾倫·圖靈傳[M].湖南科學(xué)技術(shù)出版社,2012.
[5]周志華.機器學(xué)習(xí)[M].清華大學(xué)出版社,2016.