算法的進化:機器會引發戰爭嗎?
現代算法是可以自學的,尤其是推薦系統算法,它可以根據每個人的喜好推薦有趣的東西給我們,比如說適合的電影、書籍、音樂等等。算法通過與用戶之間的交互過程,獲取用戶的個人偏好信息,並從中學習進一步完善自身,發現其中的關聯關係,以便為下一位用戶提供更優質的推薦信息。
為了滿足自己的好奇心,我研究了其中一種算法,想知道它到底能有多了解我。所以,在劍橋微軟實驗室測試Xbox遊戲機所用的Kinect視覺識別算法時,我順便拜訪了一位同事,想向他了解一個實時推薦系統的算法原理。
該推薦系統的用戶界面上隨機排列了約200部影片,我要做的是如果看到自己喜歡的影片,就把它拖放到屏幕的右側。其中的確有一些是我比較喜歡的影片,於是,屏幕中的影片位置自動調整,將我可能喜歡的電影放到靠右側的位置,而將我可能不太喜歡的電影放到靠左側的位置。僅僅通過一部電影是不足以訓練算法的,所以大部分尚未被分類的影片仍然停留在屏幕中間的區域。
《王牌大賤諜》這部影片我覺得很無聊,屬於我特別不喜歡的類型,所以我就把它拖到了屏幕左側的回收站裡。這一操作為算法提供了進一步學習所需的新信息,使屏幕中影片的位置又進行了一次調整,我似乎能感覺到算法對自己提供的建議很有信心:它將伍迪·艾倫( Woody Allen)的《曼哈頓》推薦為我喜歡的電影。這部影片確實是我喜歡的,儘管算法是對的,但此時它還沒有給我特別多的驚喜。它可能覺得我會比較喜歡《搖滾萬歲》,所以將這部電影向右側移動了。但事實恰好相反,我不能忍受這部影片,所以我把它拖到了回收站裡。
算法本來以為我會喜歡《搖滾萬歲》,但事實上我不喜歡,從這個過程中它獲取到了重要的新信息。屏幕上的影片又一次進行了重新排列,並且此次調整的幅度非常大。這是因為系統後台的算法程序發生了微妙的改變—它根據我此次的選擇學到了更多的“新知識”,並微調了推薦系統的模型參數。它判斷我可能喜歡《搖滾萬歲》這部影片的概率過高,所以通過修正特定的參數來降低其值。雖然此前它從別的既喜歡韋斯·安德森又喜歡《曼哈頓》的那部分影迷處得知,他們也喜歡《搖滾萬歲》這部電影,但這一條並不適用於我。
正是這種人機交互給算法提供了持續學習的新數據,使它可以不斷進行自我調整以適配我們的喜好。在當今社會,這些算法在我們做出各種抉擇時發揮了巨大作用:選擇電影、音樂、書籍,甚至伴侶,等等。
如果你喜歡……
電影推薦系統的算法原理比較簡單。假定你喜歡電影A、B和C,而另一個用戶也喜歡它們,但他還喜歡電影D,那麼,D極有可能也是你所喜歡的。當然,現實中數據之間的邏輯關係並非如此簡單。你喜歡電影A、B和C是因為這些影片裡有你最喜歡的某位演員,但他並沒有出演D這部電影。而另一個用戶之所以喜歡A、B、C、D四部電影,是因為它們都是驚險刺激的間諜電影。
算法通過查看你所提供的信息,分析出你喜歡某類電影的原因,進而會把你和那些曾經做出過相同選擇的人匹配、關聯到一起。算法需要在大量的初始數據樣本基礎上展開工作,這一點跟許多機器學習算法是相同的。機器學習的一個重要特點是,人類必須參與到數據的分類過程中,以便讓機器知道它所看到的到底是什麼。這種管理數據的行為為算法提取潛在信息的模式做好了提前準備。
算法在用戶瀏覽影片庫的行為過程中拾取關鍵特徵值,如浪漫愛情喜劇、科幻片,或者是某位演員、某位導演的作品。但是,這種方法並不理想。首先,非常耗時;其次,分類的過程存在不客觀因素,計算機最終學會的是已知的知識,而不能發現新的潛在趨勢,從而導致計算機形成擬人態的思維定式。從最原始的數據中學習並發現模式是訓練算法最好的方式。
大家都知道,Netflix公司是一家會員訂閱制的流媒體播放平台,開發出自己的電影推薦系統後,在2006年舉辦了奈飛大獎賽,期望通過競爭來發掘最優的算法。當時,Netflix已經積累了大量的電影評級數據,評分等級分為1~5星。於是,它公開了一個包含100 480 507個元素的電影評級訓練集合,這些元素取自480 189個用戶對17 770部電影的評價。然後,Netflix將17 770部電影的名稱替換為數字序號,即變為匿名狀態。比如,2666代表的可能是《銀翼殺手》,也可能是《安妮·霍爾》,或其他任何一部影片。只有用戶給這部電影的評分是已知的。
同時,Netflix還公佈了一個包含2 817 131個元素的測試集合。測試集合的用戶對電影所做的評價是未知的,因此參賽隊提交的算法必須預測測試集合中所有的元素所對應的評價等級。比如,根據已有的數據預測出用戶234654對2666這部影片的評價等級。重賞之下必有勇夫,公司宣佈設立100萬美元獎金作為獎勵,獲獎條件是:以推薦效率提高10%的優勢擊敗Netflix的自有算法。附加條件是:獲勝者必須公開自己的算法並授予公司非排他性的許可,讓Netflix有權使用這個算法向用戶推薦電影。
除了100萬美元的終極獎項,大賽還設立了幾個進步獎:將上一年度成績最好的推薦算法的效率提高至少1%的團隊,將獲得進步獎50 000美元。該獎項每年度都會有,但領取獎金的前提條件依然是需要公開算法的代碼。
可能你會覺得從這樣的數據裡得不到有價值的信息,因為你甚至不知道2666所代表的影片是喜劇片還是科幻片。事實上,原始數據所蘊含的信息遠比我們想像的要多。假設我們將每部電影視為一個維度,所有影片就構成了一個17 770維度的空間,那麼每個用戶就可以被看作這個17 770維空間中的一個點。每一部電影對應一個維度,用戶對影片的評價越高,那麼在該維度上此點偏離原點的距離就越遠。當然,除非你是一個數學家,不然把用戶看作17 770維空間中的點是很難想像的。實際上,我們可以把高維空間看作三維空間的擴展。假定只有3部影片被評級,我們可以用圖形化的方式將用戶與影片評級的關係表示出來。
假設電影1是《獅子王》,電影2是《閃靈》,電影3是《曼哈頓》。某一用戶對這三部影片的評級分別為1星、4星和5星。用x、y、z軸表示用戶對電影1、電影2、電影3的喜愛等級,建立三維空間直角坐標系,如圖6-1所示。這時,我們可以確定該用戶在坐標系中的位置是(1,4,5)。
圖6-1
雖然在幾何上無法繪製出17 770維空間以呈現用戶在該空間上的所在位置,但數學可以。如果能把用戶看成17 770維空間中的點,那麼同樣能把影片看作480 189維(用戶數)空間中的點,此時,如果用戶對影片評價越高,那麼在該維度上此點偏離原點就越遠。這些點分散在如此之大的維度中,很難發現其間存在的模式。因此,如果希望藉助計算機找出數據中包含的信息,那麼就需要降維處理。
這就好比一系列從不同角度得到的某人的頭部剪影,其中一些更具代表性,更容易辨識一樣。比如,希區柯克(Hitchcock)的側影輪廓就比正面投影更易辨認。電影和用戶就像臉上一個一個的點,以一個角度投影,可能會看到這些點連成一條線,而以另外的一個角度投影,則可能並不會發現有明顯的信息出現。
按照這個思路,我們或許能找到一種辦法,將高維空間中的電影和用戶對應的點同時投射到一個二維平面上,這樣用戶對應的點就會非常接近他喜愛的電影所對應的點。這種辦法的巧妙之處就在於,能夠尋找到揭示影片、用戶所具有的潛在特徵的合適投影。例如,圖6-2是100個用戶和500部電影匹配過後在二維平面中的投影,所使用的數據均來自Netflix的數據庫。代表用戶的點與代表影片的點很好地擬合,其餘各處均未出現異常多餘的點。我們可以通過這個投影找到數據中的信息。
通過比對點和其實際代表的電影,我們可以發現這個投影很好地反映出影片固有的一些特徵:劇情片聚集在右上角,動作片聚集在左下角。
這就是最終在2009年贏得Netflix100萬美元大獎的團隊所使用的算法的基本思想。他們提取了有助於預測用戶喜好的20個電影的獨立特徵,並將高維空間投射到這20個特徵所構建的20維空間中。然後,借助計算機強大的運算能力,從海量的投影方案中挑選出最好的那一個。這正是計算機的強大之處,它的這種能力是人類的大腦和眼睛所無法企及的。
圖6-2
更有趣的是,模型挑選出的一些特徵可以被明顯地辨識出來,例如“動作片”或“劇情片”,而另一些特徵雖沒有明顯的標識,但也都呈現出一種正態分佈的趨向。
這正是我覺得計算機算法能給人驚喜的地方:它們有發掘新事物的潛力。從某種角度講,深度學習算法提取出了人類無法用語言描述和表達的特徵信息。就好比在沒有建立顏色的概念,也沒有紅色或藍色這種表示顏色的詞彙的情況下,僅僅通過我們對所見事物表現出的好惡,計算機就能幫我們實現藍色和紅色的分類。因為存在太多的因素影響著我們的決定,我們無法準確地描述出為什麼喜歡某部電影。決定個人偏好的人類代碼遵循什麼樣的算法原理是隱性的,但計算機代碼已經識別出了引導我們偏好的特徵,而這些特徵我們僅可憑直覺感知,卻無法表達出來。計算機代碼在這一點上已經遙遙領先於人類了。
2009年6月,BellKor抯Pragmatic Chaos團隊向Netflix提交了他們研發的推薦算法,其推薦效率首次突破10%的要求並且達到了10.05%。按照比賽規則,Netflix宣布這場歷時3年之久的比賽進入最後30天的決賽階段。決賽階段涉及的隱藏數據被分為兩部分,一部分用來在公開測試中給每個團隊打分,另一部分用來在隱藏測試中評判最後的贏家。如果沒有其他隊伍提交的算法超越BellKor抯Pragmatic Chaos團隊,那麼他們無疑就是這場比賽的贏家。但是,就在決賽第29天的時候,Ensemble團隊提交了他們的算法,其推薦效率達到了10.09%,超過了BellKor抯Pragmatic Chaos團隊,位居公開測試排行榜的第一位。第二天,截至停止徵集新算法的那一刻,兩隊的算法推薦效率又有了一些新的提升:BellKor抯Pragmatic Chaos團隊突破10.09%,Ensemble團隊則非常接近於10.1%。但該結果並不能說明兩隊孰勝孰負,因此Netflix決定將大獎頒發給在隱藏測試中獲勝的團隊。可結果是兩隊的得分仍然相同,但由於BellKor抯Pragmatic Chaos團隊比Ensemble團隊早20分鐘提交了他們的參賽算法,最終是他們帶走了那100萬美元。
鑑於第一次比賽的成功,Netflix希望能舉辦第二次比賽以激發更多的創新性想法,但是它遇到了一個難題:用戶的個人隱私問題。公司曾在競賽網站的頁面上發出這樣的公告:
訓練數據集合刪除了所有的用戶識別信息,只剩下評級等級和日期。這符合隱私權保護政策。即便知道自己所有的評級及日期,你也可能無法在數據中準確地識別它們,因為它們只是極小的一部分樣本(總量不超過完整數據集的1/10),並且這些數據曾受到擾動。
那麼,如果參賽選手知道用戶所有的評級,這真的不算侵犯隱私嗎?
得克薩斯大學奧斯汀分校的兩名研究人員收集了這些數據,並將其與另一個網站—互聯網電影數據庫(Internet Movie Database,簡稱IMDb)上對電影進行評級的那些用戶進行了比較,識別出了其中幾名用戶的身份。2009年12月17日,四名用戶對Netflix提起訴訟,稱該公司發布數據違反了《視頻隱私保護法案》。其中一名用戶表示,她是一個未出櫃的同性戀母親,有關她對電影喜好的數據可能會暴露出她的性取向。分析用戶對電影的特殊喜好就有可能推斷出其政治傾向或性取向,這被稱為“《斷背山》因子”。最終,此案庭外和解,Netflix也因此取消了舉辦第二場比賽的計劃。
數據像是一種新型“石油”,而我們卻把它“倒”在互聯網上了。誰擁有這些數據以及如何利用好這些數據,將是我們走向由這種新型“石油”推動的未來時,社會將要面臨的一個重大問題。
如何訓練算法
如果算法告訴你你可能會喜歡什麼,那麼就意味著你將永遠都看不到算法認為你不喜歡的東西。知道了這一點,你是否感到一點隱隱的不安?對我來說,我很享受被引導找到自己喜歡的音樂的過程。此前,我經常不得不循環播放相同的歌曲,這也是為什麼我總是聽收音機的原因。現在,算法“連推帶拉”地引導我從音樂庫中挖到屬於我自己的“寶石”。對於這些算法,我最初也曾有過懷疑:它會不會產生“口味”趨同的效應,導致所有用戶最終都只關注音樂庫中的一部分歌曲,而使另外一些歌曲失去聽眾呢?但後來我發現,這些算法都採用了非線性或混沌理論的數學思想:我和你喜歡的音樂風格只要略微不同,那麼被推薦的歌曲將會大相徑庭。
當在戶外跑步時,我聽了許多算法推薦的歌曲,它幫我找到了很多好聽的新歌。幾週前,妻子想要在她的生日聚會上跳舞,讓我幫她挑選一些20世紀80年代的歌曲。但生日聚會結束後的第二天,我又去戶外跑步時發現,算法給我推薦的全部都是20世紀80年代的舞曲,於是我不停地按“下一曲”,但切換後出現的還是類似的歌曲。之後我通過聽其他音樂重新訓練算法,花了好幾週的時間才將這一切恢復如常。
電子郵件過濾器也是基於人機交互訓練算法工作的。選用一些對你來說不是特別重要的郵件作為訓練數據,將其中一部分標記為垃圾郵件,另一部分標記為正常郵件。通過分析這些郵件中出現的單詞,算法開始構建垃圾郵件過濾的規則:帶有“偉哥”、“火辣的俄羅斯人”這一詞彙的郵件100%是垃圾郵件;帶有“再融資”這一詞彙的郵件99%是垃圾郵件;帶有“糖尿病”這個詞的郵件不確定性比較大,因為似乎有一些人借助垃圾郵件四處傳播治療糖尿病的廣告,但也有一些屬於正常的郵件。所以,算法對這部分郵件進行了簡單的統計分析,發現每20封含有“糖尿病”這個詞的郵件中,只有1封屬於正常郵件。因此,算法最終確定包含有“糖尿病”這一詞彙的郵件有95%的可能是垃圾郵件。
電子郵件過濾器可設置不同的過濾級別。比如,只有在郵件有95%的概率是垃圾郵件的情況下,該郵件才應該進入“垃圾郵件”文件夾。但現在更酷的是:雖然算法的訓練數據是一組普通的電子郵件,但你的日常行為也將教會它識別你感興趣的事情—算法會根據你所發出的郵件做出判斷。假設你患有糖尿病,那麼,根據你設置的最初過濾級別,所有帶有“糖尿病”一詞的郵件都會進入“垃圾郵件”文件夾。但漸漸地,隨著你將越來越多的電子郵件(包括“糖尿病”一詞)標記為“合法”,算法會重新校準已構建的郵件過濾規則,將這類郵件所對應的概率降至遠低於95%的水平,這類電子郵件就會正常地進入收件箱而不是“垃圾郵件”文件夾。
不僅如此,算法還會自主創建新的算法,用於從所有包含“糖尿病”一詞的郵件中區分出垃圾郵件和正常郵件。其方法是引入其他的關鍵詞,例如“治愈”。機器學習算法將遍歷你收到的每一封電子郵件,試圖從中找出信息和關聯,直到最後形成一個適合你個人生活方式的定制算法。
無人駕駛汽車也是基於這樣的概率更新原理而設計的,雖然它的控制系統遠比這複雜得多。該算法根據感知所獲得的道路、車輛位置和障礙物信息等,來控制車輛的轉向和速度。
偏見和盲點
Netflix的推薦系統算法可以提取出影片中那些人類都難以名狀的特徵,非常令人不可思議。這無疑挑戰了洛夫萊斯的觀點,即機器永遠無法突破程序員思維的局限。現如今,機器掌握了人類所不具備的一項技能:對海量數據進行分析,並從中發掘出有價值的信息。
人類的大腦不擅長進行概率分析,這是進化的失敗。概率直覺感知力的構建必須基於大量的試驗,然後從中發現可能的趨勢性。我們缺乏大量試驗的機會,所以無法建立這種直覺。從某種程度上來說,機器代碼的發展彌補了人類大腦在數據交互方面低速率的缺陷。因此,機器學習可以看作對人類思維方式的補充,而不僅僅是簡單的複制。
概率是機器學習的核心。許多算法實際上都是確定性的。這就好比一個人發現了問題的解決辦法,然後通過編程促使計算機機械地在人所設定的規則下完成某一件事情。這就像牛頓的世界觀:宇宙是由數學方程控制的,科學家的任務是發現其中蘊含的規律並用它們來預測未來。
20世紀的物理學家們向人們揭示了宇宙並不像我們此前想像的那樣具有確定性。量子物理理論認為,世界就像上帝在玩骰子,結果具有不確定性,取決於事件發生的概率。概率思想主導下形成的算法具有非常強大的力量,這或許是為什麼在新算法的世界中,那些受過物理思維訓練的人比數學學者顯得更游刃有餘。這是理性主義與經驗主義之間的對抗。但就我而言,經驗主義佔了上風。
那台機器是如何在不知道遊戲規則的情況下僅靠一個可以左右移動的滑塊,以及屏幕中的像素及分數變化情況就學會了雅達利開發的Breakout遊戲的?算法計算的是當前狀態下,左右移動滑塊對得分情況的影響。由於移動所產生的影響是持續性的,可能是幾秒鐘時間,所以還需要計算延遲影響。這就非常難了,因為我們並不總是能夠確定這之間存在什麼樣的因果關係。而這暴露了機器學習的一個缺點:它有時會把某些關聯誤認為是因果關係。動物們也會被這個問題所困擾。
美軍用神經網絡訓練機器識別坦克圖片的例子,是在機器學習社區裡被反复提起的一個經典的反面教材。該算法的訓練數據是一些帶標籤的圖片(標記出哪些有坦克,哪些沒有坦克)。通過對這些圖片進行分析,算法獲得了識別坦克的重要特徵。在分析了數百張帶標籤的圖片之後,研究人員用一些算法從未見過的圖片進行測試,結果非常振奮人心,識別準確率達到了100%。
但將裝有該算法的探測器部署到戰場後,美軍很快發現它毫無用處。令研究小組感到迷惑不解的是,當他們用美軍所使用的圖片做分析時,探測器所給出的識別結果竟然是隨機的。直到後來通過深入研究他們才發現,只要圖片拍攝於陰天,探測器就能做出正確的判斷。
一想到訓練數據,他們就明白問題出在哪兒了:研究小組只是獲得批准有權使用坦克有限的幾天,所以他們將坦克開到不同地方,拍攝了大量位於不同偽裝位置的照片,但沒注意到那些天一直都陰陰沉沉的。返回後,他們拍攝了一些沒有坦克的鄉村照片,但那時的天空是異常晴朗的。用這些照片作為訓練數據,算法就誤認為晴天和陰天也是區分坦克的重要特徵。所以,一個坦克探測器就變成了一個對軍方毫無用處的“陰天探測器”了。從這個事件中我們總結的經驗教訓是:機器是能夠學習的,但前提是你要讓它學習對的東西。
現如今,隨著基於數據訓練的算法廣泛應用於社會的各行各業,如申請抵押貸款、治安決策、個人健康建議等,上面這個問題所造成的負面影響日益凸顯。很多證據表明,算法中暗藏著歧視和偏見。麻省理工學院的一名研究生喬伊·布蘭維尼(Joy Buolamwini)發現,她的臉相較於那些膚色較淺的同學,更加不易被所使用的機器人軟件識別。當她帶上一個萬聖節用的白色面具時,技術識別很順利,可一旦取下面具,她就在機器眼中“消失”了。
問題出在哪兒呢?該算法雖然針對大量的人臉圖像進行了訓練,但這些數據中黑色皮膚的面孔較少。本應公平公正的人工智能,從數據中學會了人類的偏見,這種偏差導致算法生成了許多令人不可接受也難以接受的結果:針對男性的聲音進行訓練的語音識別軟件識別不了女性的聲音;某圖像識別軟件將黑人辨認為大猩猩;護照照片拍攝軟件不適用於亞洲人,原因是它始終認為他們在拍照時閉眼了。矽谷的科技公司僱用的員工中有4/5都是男性白人,這正是布蘭維尼創立算法正義聯盟以對抗人工智能算法偏見的原因。
法律體係也面臨著考驗,申請抵押貸款、應聘工作、申領社會福利被算法程序拒絕後,人們有理由知道為什麼。但是,由於算法是基於數據交互構建決策樹的,證明其決策的合理性並不容易。
雖然有些人主張採取法律措施補救,但執行起來非常困難。2018年5月生效的歐盟《一般數據保護條例》的第22條規定:數據主體有權反對“完全依靠自動化處理做出的決策”。若個人對自動化決定不滿,有權主張人工介入,以表達自己的觀點並提出質疑。對於計算機所做出的任何決策,數據主體有權獲得“有關所涉及邏輯推斷的有意義的信息”。關於這一點,我只能表達我的個人觀點:祝你好運!
人工智能領域一直呼籲開發一種元語言,機器可用它來證明自己的決策是合理的。而在此之前,我們必須謹慎對待這些算法對日常生活的影響。絕大多數算法都有其專長,不善於處理無規律的行為,當意料之外的事情出現時,算法只能選擇將其忽略,而人類對這類場景卻能表現出非凡的應變能力。
沒有免費午餐的定理表明,在任何情境下都能做出準確預測的通用性算法是不存在的。機器學習的目標不是建立放之四海而皆準的通用模型,而是構建關於特定問題有針對性的解決方案。這個定理還表明,即使只向算法出示一半數據,它還是有可能將未出示的另一半數據偽造出來,以保證對它自己所進行的數據訓練的完整性。但當需要分析的數據屬於另一半未出示的數據時,它就會決策失准或失敗。
數據本身永遠無法自給自足,它必須與知識相結合。正是在這一點上,人類的思維和智慧似乎能更好地應對環境的變化並對全局進行把控—至少在目前看是這樣。
機器之間的戰爭
是改變和適應新挑戰的能力,讓AlphaGo得以誕生。谷歌的DeepMind團隊用一段時間的“監督學習”構建了他們的算法,這就好比一個成年人幫助孩子學習成年人已經掌握的技能。作為一個物種,人類之所以取得進步,是因為我們積累了知識,並以比最初獲得知識時更有效的方式將知識傳遞了下去。作為一個數學家,我也是用上大學的幾年時間快速學習了前輩們近幾個世紀發現的數學理論,而不是憑藉一己之力去重新發現所有的數學知識,以此站到學科前沿的。
AlphaGo也經歷了同樣的學習階段—我們稱之為基礎學習階段。互聯網上有數以百萬計的棋局,其中不乏高手之間的對弈。這是一個極佳的資源寶庫,通過檢索就可以找到給對手致命一擊的決勝殺招。這樣一個龐大的數據庫使得計算機能夠建立一個概率的概念,即給定一個特定的棋盤位置,算法可分析出每一步落子對獲勝的影響概率。僅考慮每一盤棋已有走法的優劣是不夠的,因為未來的對手可能不會使用數據庫中失敗棋手所用過的棋路。這個學習階段為AlphaGo下圍棋提供了必要的基礎準備,但僅僅使用這個數據庫還是不夠的。
第二階段被稱為強化學習階段。從長遠來看,它為算法自我的發展確立了優勢,提供了可能。算法通過自我對戰、強化學習來提高對弈水平,即與之前的“自己”不間斷地訓練以提高下棋的水平。如果某些有望獲勝的棋招失敗了,算法就會修改這些棋招的概率。這種強化學習會綜合生成大量的新數據,有助於算法發現自身可能存在的弱點。
局部最優是這種強化學習的弱點之一。機器學習有點像攀登珠穆朗瑪峰,如果目標是爬上這座世界上最高的山峰,但是此時你既不知道自己身處何處,又被蒙上了眼睛,那麼可選擇的策略就是以你所在位置為起始點,如果下一步能夠爬得更高,那麼就繼續往上爬,如此往復,直至抵達頂峰。按照該策略,你可以抵達所在地理區域內(當前環境下)的最高點。一旦越過這個頂點,高度就會下降,你就有可能滾落下來。但這並不意味著,在不斷努力之下,你會抵達山谷對面另一座更高的山峰。這個高點是相對的,在數學中被稱為“局部極大值”。就好比你好不容易爬上一座山的山頂,卻發現它不過是在高聳的群山環繞下的一座小山包。如果AlphaGo訓練的算法只能在局部極大值的情況下擊敗對手,那終極結果會是怎麼樣的呢?
在與李世石對戰的前幾天,歐洲冠軍樊麾幫AlphaGo進行賽前集訓時發現了它的一個弱點,似乎就是這種情況。這或許說明人類的下棋數據將算法導向了局部最優,而實際更優或者最優的下法與人類的下法存在一些本質的不同,即人類在事實上“誤導”了AlphaGo。算法很快就學會瞭如何重新評估自己的落子,以最大限度地提高再次獲勝的概率。是新對手把算法“逼下山”,促使它找到了再攀高峰的新方法。
DeepMind團隊目前又開發出了新一代的AlphaGo—AlphaZero,它打敗了曾書寫歷史的各版本AlphaGo前輩。這個名字的由來是:由於是通用棋類人工智能,因此去掉了代表圍棋的英文“Go”;沒有使用人類的知識,從零開始訓練,所以用“Zero”;兩者相結合就得到了“ AlphaZero”。它已不再學習人類的棋譜、走法,而是完全依靠自我對弈來迅速地提高棋藝,從而走出人類對圍棋認知的局限與定式。就像雅達利的遊戲算法一樣,給定棋盤上361個(19×19)交叉點以及它們的得分規則,然後在自我對弈中試驗棋步。沿用最初在構建AlphaGo時所使用的強化學習策略,由“白板”狀態開始“自學成才”是AlphaZero的獨門秘籍。DeepMind團隊甚至也為新算法呈現出來的強大能力而感到震驚:它已不再受人類的思維和遊戲方式的限制了。
AlphaZero自我訓練的時間僅為3天,完成的自我對弈棋局數量就達到了490萬盤。人類花3000年才能實現的,它卻只用了3天。在對陣曾贏下李世石那一版的AlphaGo時,AlphaZero取得了100 : 0的壓倒性戰績。經過40天的訓練之後,它就所向披靡了。它甚至能夠在8小時內學會如何下國際象棋和日本將棋,水平甚至超過了市面上兩個最好的國際象棋程序。
AlphaGo項目的負責人大衛·西爾弗博士解釋了這種“白板”學習在多個領域的影響:
如果能夠實現“白板”學習,就相當於擁有一個可以從圍棋移植到其他任何領域的橋樑。這種算法是通用的,它會將你從所在領域的細節中解放出來,它普遍適合於任何領域。AlphaGo並不是要打敗人類,而是要發現做科學研究意味著什麼,讓程序能通過自學最終學習到哪些知識。
DeepMind的口號是:首先解決智力問題,然後用它來解決其他問題。他們確信未來已在路上。但這項技術能走多遠?它在創造力方面能與最優秀的數學家相媲美嗎?能繪畫或是創作音樂嗎?能破解人類大腦的秘密嗎?