演算法的進化: 機器會引發戰爭嗎?

演算法的進化: 機器會引發戰爭嗎?

現代演算法是可以自學的,尤其是推薦系統演算法,它可以根據每個人的喜好推薦有趣的東西給我們,比如說適合的電影、書籍、音樂等等。演算法透過與使用者之間的互動過程,獲取使用者的個人偏好資訊,並從中學習進一步完善自身,發現其中的關聯關係,以便為下一位使用者提供更優質的推薦資訊。為了滿足自己的好奇心,我研究了其中一種演算法,想知道它到底能有多瞭解我。所以,在劍橋微軟實驗室測試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)。

演算法的進化: 機器會引發戰爭嗎?

雖然在幾何上無法繪製出17 770維空間以呈現使用者在該空間上的所在位置,但數學可以。如果能把使用者看成17 770維空間中的點,那麼同樣能把影片看作480 189維(使用者數)空間中的點,此時,如果使用者對影片評價越高,那麼在該維度上此點偏離原點就越遠。這些點分散在如此之大的維度中,很難發現其間存在的模式。因此,如果希望藉助計算機找出資料中包含的資訊,那麼就需要降維處理。

這就好比一系列從不同角度得到的某人的頭部剪影,其中一些更具代表性,更容易辨識一樣。比如,希區柯克(Hitchcock)的側影輪廓就比正面投影更易辨認。電影和使用者就像臉上一個一個的點,以一個角度投影,可能會看到這些點連成一條線,而以另外的一個角度投影,則可能並不會發現有明顯的資訊出現。

按照這個思路,我們或許能找到一種辦法,將高維空間中的電影和使用者對應的點同時投射到一個二維平面上,這樣使用者對應的點就會非常接近他喜愛的電影所對應的點。這種辦法的巧妙之處就在於,能夠尋找到揭示影片、使用者所具有的潛在特徵的合適投影。例如,圖6-2是100個使用者和500部電影匹配過後在二維平面中的投影,所使用的資料均來自Netflix的資料庫。代表使用者的點與代表影片的點很好地擬合,其餘各處均未出現異常多餘的點。我們可以透過這個投影找到資料中的資訊。

透過比對點和其實際代表的電影,我們可以發現這個投影很好地反映出影片固有的一些特徵:劇情片聚集在右上角,動作片聚集在左下角。

這就是最終在2009年贏得Netflix100萬美元大獎的團隊所使用的演算法的基本思想。他們提取了有助於預測使用者喜好的20個電影的獨立特徵,並將高維空間投射到這20個特徵所構建的20維空間中。然後,藉助計算機強大的運算能力,從海量的投影方案中挑選出最好的那一個。這正是計算機的強大之處,它的這種能力是人類的大腦和眼睛所無法企及的。

演算法的進化: 機器會引發戰爭嗎?

更有趣的是,模型挑選出的一些特徵可以被明顯地辨識出來,例如“動作片”或“劇情片”,而另一些特徵雖沒有明顯的標識,但也都呈現出一種正態分佈的趨向。

這正是我覺得計算機演算法能給人驚喜的地方:它們有發掘新事物的潛力。從某種角度講,深度學習演算法提取出了人類無法用語言描述和表達的特徵資訊。就好比在沒有建立顏色的概念,也沒有紅色或藍色這種表示顏色的詞彙的情況下,僅僅透過我們對所見事物表現出的好惡,計算機就能幫我們實現藍色和紅色的分類。因為存在太多的因素影響著我們的決定,我們無法準確地描述出為什麼喜歡某部電影。決定個人偏好的人類程式碼遵循什麼樣的演算法原理是隱性的,但計算機程式碼已經識別出了引導我們偏好的特徵,而這些特徵我們僅可憑直覺感知,卻無法表達出來。計算機程式碼在這一點上已經遙遙領先於人類了。

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的口號是:首先解決智力問題,然後用它來解決其他問題。他們確信未來已在路上。但這項技術能走多遠?它在創造力方面能與最優秀的數學家相媲美嗎?能繪畫或是創作音樂嗎?能破解人類大腦的秘密嗎?

相關文章