算法日益影響著我們的生活。但是在它正常運轉的大部分時間裡我們卻沒有留意,只有在算法出問題的時候才注意到它的存在。只有在那時候我們才回想起這個世界對算法—那些統治著我們周圍所有計算機的、對人類來說日益費解的規則,是如何的依賴。
一旦算法出了問題,我們才會想起自己是多麼的脆弱(想想天網)。華盛頓大學資訊工程教授 Pedro Domingos 花了很多時間去思考算法。他的新書,《The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World》就是對那個世界的介紹,以及對最新情況的匯報。他認為,我們生活在一個算法的時代,正目睹著它們以前所未有的方式重塑著我們的世界。
算法究竟對人類會產生什麼影響?人類思維與計算機思維的差別在哪裡?一旦機器最終學會了學習一切東西又會怎樣?Jesse Hicks 就這些問題訪談了 Domingos。
在你所謂的算法時代裡為什麼這麼多人並沒有意識到算法的存在?其背後的機器學習機制是怎樣的?
電腦做什麼都離不開算法。你的手機、筆電、汽車、房子和電器裡面到處都是算法。但算法是看不見的,你只能看見光鮮的外表,看不到裡面發生了什麼。Siri 用算法理解你說什麼、Yelp 用算法替你挑選飯店、車載 GPS 用算法為你尋找最佳路線、讀卡機用算法替你完成支付。公司用算法篩選求職者,共同基金用算法交易股票,手機用算法來標記可疑來電。
「正常」算法和學習算法的區別在於,前者要靠軟體工程師人工寫程式,一步步告訴電腦該做什麼,而後者則是靠閱讀數據來自行搞定:吶,這裡是輸入,這裡是我們想要的輸出,我怎麼把一個變成另一個?引人矚目的是,從下棋到醫學分析,同一種機器算法可以學習事情幾乎沒有限制—只要給它適當的數據。
書名里面的「主算法(master algorithm)」 是什麼?它跟 Ray Kurzweil 的奇點有何區別?主算法有可能帶來哪些進展?
主算法是能通過數據學習任何東西的算法。給它提供這個星球的運動、斜面、鐘擺的數據,它就能發現牛頓定律。給它 DNA 晶體結構數據它就能發現雙螺旋體。通過你智慧手機上的數據它能夠預測下一步你要做什麼以及怎麼幫助你。甚至還能通過學習大規模的癌症病人病歷數據庫發現治愈癌症的辦法。
算法還可能給我們帶來家庭機器人;用 WWB(World Wide Brain,萬維腦)代替 WWW(萬維網),直接回答你的問題而不是展示網頁給你;以及 360°的推薦系統,不但了解你也了解你最好的朋友,不但可以向你推薦書、電影,還有約會對象、工作、房子和旅遊目的地等你生活中的一切東西。
Kurzweil 的奇點是指人工智慧超越人類智慧(另可參見關於超級智慧的思考),令我們無法理解的那一刻。或者更精確地說,是奇點的「視界(event horizon)」,就像黑洞的視界指的是連光線也無法逃逸的那個點。如果沒有主算法,我們就不會那麼快到達奇點。有了主算法,AI 當然就會加速,但我們仍然能對這個世界有很多理解,因為在我們的主導下 AI 仍然能夠為我們服務。我們可能不知道它們是怎麼製造出結果的(參見Google 會思考的深度學習系統),但我們可以知道這些產出會替我們幹什麼,否則就不要它們了。此外,這個世界本來就有些東西是我們無法理解的。所不同的是,現在的這個無法完全理解的世界部分是我們自己造出來的,這當然是一種改進。
你說這個領域當前是「部落」割據的局面,某些機器學習算法在解決特定問題時表現更好,但沒有一種算法能夠戰勝任何其他算法:即缺少了一個能夠適用於我們迄今知道的一切的大一統理論,一個能夠為今後幾十年乃至數百年的發展打下基礎的理論。這個斷言本身也很宏大。那主算法這個說法的合理性在哪裡?為什麼現在的「部落」還不能聯合起來?
在數學上可以證明,哪怕是最簡單的學習算法,只要賦予足夠多的數據,就可以學會任何東西。因此,主算法毫無疑問是存在的,而且每個算法部落的研究人員的確認為自己已經發現了它。但關鍵是這個算法必須能夠利用合理的數據和計算學會你希望它學的東西。我們可以舉出兩個實證例子:自然界至少為我們提供了兩個算法可以學會任何東西的例子:即進化和大腦。所以主算法是存在的,問題是我們否精確地找出來,完整地寫下來,就像物理學家把物理定律用公式表達出來一樣(其本身也是算法)。
不幸的是,機器學習的 5 個部落就像盲人與大象:摸到鼻子的以為它是蛇,摸到腳的以為是樹,摸到牙的以為是牛。我們需要退後一步看看全景,看看所有這些部分是怎麼組合起來的。具有諷刺意味的是,做到這一點對於不懂行的人來說也許更容易些。
你的書開篇引用了 Alfred North Whitehead 的話:「人類文明的進步是通過增加不用思考就能執行的重要操作的數量來實現的。」不管這個結論是否成立,但「思考」無疑跟文明與人性密切相關。思考是一項獨特的、甚至是決定性的人類活動。所以 Nicholas Carr 等人是反對把思考外包出去的,因為這會減少我們的人性—其擔心是缺少思考會導致我們更加機器人化(廣義上)。與此同時,我們又擔心「思考」機器:你提到了天網等世界末日式的人工智慧。那電腦是否已經有能力「思考」?或者說那是不是一項獨特的人類活動—如果是的話,未來的人類思考者與機器學習者之間的差別又在哪裡呢?
著名的電腦科學家 Edsger Dijkstra 說過,計算機能否思考這個問題的意義跟潛水艇會不會游泳一樣。重要的是電腦能解決人類通過思考解決的問題—而這些問題的範圍在不斷擴大。電腦通過機器學習甚至解決了一些我們還不知道如何去寫程式讓他們解決的問題—他們是自己想出來的。所以這條界限是非常模糊的,而且一直在變動。
我不同意 Nicholas Carr 關於外包思考會毀滅人性的說法—相反,這還會增強人性,因為它讓我們可以思考更好的東西。而這正是 Whitehead 的要點所在。蘇格拉底不喜歡寫東西,因為這樣會讓大家忘記東西。幸運的是柏拉圖把他的想法寫下來了,所以現在人類還能記住他們。寫增強了我們的記憶,Google 又把它提高了一個層次。它遠沒有讓我們變得更笨,而是變得更加聰明。
書的結尾寫到,「大家擔心電腦會變得太聰明然後接管世界,但真正的問題是他們太蠢而且已經接管了世界。」你能不能解釋一下是什麼意思?
霍金和 Elon Musk 這些名人對人工智慧表達了擔憂,說這是對人類存在的威脅。但「天網」這樣的邪惡 AI 接管世界的說法實在是有些牽強附會。問題在於,大家把智慧和人混淆了。好萊塢電影裡面 AI 和機器人總是人形的,但現實中的它們是很不同的。計算機是沒有自己的意願、情緒或者意識的。它們只是我們的延伸。只要它們解決的是我們設定的問題,只要我們設定好問題邊界並對解決方案進行查驗,計算機就可以無限智慧,同時不會對我們構成威脅。
但這並不是說一點也不用擔心。跟其他技術一樣,人也會出於邪惡的目的而利用 AI。但最重要的是,AI 會提供我們要求的而不是我們真正想要的,而這有可能導致傷害。電腦已經做出了今天的各種重要決定—如誰應該拿到工作、誰應該獲得信貸、誰應該被標記為潛在恐怖分子。而他們往往會犯錯,因為它們缺乏常識。但解決的辦法應該是讓它們變得更聰明,而不是更蠢。所以我們應該擔心的不是 AI 太多,而是太少。
機器學習處理最需要注意什麼?
我們每個人都應該控制周圍的機器學習算法。否則它們就只會為開發它們的組織服務而不是我們。這就好比開車:你得知道方向盤和剎車在哪裡,知道怎麼處置它們。如果司機說「我認為我知道你要去哪裡,我會送你過去的,」那你最好馬上下車。
但現在的機器學習就是這樣的。它們有控制按鈕,但是你是看不見的。你得,比方說,告訴 Amazon 的推薦系統你希望它替你做什麼,讓它調整選擇,解釋它錯在什麼地方等。機器學習傳播得越廣,糾正偏差就越重要。
我們要取得什麼進展主算法才能實現?
許多人認為我們已經具備創建主算法的主要思想,剩下的只是如何組合的問題。我們的確在這個方向上取得了長足進展,實際上離成功已經不遠了。但我的感覺是我們還缺失了一些重大思想,得有人想出來。我自己已經有了一些想法,但我畢竟只是一個人。
寫這本書的目的就是讓其他人也知道我的想法。我的秘密願望是有個小孩,一位 AI 界的牛頓,能看到這本書,開始思考機器學習,然後突然靈光一閃,世界從此大不一樣。
- 延伸閱讀
工程師們注意了,這些數據專家寫出了一個會 coding 的程式
世上最強電腦 Google 做出來了!1 億倍處理速度是真的
資工系大補帖:臺大教授上 YouTube 教你最扎實的 Machine Learning
機器學習持續飛進,未來的亞馬遜倉庫將空無一「人」
Google 讓人工智慧更強大,靠的就是天才神童 Hassabis
解除機器深度學習迷思,臉書 AI 負責人 Yann LeCun 解釋給你聽
(本文轉載自合作夥伴《36Kr》;未經授權,不得轉載)