當前位置:
首頁 > 新聞 > 弗蘭肯斯坦演算法:致命的不可預測代碼

弗蘭肯斯坦演算法:致命的不可預測代碼

2018年3月18日,是個讓技術內部人士一直害怕的日子。那天晚上恰逢新月,月光黯淡沒法兒給亞利桑那州坦佩市一條光線不足的四車道道路增加亮度,一輛特別改裝的Uber沃爾沃XC90在前方檢測到一個物體。作為現代淘金熱的一部分,各方都在開發自動駕駛車輛。這輛SUV正處於自動駕駛狀態,沒有人類駕駛員的介入,行駛了19分鐘。一系列雷達和發光激光雷達感測器允許機載演算法進行計算,鑒於車輛穩定速度為43英里/小時,障礙物距離車輛有6秒時間,假設障礙物保持靜止。但是道路中的障礙物很少保持靜止,因此更多的演算法爬過可識別的機械和生物實體的資料庫,尋找可以識別符合這種行為的潛在障礙物。

起初計算機未找到;幾秒鐘後,它決定與另一輛車錯車,期待它開走,不需要做特別的行動。直到最後一秒,才有了一個清晰的識別 —— 一個騎著自行車的女人,購物袋懸掛在車把上,以為沃爾沃會像普通車一樣擦肩而過。由於禁止自行採取規避行動,計算機突然將控制權交還給人類駕駛員,但卻未引起注意。至此,悲劇發生。這給更多科技界反思成員留下了兩個令人不安的問題:這種演算法悲劇是不可避免的嗎?我們應該如何準備好應對這些事件?

「在某些方面,我們失去了控制權。當程序進入代碼並且代碼傳遞到演算法中,然後演算法開始創建新演算法時,它會越來越遠離人類控制。軟體被發布到一個沒有人能完全理解的代碼世界中。」

如果這些話聽起來有些聳人聽聞,那麼就是這樣的,尤其是因為艾倫·烏曼,除了是自20世紀70年代以來一位傑出的專業程序員之外,還是少數幾個探討有關編碼過程的人之一。

「人們說,『好吧,Facebook也是如此,它創造和使用演算法,它們可以改變它們。』但這不是它的運作方式。Facebook設置演算法,它們學習、改變和運行自己。 Facebook定期介入它們的運行,但無法真正地控制它們。特別的程序不只是自己運行,而是調用庫、深層操作系統等......」

什麼是演算法?

現在很少有學科像演算法一樣更經常或更熱烈地討論。但是演算法是什麼?實際上,自從20世紀90年代中期互聯網的興起以來,特別是搜索引擎,這種用法已經發生了有趣的變化。從根本上說,演算法是一個小而簡單的事情;用於自動處理數據的規則。如果發生了,按b運行;如果沒有,按c運行。這是經典計算的「if / then / else」邏輯。如果用戶聲稱18歲,允許他們進入網站;如果沒有,輸出「對不起,你必須18歲才能進入」。核心上,計算機程序是一捆捆這類演算法。處理數據的方法。在微觀層面上,沒有比這更簡單的了。如果計算機似乎表現出魔力,那是因為它們夠快,而不是智能。

近年來出現了一種更加詭異和模稜兩可的含義,「演算法」一詞被認為是指任何大型、複雜的決策軟體系統;根據一組給定的標準(或「規則」),任何大量輸入數據的方法,並快速評估它。這徹底改變了醫學、科學、交通、通信領域,使人們更容易理解多年來一直佔據主導地位的烏托邦計算觀。演算法使我們的生活以各種方式變得更好。

直到2016年,我們才開始對我們新的演算法現實進行更細緻的思考。如果我們傾向於用聖經術語的方式來討論演算法,作為獨立的個體,有自己的生命,那是因為我們被鼓勵以這種方式去思考它們。像Facebook和谷歌這樣的公司已經憑藉客觀性的承諾出售演算法並捍衛它,可以通過數學分離和缺乏模糊情感來權衡一系列條件。難怪這種演算法決策已經擴展到授予貸款/保釋/福利/大學名額/工作面試和幾乎任何需要選擇的東西。

我們不再溫順地接受此類演算法的銷售宣傳。凱茜·奧尼爾曾是數學天才,離開華爾街教授,編寫和運行優秀數學博客。她在2016年出版的《數學殺傷性武器》一書中,毫無疑問地證明,演算法可以放大並鞏固它們,遠遠不能消除人類的偏見。畢竟,軟體是由絕大多數富裕的白人和亞洲男人編寫的,而且它將不可避免地反映他們的假設。偏見不需要惡意造成傷害,與人類不同,我們不能輕易要求演算法守門員解釋其決定。奧尼爾呼籲對任何直接影響公眾的系統進行「演算法審計」,一個明智的想法是科技行業將為此全力以赴,因為演算法是公司銷售的;他們唯一承諾的就是透明度。

