上帝就在机器里:复杂算法背后隐藏的可怕现实
編者按:本文節(jié)選自Carl Miller的《諸神之死:新的全球權(quán)力攫取》(The Death of the Gods: The new global power grab)。原文標(biāo)題God is in the machine。
2012年,格魯吉亞第比利斯,一名員工展示“警察用平板電腦”
版權(quán)來源:David?Mdzinarishvili/路透社
?研究員和我的秘密談話?
“如果有人知道我說了這些,我會(huì)失業(yè)的。”
我沒有回復(fù)他。這是我渴求已久的會(huì)面,我不敢搞砸。對(duì)方向前探身,距離我更近了些:“有人會(huì)仔仔細(xì)細(xì)地看你的書,會(huì)從蛛絲馬跡里發(fā)現(xiàn)我的身份。”
他曾經(jīng)是才華橫溢的研究員、學(xué)者,直到他的朋友創(chuàng)辦了家小型科技公司,他參與進(jìn)來,一同呵護(hù)公司的成長(zhǎng)。最終這家公司長(zhǎng)大了,然后又被一家科技巨頭收購(gòu)了。這就是他了。
他為這家科技巨頭研發(fā)了核心算法,獲得了一大筆錢;還簽署了正式法律文件,禁止與任何人談?wù)撍墓ぷ鳌5S著時(shí)間流逝,他的擔(dān)憂——實(shí)際上是他的內(nèi)疚與日俱增。“這是沒有責(zé)任的權(quán)力,”他暫停了一下繼續(xù)說,“權(quán)力這么大,責(zé)任卻這么少。還不是名義上的抽象權(quán)力,這是日常生活中的真實(shí)權(quán)力,是物質(zhì)的、文化的、金融的權(quán)力。這個(gè)世界必須知道它是怎么運(yùn)作的。‘丹麥,恐怕發(fā)生了些不可告人的壞事呢。’”他有點(diǎn)夸張地引用了《哈姆雷特》。
他決定冒次險(xiǎn)。“如果他們發(fā)現(xiàn)這是我說的,我會(huì)被趕出辦公室,從科技領(lǐng)域被驅(qū)逐出去。這是最好的情況了。”他不只跟我談他的工作,還向我展示了一些東西。
這位研究員從包里拿出自己的筆記本電腦,輕敲了幾分鐘,帶著一種合時(shí)宜的莊重,把屏幕轉(zhuǎn)向我。“這是所有的東西。”白色的屏幕上有著整整齊齊地排列在盒子里的指令。
第一步:“In [3]”。
接下來:“In [8],in [9]”
這些單詞五顏六色,有綠色、紫色、紅色、粗體、斜體……不一而足。我看向研究員,他臉上露出了自豪的笑容。這就是它了,真正影響人們生活的算法。它看上去……十分普通。
23個(gè)世紀(jì)前,希臘數(shù)學(xué)家埃拉托色尼(Eratosthenes)坐在亞歷山大圖書館內(nèi),試圖找到一種識(shí)別質(zhì)數(shù)的方法。他把1-100這100個(gè)數(shù)字寫成10行,每行10個(gè)數(shù)字。他先劃掉1;接著他圈出當(dāng)前數(shù)列中最小的數(shù)字——2,然后刪掉所有2的倍數(shù);圈出3,然后刪掉所有3的倍數(shù)……他創(chuàng)造了一個(gè)算法,本質(zhì)上非常簡(jiǎn)單。就像所有算法一樣,他的“篩子”接受輸入,遵循一系列描述準(zhǔn)確地步驟,并生成輸出。輸入,處理,輸出:這就是算法的全部。
縱觀歷史,算法一直被用來解決各種各樣的問題。它們有時(shí)被應(yīng)用于天文計(jì)算,有時(shí)又用來制作時(shí)鐘,甚至還可以把秘密信息轉(zhuǎn)化為密碼。研究員說:“直到90年代,算法仍然處于非常簡(jiǎn)單的狀態(tài)。以前的算法是非常清晰的。比如,你把Google的原始算法拿出來,你能很直觀地看出它基本上就是關(guān)于受歡迎程度的算法:你只需要把人們點(diǎn)擊次數(shù)更多的東西呈現(xiàn)出來(或者讓它排名更高)。總的來說,設(shè)計(jì)它的人理解它的整個(gè)工作。”有些算法就更復(fù)雜了,但輸入-處理-輸出的整個(gè)流程通常清晰、可理解,至少對(duì)設(shè)計(jì)和使用它們的人來說是這樣的。
他屏幕上的算法也是為解決問題而設(shè)計(jì)的。它以一種重要的方式對(duì)現(xiàn)實(shí)進(jìn)行了排序和重組,試圖將重要的和不相關(guān)的區(qū)分開。但它不同于非常簡(jiǎn)單的算法(Really Simple Algorithms,RSAs)。“它比看上去復(fù)雜多了,”研究員說,一邊用鉛筆在方括號(hào)里的一些單詞上劃來劃去,“但我需要告訴你原因。”就這樣,我們開始了他的創(chuàng)作之旅。
首先,它引入了“庫(kù)”的概念。庫(kù)是定義、指令和操作的特定語音。接著,研究員向我展示了它是如何帶來數(shù)據(jù)的。他說:“喂給算法盡可能多的數(shù)據(jù),越多越好。事實(shí)上,我們處理的數(shù)據(jù)比大多數(shù)團(tuán)隊(duì)多得多。”他把光標(biāo)移到給算法提供海量數(shù)據(jù)的腳本上。吉字節(jié)、太字節(jié)、拍字節(jié)的數(shù)據(jù)有序排列在頁(yè)面上。
通過指令15,“函數(shù)”添加完成。研究員高亮了每一個(gè)函數(shù),說:“每個(gè)函數(shù)都是一個(gè)小工廠。它們是算法的基本組成部分——子算法。”他展示了自己是如何構(gòu)建這些“積木”(building block)的:將“get component”、“filter by station”、“sort_nodes_in_degree”等短語串(string)在一起。然后是主要的stage。他說:“這是算法起作用的一端,我就把‘積木’堆在這里。”他應(yīng)該向我展示這些函數(shù)是如何聯(lián)系起來的,但我不懂這些。我說:“我不明白,你如何做到跟蹤什么在做什么的?”
每一個(gè)子算法函數(shù)——他的“積木”,都是另一個(gè)完整的房子。每一個(gè)都是復(fù)雜的指令和處理過程,有些本身就是由子算法“積木”組成的。屏幕看上去很簡(jiǎn)單,但我看到的是積木套積木的藍(lán)圖:短短幾頁(yè)代碼里就又?jǐn)?shù)百萬條指令。它的設(shè)計(jì)者就坐在我旁邊,但就連他也在努力解釋這些stages,當(dāng)他試著在頭腦中保持一層又一層的抽象概念時(shí),他也在追溯這些步驟并糾正自己。他似乎講完了,但又停了下來,說:“我真的不記得最后一點(diǎn)是怎么來的了。”
當(dāng)然,這位研究員明白自己在處理中喂了什么數(shù)據(jù),他知道設(shè)計(jì)的目的,也知道算法要解決的問題及它處理后的輸出。然而,在試著解釋一個(gè)多小時(shí)之后,他筋疲力盡地坐在椅子上,說:“是,正如你看到的,輸入和輸出之間的差距很難理解。”他在算法中注入了大量的信息,他說這是一種“趨勢(shì)”,因?yàn)樵谀莻€(gè)科技巨頭里,他能做到,也就意味著每個(gè)人都能做到。但數(shù)據(jù)的總量意味著很難判斷其中的顯著輸入是什么。“從人類的角度來看,你不確定哪些輸入是重要的,很難知道驅(qū)動(dòng)輸出的究竟是什么。作為人,很難回溯到為什么要做出這樣的決定。”
在這個(gè)科技巨頭內(nèi)部,算法很少單獨(dú)存在。相反,它們存在于網(wǎng)絡(luò)中,糾纏在一起,相互利用,相互增強(qiáng)。研究員說:“我依賴于其他算法產(chǎn)生的信號(hào)。”其他算法把自己的輸出喂給他的算法。就像汽車裝配線,他和他的同事們一樣,在一個(gè)巨大的流水線中僅處理一個(gè)小的、特定的部分,然后這些小部分匯集起來,形成更為龐大的結(jié)果輸出,最終呈現(xiàn)在人們面前的是一個(gè)龐然大物。
算法也在不斷變化。數(shù)據(jù)輸入是實(shí)時(shí)流入算法的,但是算法的實(shí)際權(quán)重、度量和權(quán)衡并不是靜態(tài)的。研究員在機(jī)器學(xué)習(xí)中編織的一些函數(shù),機(jī)器學(xué)習(xí)是機(jī)器不斷學(xué)習(xí)和適應(yīng)最重要的圖式、相關(guān)性和關(guān)系的技術(shù)。這意味著隨著世界的變化,算法被喂的數(shù)據(jù)也隨之變化,算法也就在不斷發(fā)生變化,只不過越來越復(fù)雜,越來越具有與其他算法密不可分。
我們坐在那里,看著電腦中他的代碼以多種顏色的字體呈現(xiàn)。這位研究員沉思著說道:“這一切都與復(fù)雜性有關(guān)。輸入的復(fù)雜性、分析的復(fù)雜性、輸出是如何組合、結(jié)構(gòu)化和使用的復(fù)雜性。”他被雇來設(shè)計(jì)該進(jìn)程的原因之一是它可以通過自身成為復(fù)雜本身來解決復(fù)雜性。它抓住了各種令人眼花繚亂的因素、信號(hào)和影響,它們每時(shí)每刻都在以我們根本無法做到的方式相互碰撞,然后獲得結(jié)果。
算法已經(jīng)發(fā)生了變化,從非常簡(jiǎn)單(Really Simple)到無比復(fù)雜(Ridiculously Complicated)。它們有能力完成以前從未完成過的任務(wù),有能力解決以前從未解決過的問題。它們能,真的能比人類更好地面對(duì)這個(gè)深不可測(cè)的復(fù)雜世界。但正因?yàn)樗鼈兛梢?#xff0c;它們工作的方式本身也變得愈發(fā)深不可測(cè):從一個(gè)算法到下一個(gè)算法的輸入循環(huán);通過更多指令、更多代碼的數(shù)據(jù)處理。如此周而復(fù)始,帶來的是一個(gè)令人抓狂甚至敬畏的系統(tǒng)。算法的復(fù)雜性、動(dòng)態(tài)性和完全不可理解性意味著在輸入和輸出之間的部分——沒有人能確切地知道它們?cè)谧鍪裁础K惴ㄊ裁炊寄軐W(xué)習(xí),而你根本不知道它學(xué)習(xí)到了什么,或者在你以為的學(xué)習(xí)之外還習(xí)得了其他什么東西,說句不好聽的,對(duì)此我們完全處于抓瞎?fàn)顟B(tài)。
“事實(shí)是,從專業(yè)角度講,我只能在出問題后才能看到問題的本質(zhì)。而且我們完全不可能理解到底發(fā)生了什么。”——好吧,考慮到我眼前的這位研究員對(duì)自己造就的東西的一部分也是相當(dāng)茫然的,如果連他都是這樣,普羅大眾就更不用說了。
研究員得意地輕輕一揮手,按下一個(gè)鍵,算法就開始運(yùn)行。20秒后,算法運(yùn)行結(jié)束。白紙黑字呈現(xiàn)著輸出。當(dāng)然我無法具體描述,但這是我們每天都要用的一個(gè)輸出。算法制造了一種現(xiàn)實(shí),我們基于此做決定,它可以改變我們的生活。
研究員瀏覽了一堆指令,把一行指令變成了兩行。算法重新運(yùn)行,又出現(xiàn)了輸出。但這一次,輸出少了四分之一。
我不由地皺了皺眉,下意識(shí)地問道:“發(fā)生了什么?你為什么要改那里?你知道兩行是錯(cuò)的,但你怎么知道一行就是對(duì)的?”
他指著殘缺的結(jié)果回答道:“這就是問題所在。這是一個(gè)啟發(fā)函數(shù)(heuristic),我之前試過,似乎能運(yùn)行。然后我就繼續(xù)測(cè)試它,結(jié)果看上去是正確的。我不能說這是真的,我只能說它通過了最低評(píng)價(jià)標(biāo)準(zhǔn)。整個(gè)算法充滿了可能是其他東西的參數(shù)。真理已經(jīng)死了,”他嘆息道,“只有輸出還活著,能為我們所用。”
我問:“誰來檢查這些呢?”
“我自己。”
“你的老板呢?他能檢查嗎?”
“你已經(jīng)看到想真正理解它有多難了。有時(shí)我和它作斗爭(zhēng),而且我創(chuàng)造了它啊。現(xiàn)實(shí)情況是,如果算法看起來像是在做它應(yīng)該做的事情,人們就不會(huì)抱怨,也就沒有多少動(dòng)力去梳理所有這些指令和代碼,看看究竟發(fā)生了什么。”你在網(wǎng)上看到的——你閱讀的新聞,你瀏覽的產(chǎn)品,出現(xiàn)在你眼前的廣告——它們都依賴于不一定非得是真實(shí)的“值”。因?yàn)楦鶕?jù)這位研究員的說法,它們都不是真的,它們只是通過了最低評(píng)價(jià)標(biāo)準(zhǔn)而已。
?Jure Leskovec的保釋算法?
Jure Leskovec說話帶著濃重的斯洛文尼亞口音,堅(jiān)持著發(fā)大舌音。回到學(xué)術(shù)界之前,Jure曾在Facebook工作過一段時(shí)間,還在Pinterest擔(dān)任過首席科學(xué)家。我們坐在他位于斯坦福的辦公室里,斯坦福和加州其他科技中心一樣,似乎在迅速擴(kuò)張。就在我們聊天的時(shí)候,熾熱的白色塵土從他的窗戶下方的施工地飄了上來,似乎在預(yù)示著將來這里的場(chǎng)景會(huì)和現(xiàn)在一樣熱火朝天。
他抓起一支筆,走向一個(gè)巨大的白板(這占據(jù)了他辦公室一整面墻)。他最近的工作時(shí)設(shè)計(jì)一種算法,幫助刑事法院的法官在是否批準(zhǔn)保釋的問題上做出更好的決定。他邊在黑板上畫出一個(gè)大黑色矩形,里面有一個(gè)巨大的J,邊說:“有一個(gè)法官、一個(gè)被告,法官試圖做出一個(gè)決定:如果被告獲得保釋,他會(huì)不會(huì)犯罪?我可以訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)算法來回答這個(gè)問題:‘如果我釋放你,你會(huì)不會(huì)再次犯罪?’”
Jure興奮地在辦公室里勾畫草圖,白板上的涂鴉變得更加豐富。他收集了一些人的犯罪記錄數(shù)據(jù),其中一些人在獲得保釋之后選擇了再次犯罪,另一些人沒有。他還通過比較寬容和嚴(yán)格的法官這種方法,構(gòu)建關(guān)于那些被釋放但通常會(huì)被關(guān)押的人的數(shù)據(jù),以及他們是否也犯了其他罪行的數(shù)據(jù)。
他說:“關(guān)鍵是,算法比人類法官的表現(xiàn)好30%。迄今為止,這些機(jī)器學(xué)習(xí)算法主要被用于互聯(lián)網(wǎng)中的‘猜你喜歡’,你肯定明白這個(gè)的。我想說的是,這些風(fēng)險(xiǎn)很低。你可能看到一條不喜歡的廣告。你可能因?yàn)榭戳瞬缓玫碾娪岸婚_心。這是最壞的情況了。但如果將這些算法應(yīng)用到高風(fēng)險(xiǎn)領(lǐng)域——”
“這種應(yīng)用越來越多嗎?”我插嘴說。
?“我認(rèn)為這種應(yīng)用越來越多了。然后就必須保證我們開發(fā)的方法,以及關(guān)于我們使用這些方法的途徑、驗(yàn)證它們的方法的標(biāo)準(zhǔn)都是非常嚴(yán)格的。”
據(jù)《華爾街日?qǐng)?bào)》的報(bào)道,美國(guó)至少有15個(gè)州已經(jīng)使用自動(dòng)風(fēng)險(xiǎn)評(píng)估工具來幫助法官做出假釋決定。Predpol和許多其他公司一樣,能夠使用算法根據(jù)過去的犯罪行為預(yù)測(cè)未來可能發(fā)生犯罪的地區(qū)。Pegged是一家提供智能獵頭服務(wù)(以人工智能為動(dòng)力,以大量數(shù)據(jù)為動(dòng)力)的公司,能夠幫助找到特定工作的最佳人選。算法被用作合同談判代表,可以在瞬間決定提供和接受哪些條款。算法不僅變得越來越復(fù)雜,而且承擔(dān)著越來越重要的工作,你已經(jīng)看到了——保釋判決也好,別的什么也罷,換句話說,如果將來有更多的領(lǐng)域引入了算法來進(jìn)行決策或者說輔助決策的話,我一點(diǎn)也不會(huì)吃驚的。
Jure說:“我認(rèn)為一場(chǎng)巨大的革命即將到來,關(guān)于在社會(huì)中如何做決定的革命。”他并不是說算法應(yīng)該取而代之,只是說它們應(yīng)該用來支持人類的決策,“剛才保釋的例子——我可以說算法做得更好。我提倡讓我們用這些算法來幫助人類法官。他們有時(shí)候很艱難;他們只有一分鐘的時(shí)間來做決定;他們經(jīng)常沒有關(guān)于他們是否做出了正確的決定的反饋;法官之間也沒有知識(shí)共享。我認(rèn)為很明顯,當(dāng)人與機(jī)器能夠訪問相同的數(shù)據(jù)時(shí),機(jī)器就會(huì)打敗人。我們一遍又一遍地看到這個(gè)結(jié)果。而要做到這一切,只要給它足夠的數(shù)據(jù)就行了。”他的想法的確讓人不由地思考算法以及我們?nèi)祟惖奈磥?#xff0c;在我看來,人類已經(jīng)賦予了算法真正的決策權(quán),容許它們?cè)谀切╇[藏著的復(fù)雜過程中完成決策,而我們其實(shí)對(duì)過程一無所知,這才是讓人有點(diǎn)不寒而栗的事情。
“數(shù)學(xué)毀滅武器(Weapons of math destruction)”是作家Cathy O’neil對(duì)那些令人討厭、有害的算法的描述,它們不像人類決策者那樣面臨同樣的挑戰(zhàn)。假釋算法(不是Jure的算法)會(huì)基于收入或(間接的)種族偏見做出決定。招聘算法會(huì)基于錯(cuò)誤的身份而拒絕候選人。在某些情況下,比如維持治安,它們可能會(huì)創(chuàng)建反饋循環(huán):將警察派往犯罪較多的地區(qū),然后導(dǎo)致更多的罪犯被發(fā)現(xiàn),也許在無意中造就了自我實(shí)現(xiàn)的預(yù)言。
對(duì)算法“討厭”或者認(rèn)為算法“有害”的想法,毋寧說是我們對(duì)自己無法掌控未知事物的恐懼的映射。沒錯(cuò),算法也許助力甚至取代了我們的決策,但問題就在于很多情況下,我們根本不知道這個(gè)過程。研究員冒著巨大的風(fēng)險(xiǎn)向我展示了他所創(chuàng)造的東西,因?yàn)樗乃惴?#xff0c;就像大多數(shù)真正影響我們的算法一樣,是專有的和隱藏的,它們是昂貴的知識(shí)產(chǎn)權(quán)。不管它們是有意還是無意隱藏起來的,我們都無法理解,也無法挑戰(zhàn)。正如學(xué)者Frank Pasquale所描述的那樣,這是一個(gè)“黑箱社會(huì)”,被一種全新的保密制度所危害的社會(huì),這種制度掩蓋了那些影響我們生活的自動(dòng)判斷。
正如Jure所懷疑的那樣,如果機(jī)器判斷在重要決策方面明顯優(yōu)于人類判斷,那么使用它的理由只會(huì)越來越充分。在輸入和輸出之間的某個(gè)地方——過程本身的決策部分——是一種能夠以有意義的方式塑造我們生活的東西,但它已經(jīng)變得越來越難以理解,而我們還要眼睜睜地看著它“攻城略地”,在本該由我們說了算的情況下堂而皇之地取代我們。
Jure強(qiáng)調(diào)說:“我們需要加快步伐,想出以公正的方式評(píng)估-審查-算法的方法。我們要能理解和解釋他們的決定。我們不想要最優(yōu)算法,我們想要一個(gè)足夠簡(jiǎn)單的算法,專家看了之后會(huì)說:‘別怕,不會(huì)有什么瘋狂的事情發(fā)生的。’我認(rèn)為我們需要做好準(zhǔn)備,認(rèn)真考慮如何把這些東西應(yīng)用于社會(huì)日常,為它們?cè)诟唢L(fēng)險(xiǎn)的決策環(huán)境中一展身手鋪平道路。因此關(guān)鍵問題就在于,我們?cè)撊绾握{(diào)試這些東西才能確保它們的決策質(zhì)量好效率高。”
現(xiàn)實(shí)中發(fā)生的事情比任何單一算法都要深刻。有時(shí),它們幾乎處于新哲學(xué)的前沿。“上帝就是機(jī)器,”研究員告訴我,“黑匣子就是真相。如果有用,就有用。我們甚至不應(yīng)該試圖弄清楚機(jī)器輸出的是什么——它們會(huì)選擇那些我們甚至不知道的模式。”
————
編輯?∑ Gemini
來源:36kr
微信公眾號(hào)“算法數(shù)學(xué)之美”,由算法與數(shù)學(xué)之美團(tuán)隊(duì)打造的另一個(gè)公眾號(hào),歡迎大家掃碼關(guān)注!
更多精彩:
?如何向5歲小孩解釋什么是支持向量機(jī)(SVM)?
?自然底數(shù)e的意義是什么?
?費(fèi)馬大定理,集驚險(xiǎn)與武俠于一體
?簡(jiǎn)單的解釋,讓你秒懂“最優(yōu)化” 問題
?一分鐘看懂一維空間到十維空間
??本科、碩士和博士到底有什么區(qū)別?
?小波變換通俗解釋
?微積分必背公式
?影響計(jì)算機(jī)算法世界的十位大師
?數(shù)據(jù)挖掘之七種常用的方法
算法數(shù)學(xué)之美微信公眾號(hào)歡迎賜稿
稿件涉及數(shù)學(xué)、物理、算法、計(jì)算機(jī)、編程等相關(guān)領(lǐng)域,經(jīng)采用我們將奉上稿酬。
投稿郵箱:math_alg@163.com
總結(jié)
以上是生活随笔為你收集整理的上帝就在机器里:复杂算法背后隐藏的可怕现实的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 22岁印度大学生获谷歌天价offer,击
- 下一篇: 77岁“核弹老人”,前后半生都令人动容!