- 天才與算法:人腦與AI的數(shù)學(xué)思維
- (英)馬庫(kù)斯·杜·索托伊
- 4841字
- 2020-04-08 19:33:17
非凡的游戲男孩
2016年初,某公司發(fā)布了一款圍棋程序,并宣稱該程序能與世界上頂級(jí)的人類棋手較量。鑒于過去的挑戰(zhàn)都以失敗告終,圍棋愛好者們對(duì)此事均持懷疑態(tài)度。因此,該公司提出組織一場(chǎng)人機(jī)圍棋對(duì)抗賽來證明自己所言非虛。此次比賽是公開賽,且獎(jiǎng)金豐厚,采用五番棋賽制,人類如果獲勝,將得到100萬美元的獎(jiǎng)金。來自韓國(guó)的世界冠軍李世石(Lee Sedol)接受了挑戰(zhàn)。這個(gè)計(jì)算機(jī)程序就是AlphaGo。
AlphaGo是戴密斯·哈薩比斯(Demis Hassabis)智慧的結(jié)晶。哈薩比斯1976年生于倫敦,父親是希族塞人,母親是新加坡人。用哈薩比斯的話說,他的父母都是教師,也都是波西米亞式的技術(shù)恐懼癥患者。他的弟弟和妹妹都走上了創(chuàng)作之路,一個(gè)成為作家,另一個(gè)成為作曲家。所以,哈薩比斯搞不清楚他的科學(xué)“極客”潛質(zhì)遺傳于何處。早在童年時(shí)期,哈薩比斯就顯露出自己的天賦,尤其在游戲方面。11歲時(shí),他的國(guó)際象棋排名就已經(jīng)位列同齡段世界第二了。
在列支敦士登參加一場(chǎng)國(guó)際巡回賽時(shí),哈薩比斯的腦海中突然閃現(xiàn)出這樣一個(gè)念頭:“在偌大的比賽大廳里,幾百名來自世界各國(guó)的頂尖棋手正對(duì)著這個(gè)偉大而邏輯復(fù)雜的游戲積極思索。他們究竟在干什么?”哈薩比斯有一種頓悟的感覺,他意識(shí)到了這樣的游戲完全是勞而無功的。后來,在英國(guó)廣播公司(BBC)的采訪中,他承認(rèn)當(dāng)時(shí)在想:“我們是不是在浪費(fèi)大腦,因?yàn)檫@個(gè)級(jí)別的比賽選手都是頂尖的,為什么不用我們的腦力去做點(diǎn)更有意義的事情呢?比如解決癌癥問題,或是找到其他疾病的治愈方法,那樣不是更好嗎?”
在與他的對(duì)手——成年的荷蘭世界冠軍激戰(zhàn)10個(gè)小時(shí)后,哈薩比斯以微弱的劣勢(shì)輸?shù)袅吮荣?。賽后他宣布自己將不再參加?guó)際象棋比賽,這讓他的父母非常震驚,因?yàn)樗腥硕家詾檫@將是他的未來。但下棋的那些年他也收獲頗豐,比如他用擊敗美國(guó)對(duì)手亞歷克斯·張(Alex Chang)贏得的200英鎊獎(jiǎng)金,購(gòu)買了人生中的第一臺(tái)電腦ZX Spectrum。正是這臺(tái)電腦促使他產(chǎn)生了要讓機(jī)器學(xué)會(huì)思考的想法。
哈薩比斯很快又升級(jí)了他的裝備——一臺(tái)由康懋達(dá)(Commodore)公司發(fā)布的、著名的Amiga計(jì)算機(jī)。閑暇之時(shí)他在這臺(tái)電腦上編程,開發(fā)喜歡的游戲。對(duì)當(dāng)時(shí)的他而言,開發(fā)國(guó)際象棋程序還太過復(fù)雜。因此,他開發(fā)了一款游戲——奧賽羅(Othello),并取得了成功。奧賽羅是一個(gè)黑白棋游戲,當(dāng)某種顏色的棋子困于相反顏色的棋子之間,其顏色就會(huì)反轉(zhuǎn)。這個(gè)下里巴人的游戲沒辦法登上大雅之堂,因此也就沒有專業(yè)的高手關(guān)注和挑戰(zhàn),哈薩比斯只好找他的弟弟來測(cè)試程序。結(jié)果是程序百戰(zhàn)百勝。
該程序采用經(jīng)典的“如果……那么……”選擇結(jié)構(gòu)設(shè)計(jì),需要編寫代碼以應(yīng)對(duì)對(duì)手的每一個(gè)動(dòng)作,比如對(duì)手走了“那一步”,就用“這一步”回?fù)?。所有的?chuàng)造力均來自哈薩比斯本人對(duì)于贏得比賽的預(yù)判能力。猶如魔法師的徒弟掐訣念咒一般,只要代碼編寫正確,計(jì)算機(jī)程序就可以毫無懸念地取得勝利。
看過杰夫·高布倫(Jeff Goldblum)主演的電影《生命的故事》(又名《雙螺旋競(jìng)賽》)后,哈薩比斯對(duì)劍橋大學(xué)非常向往:“這真的是在劍橋發(fā)生的事嗎?就在附近的小酒吧里提出DNA雙螺旋學(xué)說,這簡(jiǎn)直太酷了!”所以,在16歲那年,他就向劍橋大學(xué)提出申請(qǐng),想成為一名攻讀計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生,而跟他同齡的其他人此時(shí)還在辛苦地學(xué)習(xí)高中課程。
雖然劍橋大學(xué)破格錄取了他,但由于年齡太小,學(xué)校要求他晚一年入學(xué)。為了打發(fā)時(shí)間,哈薩比斯參加了英國(guó)游戲雜志Amiga Power舉辦的游戲設(shè)計(jì)大賽并獲得了二等獎(jiǎng),也因此得到了去游戲開發(fā)公司工作的機(jī)會(huì)。在那里他開發(fā)了一款新游戲“主題公園”,玩家可以打造并經(jīng)營(yíng)自己的主題公園。這款游戲獲得了巨大的成功,不僅銷售量達(dá)到了數(shù)百萬套,還獲得了“金搖桿獎(jiǎng)”。哈薩比斯也因此賺到了足夠多的錢以供自己上大學(xué)使用,之后他便動(dòng)身前往劍橋。
在劍橋?qū)W習(xí)的時(shí)光里,哈薩比斯領(lǐng)略了人工智能領(lǐng)域偉大的科學(xué)家艾倫·圖靈的風(fēng)采,知曉了他著名的圖靈智能測(cè)試;了解了亞瑟·塞繆爾(Arthur Samuel)和他的跳棋程序;提出“人工智能”這個(gè)概念的約翰·麥卡錫(John McCarthy)以及弗蘭克·羅森布拉特(Frank Rosenblatt)和他的第一個(gè)神經(jīng)網(wǎng)絡(luò)試驗(yàn)。哈薩比斯渴望站立于巨人的肩膀之上,在人工智能領(lǐng)域有所建樹??墒窃谡n堂上教授卻反復(fù)強(qiáng)調(diào):“圍棋極具創(chuàng)造性和直覺性,計(jì)算機(jī)永遠(yuǎn)下不好圍棋?!边@對(duì)年輕的哈薩比斯來說就像斗牛比賽中那塊猩紅的斗篷,激起了他的斗志。所以,當(dāng)他從劍橋畢業(yè)時(shí),他決心通過自己的努力來證明教授的言論是錯(cuò)誤的。
他的想法是,與其編寫一個(gè)會(huì)下圍棋的程序,不如編寫一個(gè)通用性的“元程序”,它可以用于編寫出會(huì)下圍棋的程序。這或許有點(diǎn)不可思議,但重點(diǎn)是“元程序”在實(shí)現(xiàn)以后將具有模式學(xué)習(xí)能力,隨著經(jīng)歷的棋局越來越多,該程序會(huì)在下棋過程中自我學(xué)習(xí),不斷地從錯(cuò)誤走法中總結(jié)經(jīng)驗(yàn)并加以改進(jìn)。
哈薩比斯了解到人工智能研究員唐納德·米基(Donald Michie)在20世紀(jì)60年代就實(shí)現(xiàn)了類似的想法。米基編寫了一個(gè)名為“MENACE”的算法,該算法可以零基礎(chǔ)學(xué)習(xí)玩井字棋游戲的最佳策略(MENACE代表導(dǎo)出〇和×策略的引擎)。為了驗(yàn)證該算法,米基用304個(gè)火柴盒代表〇和×所有可能的布局;每個(gè)火柴盒里都裝滿了不同顏色的球,代表可能發(fā)生的動(dòng)作。球被移走或加到盒子里,用以處分失誤或肯定勝利。隨著積累的游戲經(jīng)驗(yàn)越來越多,重新分配球的過程最終產(chǎn)生了幾乎完美的游戲策略。哈薩比斯打算借鑒這種從錯(cuò)誤中改進(jìn)策略的思路來訓(xùn)練下圍棋的算法。
哈薩比斯為算法的實(shí)現(xiàn)精心設(shè)計(jì)了一個(gè)巧妙的模型。新生兒的大腦并沒有預(yù)先設(shè)定應(yīng)對(duì)生存挑戰(zhàn)的方法,但他們會(huì)通過不斷學(xué)習(xí)來強(qiáng)化自我,根據(jù)環(huán)境的變化做出適當(dāng)?shù)恼{(diào)整。
哈薩比斯打算研究人類的大腦是怎樣學(xué)會(huì)解決問題的方法的,因?yàn)樗X得了解大腦的工作原理有助于實(shí)現(xiàn)自己創(chuàng)建一個(gè)會(huì)下圍棋的計(jì)算機(jī)程序的夢(mèng)想。因此,他去倫敦大學(xué)學(xué)院(UCL)攻讀了神經(jīng)科學(xué)博士學(xué)位。在試驗(yàn)工作閑暇之余,哈薩比斯與神經(jīng)學(xué)家謝恩·萊格(Shane Legg)交流過創(chuàng)辦一家實(shí)現(xiàn)自己想法的公司。盡管當(dāng)時(shí)人工智能的學(xué)術(shù)地位很低(甚至在十年前,他們都不曾向教授們表露過想要投身于人工智能事業(yè)的想法),但他們?nèi)匀挥X得自己正在從事一項(xiàng)偉大的事業(yè)。2010年9月,這兩位科學(xué)家與穆斯塔法·蘇萊曼(Mustafa Suleyman,哈薩比斯從小一起長(zhǎng)大的好友)三人創(chuàng)建了公司,即DeepMind。
在DeepMind成立之初,籌集所需的資金異常困難,因?yàn)榇蠖鄶?shù)投資人都認(rèn)為投資一個(gè)研究“人工智能玩游戲”的項(xiàng)目太不靠譜。只有埃隆·馬斯克(Elon Musk)、彼得·蒂爾(Peter Thiel)等極少數(shù)的投資人看好這家公司的前景并注入了資金。蒂爾從未給硅谷以外的公司投資過,他試圖說服哈薩比斯把公司搬到美國(guó)西海岸,以便更好地發(fā)展。但哈薩比斯是土生土長(zhǎng)的倫敦人,他堅(jiān)信家鄉(xiāng)還有很多能夠壯大自己事業(yè)的人才未被發(fā)掘。哈薩比斯還記得他與蒂爾的律師的一次針鋒相對(duì)的談話——蒂爾的律師譏諷地問道:“倫敦有關(guān)于知識(shí)產(chǎn)權(quán)保護(hù)的法律嗎?”他則回斥道:“我想他們以為我們也來自廷巴克圖!”這場(chǎng)談?wù)摫澈蟮囊饬x在于,雖然DeepMind創(chuàng)始人不得不把大量原始股份給投資人,但總算是有研究人工智能的資金了。
一開始就創(chuàng)造出一臺(tái)能夠下圍棋的機(jī)器,這種一蹴而就的想法當(dāng)然是癡人說夢(mèng)。所以,他們?cè)陂_始階段選擇了一個(gè)相對(duì)簡(jiǎn)單的目標(biāo):20世紀(jì)80年代的雅達(dá)利(Atari)游戲。在20世紀(jì)70年代末到80年代初,雅達(dá)利非常流行,很多學(xué)生因沉迷這款游戲機(jī)而荒廢學(xué)業(yè)。我的朋友就有一臺(tái)雅達(dá)利2600游戲機(jī),他把大量的時(shí)間花費(fèi)在玩Pong、Space Invaders和Asteroids等游戲上。這款游戲機(jī)是第一批能夠通過軟盤加載多款游戲的游戲機(jī),可以直接加載后續(xù)開發(fā)出來的不同類型的新游戲。再早以前的游戲機(jī)只能玩那幾款“寫死”在硬件上的游戲。
我最喜歡的一款雅達(dá)利游戲叫作Breakout(打磚塊):屏幕上方是彩色磚塊砌成的磚墻,通過操縱桿的左右移動(dòng)來控制底部的球拍,小球經(jīng)球拍反彈后撞向磚墻,被撞到的磚塊會(huì)消失。撞到磚墻底部的黃色磚塊得1分,撞到磚墻頂部的紅色磚塊得7分。為提升游戲的復(fù)雜度使玩家獲得更刺激的游戲體驗(yàn),隨著被清理的磚塊的數(shù)量增多,球拍的尺寸會(huì)逐漸縮小,小球的速度也會(huì)逐漸加快。
某天下午發(fā)生了一件令人非常開心的事情:我們發(fā)現(xiàn)了一個(gè)破解游戲的巧妙方法。如果能在磚墻的一側(cè)敲出一條通道,一旦小球經(jīng)該通道到達(dá)磚墻頂部區(qū)域,它就會(huì)沿著通道兩側(cè)的墻壁一路反彈,依次清理剩余的磚塊。玩家坐等小球自己“工作”完畢從墻上掉落下來后,再用球拍把球反彈出去即可。重復(fù)這一動(dòng)作就可輕松得到高分。這個(gè)策略簡(jiǎn)直太棒了!
哈薩比斯團(tuán)隊(duì)的成員在年輕時(shí)也花費(fèi)了不少時(shí)間玩電腦游戲。他們的父母要是知道他們?yōu)槟切┯螒蛲度氲臅r(shí)間和精力變得有價(jià)值一定會(huì)非常高興。事實(shí)證明,打磚塊游戲是一個(gè)完美的測(cè)試用例,可以檢驗(yàn)DeepMind團(tuán)隊(duì)是否具備開發(fā)能夠?qū)W會(huì)玩游戲的程序的能力。對(duì)他們而言,只針對(duì)一款游戲編寫程序有些太簡(jiǎn)單了,所以哈薩比斯團(tuán)隊(duì)又設(shè)定了一個(gè)更大的目標(biāo)。
他們想編寫一個(gè)根據(jù)當(dāng)前屏幕像素狀態(tài)和得分這兩個(gè)輸入?yún)?shù)之間的關(guān)系,尋求最佳得分策略的程序。該程序不會(huì)預(yù)先設(shè)定游戲規(guī)則,而是通過隨機(jī)選擇不同的“動(dòng)作”(比如在打磚塊游戲中移動(dòng)球拍或是在Space Invaders游戲中發(fā)射激光炮射擊外星人)不斷試驗(yàn),對(duì)相應(yīng)的得分情況進(jìn)行評(píng)估,分析其結(jié)果是有效提升還是止步不前。
該程序的實(shí)現(xiàn)基于20世紀(jì)90年代提出的強(qiáng)化學(xué)習(xí)(reinforcement learning)思想,目的在于根據(jù)分?jǐn)?shù)的反饋或獎(jiǎng)勵(lì)函數(shù)來調(diào)整執(zhí)行動(dòng)作的概率。比如在打磚塊游戲中,決定底部球拍左移或右移的初始概率是50:50。如果某次隨機(jī)移動(dòng)后,球拍擊中小球并且得分,那么程序?qū)⒏鶕?jù)這些信息重新校準(zhǔn)球拍左右移動(dòng)的概率,以增加球拍擊中小球的機(jī)會(huì)。新的算法將強(qiáng)化學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)相結(jié)合,后者將評(píng)估像素的狀態(tài)以確定哪些特征與加分有直接關(guān)系。
剛開始時(shí),程序嘗試隨機(jī)移動(dòng),但收效甚微,幾乎沒有得分。當(dāng)某次移動(dòng)后成功得分,程序就會(huì)記錄這次移動(dòng)并在后續(xù)游戲過程中不斷強(qiáng)化該移動(dòng)的使用頻率。一段時(shí)間后,隨機(jī)動(dòng)作會(huì)逐漸消失,代替它們的是一組更為有效的移動(dòng)。程序在不斷試驗(yàn)的過程中,可以真正學(xué)會(huì)通過特定的移動(dòng)來提高它在游戲中的得分。
DeepMind團(tuán)隊(duì)提交的論文所附帶的程序?qū)W習(xí)玩打磚塊游戲的視頻很值得一看。剛開始,程序會(huì)隨機(jī)地左右移動(dòng)球拍,并“觀察”會(huì)發(fā)生什么。當(dāng)小球被球拍反彈向上并撞擊磚塊得分時(shí),程序開始重寫。它發(fā)現(xiàn)讓小球的像素與球拍的像素相連接(小球撞擊球拍)似乎是一件好事(獲得加分)。經(jīng)過400局游戲的“學(xué)習(xí)”,程序已經(jīng)可以精準(zhǔn)地移動(dòng)球拍,并不斷地來回?fù)羟虻梅至恕?/p>
當(dāng)該程序玩過600局后,它所展現(xiàn)出來的水平令人驚訝!它找到了我們之前破解游戲的那個(gè)巧妙辦法。這引發(fā)了我的感慨:雖然不記得我和小伙伴們玩了多少局才找到這個(gè)“竅門”,但從耗費(fèi)的時(shí)間來看,顯然我們用的更多。這表明現(xiàn)在計(jì)算機(jī)程序不僅做到了,而且還做得更快、更好。程序操縱球拍在磚墻的一側(cè)建立通道,使得小球能夠抵達(dá)磚墻的最上方,在磚墻頂部和屏幕頂部之間的空隙里來回碰撞得分。分?jǐn)?shù)快速增加的同時(shí),程序卻無須太多干預(yù)。記得當(dāng)年我們發(fā)現(xiàn)這個(gè)技巧后興奮地?fù)粽葡鄳c,可程序輕易就做到了。
時(shí)間一晃,到了2014年,也就在DeepMind成立4年后,該項(xiàng)目在已經(jīng)涉足的49款雅達(dá)利游戲的29款中獲得了優(yōu)于人類玩家的表現(xiàn)。該團(tuán)隊(duì)在2015年初向《自然》雜志提交的論文中詳細(xì)介紹了他們的研究成果。眾所周知,在《自然》雜志上發(fā)表論文是科學(xué)家在科研事業(yè)上的重要里程碑,可DeepMind團(tuán)隊(duì)的論文不僅獲得了極高的贊譽(yù),還登上了雜志的封面?!度A爾街日?qǐng)?bào)》評(píng)論道:“這是人工智能發(fā)展史上的重要時(shí)刻?!?/p>
在這里我必須重申,這是計(jì)算機(jī)編碼的一項(xiàng)偉大進(jìn)步!以像素狀態(tài)和不斷變化的分?jǐn)?shù)作為原始數(shù)據(jù),從隨機(jī)移動(dòng)球拍到發(fā)現(xiàn)在磚墻兩側(cè)建立通道以獲取更多得分,程序?qū)崿F(xiàn)了自我進(jìn)化。但雅達(dá)利游戲的復(fù)雜性不可與古老的中國(guó)圍棋同日而語,所以,哈薩比斯及他的團(tuán)隊(duì)決定研發(fā)一款可以挑戰(zhàn)圍棋的更厲害的程序。
此時(shí),考慮到未來的發(fā)展,哈薩比斯決定將公司賣給谷歌。他在接受《連線》(Wired)雜志采訪時(shí)解釋說:“本來我們并不想這么做,但在過去3年里,為了籌措資金,我只有10%的時(shí)間用于研究。所以,我意識(shí)到,我的人生可能沒有足夠的時(shí)間,既能把公司發(fā)展成谷歌那樣的規(guī)模,又可以在人工智能領(lǐng)域有所建樹。這樣的選擇對(duì)我來說并不難。”這筆買賣對(duì)于谷歌的財(cái)力來說可謂輕而易舉,同時(shí),也給DeepMind團(tuán)隊(duì)研發(fā)會(huì)下圍棋的程序帶來了巨大支持和幫助。
- AutoCAD快速入門與工程制圖
- Go Machine Learning Projects
- Ansible Quick Start Guide
- Hadoop 2.x Administration Cookbook
- ServiceNow Cookbook
- JMAG電機(jī)電磁仿真分析與實(shí)例解析
- 自動(dòng)檢測(cè)與轉(zhuǎn)換技術(shù)
- 水下無線傳感器網(wǎng)絡(luò)的通信與決策技術(shù)
- 運(yùn)動(dòng)控制系統(tǒng)
- Deep Reinforcement Learning Hands-On
- FPGA/CPLD應(yīng)用技術(shù)(Verilog語言版)
- 電腦日常使用與維護(hù)322問
- 單片機(jī)技術(shù)項(xiàng)目化原理與實(shí)訓(xùn)
- 基于ARM9的小型機(jī)器人制作
- Dreamweaver+Photoshop+Flash+Fireworks網(wǎng)站建設(shè)與網(wǎng)頁(yè)設(shè)計(jì)完全實(shí)用