好消息是這場戰鬥正在進行中。壞消息是接下來會發生什麼,看起來很古怪。如此多的注意力都集中在人工智慧的遙遠承諾和威脅上,幾乎沒有人注意到我們進入了演算法革命的新階段,毫無疑問,這同樣令人煩惱和迷惑。

奧尼爾和其他人標記的演算法是不透明的,但可預測:他們按照自己的編程去做。原則上熟練的程序員可以檢查和挑戰他們的結構。我們中的一些人夢想有公民軍隊來做這項工作。實現這一目標的立法似乎是不可避免的。

我們可能會將這些演算法稱為「傻瓜式」,因為它們根據人類定義的參數來完成工作。結果的質量取決於人類編程的思想和技巧。在光譜的另一端是遙遠想像中的類似人類的人工智慧或AGI。一個適當的智能機器將能夠質疑自己計算的質量,基於像我們直覺(我們可能認為是經驗和知識的廣泛積累)一樣的東西。為了更好地理解這一點,谷歌的DeepMind部門因創建一個能夠掌握街機遊戲的程序而受到稱讚,一開始只是為了獲得最高分。

這種技術被稱為「強化學習」,因為計算機可以快速玩數百萬個遊戲,以便了解生成點的內容。有人稱這種形式的能力為「狹隘的人工智慧」,但在這裡,「智能」這個詞的使用方式就像Facebook使用「朋友」一樣,意味著比現在更安全、更好理解。為什麼?因為機器正在進行的操作沒有背景,也無法做任何其他事情。也不完全是,至關重要的是,它能否將知識從一個遊戲轉移到另一個遊戲(所謂的「轉移學習」),這使得它不像幼兒,甚至墨魚那樣普遍聰明。在某些特定的任務中,計算機已經遠遠優於我們,但是它們要達到與我們一般能力相媲美的那一天,可能還有一段距離。

這是問題所在。在「傻瓜式」固定演算法和真正的人工智慧之間存在著我們已經住進有疑問的半成品房,幾乎沒有思考,沒有辯論,更不用說有關目標、道德、安全、最佳實踐的協議。如果我們周圍的演算法還不夠聰明,意味著能夠獨立地說「計算/行動過程看起來不正確:我會再做一次」,它們仍然開始從自己的環境中學習。一旦演算法學習,我們就不再知道它的規則和參數是什麼。在這一點上,我們無法確定它將如何與其他演算法、物理世界或我們互動。 「傻瓜式」固定演算法原則上是可預測和可查詢的,而這些演算法則不然。經過一段時間,我們不再知道它們是什麼:它們有可能變得不穩定。我們可能會把這些稱為「弗蘭肯斯坦演算法」的誘惑,雖然瑪麗·雪萊不可能做到這一點。

衝突的代碼

這些演算法本身並不新鮮。差不多五年前第一次遇到它們:一個人類製造的數字生態系統,分布在數十億美元數據場中,像忍者一樣蹲伏在黑匣子中 —— 這正是股票市場的樣子。曾經有過實體交易大廳的地方,所有的行動都轉移到了一個中央伺服器上,靈活的、掠奪性的演算法以食草性演算法為食,通過欺騙誘使他們低賣高買。人類HFT交易員稱這些大型、緩慢的參與者為「鯨魚」,他們大多屬於共同基金和養老基金,即公眾。對於大多數高頻交易所來說,鯨魚現在是主要的利潤來源。從本質上講,這些演算法試圖互相超越;它們以光速進行無形的戰鬥,每秒放置和取消相同的命令10,000次,或猛烈砸向系統震撼整個市場,所有這些都超出了人類的監督或控制。

對這種不穩定的情況,沒有人感到驚訝。 2010年出現了「閃電崩盤」,在此期間,市場在五分鐘內進入自由落體狀態,然後在另外五分鐘內恢復正常,而沒有明顯的原因。芝加哥有一個名叫Eric Hunsader的人,掌握著驚人的編程技巧讓他能夠比監管機構更詳細地看到市場數據,他表示,到2014年,「小型閃電崩盤」每周都在發生。即使他無法證明原因,但他和工作人員已經開始為他們所看到的一些「演算法」命名。

喬治華盛頓大學物理學家尼爾·約翰遜對股市波動進行了研究。 「這很有意思。」他說,「我的意思是,人們多年來一直從蠕蟲病毒等方面談論計算機系統的生態學。但還是一個我們可以研究的真正的工作系統。更大的問題是我們不知道它是如何工作的,或它可能產生什麼。對此的態度似乎是『眼不見,心不煩』。」

他表示,一種新形式的演算法正在向世界移動,它具有「重寫自己代碼的能力」,此時它就變成了「遺傳演算法」。如果是這樣,演算法就會在那裡進行角逐,並在股票市場上進行調整。

「我認為這正是Facebook的問題所在。他們可以使用簡單的演算法在別人頁面上的照片中識別我的臉,從我的個人資料中獲取數據並將我們鏈接在一起。這是一個非常簡單的具體演算法。但問題是數十億這樣的演算法在宏觀層面上一起工作的影響是什麼?你無法從微觀規則預測人口層面的學習行為。所以Facebook會聲稱他們確切知道微觀層面上發生了什麼,他們可能是對的。但是在人口水平上會發生什麼呢?這就是問題所在。」

奧尼爾說,她有意識地從《數學毀滅性武器》中排除了這種自適應形式的演算法。在一個沒有任何明確的複雜演算法環境中,將責任分配給特定的代碼段變得極其困難。這使得它們更容易被忽視或忽略,因為它們及其精確的效果更難以識別。

亞馬遜上異常事件的軼事證據很多,來自各種困惑的賣家。一份來自2016年的學術論文,聲稱:「競爭性的演算法定價軟體以意想不到的方式相互作用,產生了不可預測的價格,以及一些演算法被故意設計來實現價格操縱的案例。」問題是如何在混亂的演算法環境中分配責任,在這種環境中,簡單的原因和效果要麼不適用,要麼幾乎不可能追蹤。與金融一樣,可否認性被納入系統。

現實生活中的危險

如果安全受到威脅,這真的很重要。在沒有明顯原因而突然加速,一名司機跳車並被豐田凱美瑞殺死, NASA專家花了六個月的時間檢查其操作系統中的數百萬行代碼,但沒有找到司機家屬相信的證據,但製造商堅決否認汽車會自動加速。只有當一對嵌入式軟體專家花了20個月的時間挖掘代碼時,他們才能證明實際情況,揭示了程序員所謂的「義大利麵條式代碼」的扭曲,充滿了推擠和爭鬥的演算法,產生了異常的,不可預測的輸出。目前正在測試的自動駕駛汽車可能包含100米的代碼行,並且鑒於沒有程序員可以預測真實世界道路上的所有可能情況,他們必須學習並接受不斷更新。我們如何避免在如此流暢的代碼環境中發生衝突,尤其是演算法可能還需要保護自己免受黑客攻擊?

二十年前,喬治·戴森(George Dyson)在他的經典著作《計算機生命天演論》中預測了今天發生的事情。他表示,問題在於我們正在構建超出我們智力控制範圍的系統。我們相信,如果一個系統是確定性的(根據固定規則行動,這是一個演算法的定義),它是可預測的 - 並且可預測的就可以控制。這兩個假設都是錯誤的。

「有個古老的規律稱為阿什比定律,它說控制系統必須像它控制的系統一樣複雜,而我們全速運行,有著巨大推動力去構建自動駕駛汽車,而自動駕駛汽車的軟體必須擁有一個完整的模型,按照定義,我們幾乎不能理解它。因為我們所理解的任何型號都會像碰到一輛消防車一樣,而我們忘了放入消防車。」

與我們的舊機電系統不同,這些新演算法也無法進行詳盡的測試。除非我們擁有超級智能機器為我們做這件事,否則我們是在走鋼絲。

因此,目前強調機器學習。我們現在知道,在亞利桑那州的一輛Uber無人汽車殺死行人,是由於演算法在正確分類物體時舉棋不定了。這是由於編程不佳,演算法培訓不足還是傲慢地拒絕理解我們的技術極限?真正的問題是我們可能永遠不會知道。

尋找解決方案

對於這裡描述的大多數問題,存在或者可以找到解決方案,但並非沒有激勵科技巨頭將社會的健康與他們的底線相提並論。從長遠來看,越來越嚴重的猜測是,鑒於我們越來越依賴演算法系統的規模、複雜性和相互依賴性,當前的編程方法已不再適用於目的。聯邦航空管理局在商業航空方面所採用的一種解決方案是,對所有程序的內容進行日誌和評估,並對這些細節進行後續更新,以便提前了解演算法的交互作用——但這在很大程度上是不切實際的。部分航空航天工業採用了一種相對較新的方法,稱為基於模型的編程,在這種方法中,機器可以完成大部分的編碼工作,並且能夠在運行過程中進行測試。

然而,基於模型的編程可能不是靈丹妙藥。它不僅推動人類進一步遠離這一過程,而且物理學家約翰遜為國防部進行了一項研究,該研究發現「無法從代碼本身推斷出極端行為」,即使在使用大型複雜系統構建的情況下也是如此。

當我們等待技術上的答案來解決演算法糾纏的問題時,我們可以採取一些預防措施。軟體安全專家斯帕·福德建議讓技術公司對其產品的行為負責,是否可以識別特定的惡意代碼行 - 或者與之相關的疏忽證據。他指出,古老的計算機協會已經根據醫學的希波克拉底誓言更新了其道德準則,指導計算專業人員不受傷害並考慮其工作的更廣泛影響。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 前瞻網 的精彩文章:

燃料耗盡!NASA宣布「行星狩獵者」開普勒望遠鏡進入休眠狀態
第四次工業革命正在發生 日本將率先實現?

TAG:前瞻網 |