標籤:

機器學習如何重塑人類世界

通過瑣碎的數據與演算法演化出的「能夠學習的機器」,悄然主導了我們的生活。

您正在閱讀 OFFLINE Issue 43《極簡機器學習入門》。成為離線會員,您將收到每周一期電子雜誌,完整閱讀會員專享內容。

作者:佩德羅·多明戈斯

你也許不知道,但機器學習就在你身邊。當你把查詢信息輸入搜索引擎時,它選擇向你顯示哪些搜索結果。當你打開郵箱時,大部分垃圾郵件你無法看到,因為計算機已經把這些郵件過濾了。你登錄亞馬遜網站購買一本書,機器學習系統會推薦一些你可能喜歡的產品。任何時候,當你使用計算機時,都有可能涉及到機器學習。

傳統上認為,讓計算機完成某件事情的唯一方法,就是非常詳細地記錄某個演算法(就是一系列指令,告訴計算機能做什麼)並解釋其如何運行。但機器學習演算法就不一樣:通過從數據中推斷,計算機自己會弄明白該怎麼做。掌握的數據越多,它們的工作就越順利。現在我們不用給計算機編程,它們自己給自己編程。

計算機會自己編寫程序。現在看來這是一個強大的想法,甚至可能有點嚇人。到今天為止,人們能編寫許多計算機無法學習的程序。但計算機卻能學習人們無法編寫出來的程序。我們會開車、會辨認字跡,但這些技能都是潛意識發揮出來的,無法向計算機解釋這些事情是怎麼實現的。但是,如果我們把足夠多的例子交給演算法後,演算法會很樂意弄明白這些事情是怎麼實現的,這時我們就可以放手讓演算法去做了。郵局正是通過這種方法來識別郵政編碼,自動駕駛汽車也是這樣才能上路。

解釋機器學習的力量的最好方法,也許就是將其與其他低技術含量的活動進行類比。在工業社會,商品由工廠製造,這也就意味著工程師必須弄明白商品是如何通過零件組裝起來、這些零件如何生產等。這是一項大工程。計算機是人類發明的最複雜的產品,計算機設計、工廠生產、程序運行都涉及大量的工作。還有另外一種方法也能讓我們得到某些想要的東西,就是讓自然規律去塑造它們。在農業中,我們播種,確保種子有足夠的水分和營養,然後收割成熟的作物。為什麼技術不能這樣?完全可以,而這也是機器學習的原理。學習演算法是種子,數據是土壤,被掌握的程序是成熟的作物。機器學習專家就像農民,播下種子,灌溉,施肥,留意作物的生長狀況。

一旦我們這樣看待機器學習,隨即也會發生兩件事:

第一,我們掌握的數據越多,我們能學的也越多。沒有數據?那就什麼也學不到。有大數據?太多東西可以學習。這也是機器學習無處不在的原因,因為數據量在飛速增長。

第二,只要有足夠的數據,一段只有幾百行代碼的程序可以輕易生成上百萬行代碼的程序,而且它可以為不同問題持續的去編寫不同的程序。這可以顯著降低程序員工作的複雜度。

機器學習有時會和人工智慧(AI)混淆。嚴格來講,機器學習是人工智慧的子集,但機器學習發展得如此壯大且成功,現已超越以前它引以為傲的母領域。人工智慧的目標是教會計算機做現在人類能做的事,並且做得更好。而機器學習可以說就是其中最重要的事:不持續學習,計算機就永遠無法跟上人類的步伐;有了學習,一切都與時俱進。

機器學習專家在計算機科學家中就是一種精英式的「神職」。許多計算機科學家,尤其是更老的那一代,並不如他們想的那樣能很好地理解機器學習。這是因為,計算機科學通常需要的是精準思維,但機器學習需要的是統計思維。例如,如果有條規定是「垃圾郵件標記的正確率是 99%」,這並不意味不夠精準,而可能意味這是你的最好水平,已經很好了。這種思維上的差別很大程度上也解釋了為什麼微軟能趕上網景,但想趕上谷歌卻困難得多。說到底,瀏覽器只是一個標準的軟體,而搜索引擎則需要不同的思維模式。

工業革命使手工業自動化,信息革命解放了腦力勞動,而機器學習則使自動化本身自動化。將自動化帶入新的高度,機器學習革命會帶來廣泛的經濟及社會變革,正如互聯網、個人計算機、汽車以及蒸汽機在當時對社會和經濟的影響那樣。這些變革已經明顯存在的領域就是商業和科學。

為何商業擁護機器學習

企業發展壯大的過程中會經歷三個階段:

第一階段的所有事都由人工完成——夫妻店的店主親自了解其顧客,他們依照顧客類型訂購、展示、推薦產品。這很不錯,但規模不大。

第二階段是最辛苦的時期,公司變得越來越大,需要用到計算機。公司招來程序員、顧問,買來資料庫管理器,程序員編寫了成百萬行的代碼來使公司所有能自動化的功能自動化。更多的人享受到服務,但也有麻煩:決定是在粗略的人口統計基礎上做出來的,計算機程序也過於死板,無法與人類的能力相比擬。

經過一段時間進入第三階段,當沒有足夠的程序員和顧問滿足公司的需要,公司不可避免地要向機器學習尋求幫助。亞馬遜無法通過計算機程序將所有用戶的喜好熟練地進行編碼,Facebook 也不知道如何編寫一個程序,能選出最好的內容展示給每位用戶。它們也沒有這麼做。相反,這些公司所做的工作是在收集到如山的數據後,讓學習演算法盡情學習,然後預測顧客想要什麼產品。

學習演算法就是「媒人」:它們讓生產商和顧客找到對方,克服信息過載。如果這些演算法足夠智能,你就能取得兩全其美的結果:從宏觀來講,選擇廣、成本低;從微觀來講,能夠了解顧客的個性化需求。學習演算法並不是完美的,決定的最後一步通常還得由人來做,但學習演算法很智能,為人們減少了需要做的選項。

回顧過去,我們發現,從計算機到互聯網再到機器學習的進步是必然的:計算機使互聯網成為可能,這個過程產生大量數據以及無限選擇這個問題。單單互聯網還不足以把「一個尺寸滿足所有」的需求轉向追求無限多樣化的長尾效應。Netflix 的庫存里可能有 10 萬種光碟,但如果顧客不懂得如何找到自己喜歡的,他們就會默認選擇最流行的。只有 Netflix 有了學習演算法之後,才能幫助它了解顧客的喜好,為顧客做出推薦,長尾效應也才得以真正實現。

一旦機器學習成為媒介,那麼其力量也開始慢慢積聚。谷歌的演算法很大程度上決定了你會找到什麼信息,亞馬遜決定你會買到什麼產品,最好的選擇權仍在你手裡——從演算法給你展示的所有選項中挑選,但 99.9% 的選擇卻是由演算法做出的。當下,一家公司的成敗取決於學習演算法對其產品的喜愛程度,而整個經濟體的成功——每個人能否得到自己需要的物美價廉的產品,則取決於學習演算法的智能程度。

公司確保學習演算法喜愛其產品的最佳方法就是,讓公司自己運行演算法。誰有最佳演算法、數據最多,誰就能贏。新型網路效應佔據上風:誰有最多的用戶,誰就能積累最多的數據,誰有最多的數據,誰就能學到最好的模型,誰學到最好的模型,誰就能吸引最多的用戶,這是一種良性循環。把搜索引擎從谷歌 換到必應,可能會比把應用系統從 Windows 切換到 Mac 要簡單。但在現實中,你不會這麼做,因為谷歌擁有領先優勢及更大的市場份額,比必應更懂得你想要什麼,雖然必應的技術也不錯。可惜的是,必應剛進入搜索行業,沒有什麼數據資源,而谷歌卻擁有十餘年的機器學習經驗。

你可能會認為,過一段時間,更多的數據結果意味著更多的重複,但數據的飽和點還未出現,長尾效應會持續起作用。如果你觀察亞馬遜為你提供的推薦產品,很明顯,這些推薦項仍很粗略,而谷歌的搜索結果也有很大的優化空間。每個產品的特性、網頁的每個角落都有很大的潛力,都能通過機器學習得到改善。還有,最好讓機器學習持續運行,不斷調整網頁的各個方面。

所有擁有大量選擇和數據的市場都會發生這樣的動態循環。比賽正在進行,誰學得最快,誰就贏了。隨著越來越好地了解用戶需求,這個比賽不會停止:企業可以將機器學習應用到企業運作的每個方面,只要有足夠的數據,只要數據能夠從計算機、通信設備以及更廉價、更普適的感測器源源不斷地輸出。「數據是新型石油」是目前的流行說法,既然是石油,提鍊石油就是一筆大生意。和其他公司一樣,IBM 已制定經濟增長戰略,為企業提供分析服務。業界將數據看作戰略資產:我有什麼數據,而競爭對手卻沒有?我要怎麼利用這些數據?競爭對手有什麼數據,而我卻沒有?

同樣的道理,沒有資料庫的銀行無法和有資料庫的銀行競爭,不會機器學習的企業也無法跟上使用機器學習的企業。雖然第一家公司的專家寫了上千條規則,試圖預測用戶的喜好,但是第二家公司的演算法卻能學習數十億條規則,一整套規則都可用於每位用戶。這就相當於長矛對機關槍。機器學習是很棒的新技術,但這並不是商業界擁護它的原因——人們之所以擁護它,是因為別無選擇。

給科學方法增壓

機器學習是「打了類固醇」的科學方法,也遵循同樣的過程:產生假設、驗證、放棄或完善。科學家可能會花費畢生精力來提出或驗證幾百個假設,而機器學習系統卻能在一秒鐘內做完這些事。機器學習使科學的發現過程自動化。因此,並不奇怪,這既是商業領域的革命,也是科學領域的革命。

為了取得進步,科學的每個領域都需要足夠的數據,以與其研究的複雜性相對應。這是物理成為第一個騰飛學科的原因:第谷·布拉赫對星球位置的記錄,以及伽利略對鐘擺擺動、斜面的觀察,已經足以推導出牛頓定律。這也是為什麼雖然分子生物學這個學科比神經科學年輕,但是已超越神經科學:DNA 微陣列以及高通量測序技術提供了大量的數據,而神經科學家對此只能可望而不可即。這也是為什麼社會科學研究是一場艱苦卓絕的戰鬥:你擁有的只是 100 人的樣本和每個人的十幾個測量值,你能模擬的也只是某個規模很有限的現象,甚至這個現象可能都不是孤立存在的,它還受到其他現象的影響,這就意味你仍然沒有徹底了解它。

好消息是之前缺乏數據的學科現在能擁有很多數據。用不著讓 50 名睡眼惺忪的本科生到實驗室完成任務並付給他們報酬。心理學家通過在亞馬遜「土耳其機器人」上發布實驗任務,就可以找到滿足他們數量要求的實驗對象(這個網站對更多樣化的樣本也有幫助)。只是十年前,研究社交網路的社會學家哀嘆說,他們無法得到超過幾百人的社交網路。現在有了超過 10 億用戶的 Facebook 。大部分用戶會發布有關他們的生活細節,就像地球社會生活的實時直播。在神經科學領域,神經連接組學和功能性磁共振成像讓人們對大腦有了十分詳細的了解。在分子生物學領域,基因和蛋白質的資料庫數量以指數級速度增長。甚至更為「年長」的學科,如物理學和解剖學也在不斷進步,因為粒子加速器和數字巡天領域的數據在源源不斷輸出。

如果你不將大數據變成知識,它將毫無用處,可是世界上沒有那麼多科學家來完成這件事。埃德溫·哈勃通過鑽研照相底片發現新的星系,但史隆數字巡天計劃中,多達 5 億的天體肯定不是這樣被辨認出來的。這就像在沙灘上用手來數沙粒的數目一樣。你可以記錄規則,把星系從星星及干擾物(如鳥、飛機、超人)區分開來,但得出的星系並不那麼準確。相比之下,天體圖像目錄編輯和分析工具(SKICAT)項目使用了學習演算法。底片包括標記了正確類別的天體,從這些底片出發,學習演算法可以明白每個分類的特點,並將其應用到沒有標記的底片中。甚至更理想的是,學習演算法能夠將那些對人類來說難以標記的天體進行分類,這些天體正是該項調查計劃的主要內容。

有了大數據和機器學習,你就能弄明白比之前複雜很多的現象。在多數領域,科學家一般只使用種類很有限的模型,例如線性回歸模型,在這個模型當中,你用來適應數據的曲線總是一條直線。遺憾的是,世界上的大多數現象都是非線性的(或者說這也是一件幸事,如果是線性的,生活會變得非常乏味。實際上,那樣就不會存在生命了)。機器學習打開了廣闊、全新的非線性模型世界。這就好比在只有幾縷月光照射的房間,打開了燈。

在生物學領域,學習演算法的研究成果包括:DNA 分子中基因的位置;在蛋白質合成前,多餘的核糖核酸在哪裡進行絞接;蛋白質如何摺疊成各自的特有形狀;不同條件如何對基因的表達造成影響。用不著在實驗室對新葯進行測試,機器學習可以直接預測這些藥物是否有效,只有最有效的藥品才會受到測試。學習演算法還會剔除那些可能產生嚴重副作用(甚至致癌)的藥物,備選藥物無須人體試驗證明無效後才被禁止使用,從而避免付出嚴重的代價。

然而,最大的挑戰是將所有這些數據組合成一個整體。導致你患心臟病的因素有哪些?這些因素如何相互影響?牛頓需要的只是三個運動定律和一個萬有引力定律,但一個細胞、一個有機體、一個社會的完整模型卻無法由一個人來發現。雖然隨著知識的增長,科學家的分工變得越來越細,但是沒有人能夠將所有知識整合到一起,因為知識太多了。雖然科學家們會合作,但語言是傳播效率很低的媒介。科學家們想努力追上別人的研究,可出版物的數量如此之多,他們的距離就被拉得越來越遠。重做一項實驗甚至比找到該實驗的報告還要容易。機器學習的作用在這時就發揮出來了,它能根據相關信息搜索文獻,將某領域的行話翻譯到另一個領域,並建立科學家們在過去都沒有意識到的聯繫。漸漸地,機器學習成為一個巨大的中心,通過這個中心,某個領域裡發明的建模技術將會被引入其他領域。

如果計算機沒有被發明出來,20 世紀下半葉的科學將停滯不前。這可能不會很快在科學家當中表現出來,因為他們專註於努力就能實現、實際則是有限的進步,進步的空間真的太小了。同樣,如果沒有機器學習,許多科學在未來十年將會面臨收益遞減。

為了預見科學的未來,看看曼徹斯特大學生物技術研究院的實驗室,在那裡,一個名叫亞當的機器人正在努力工作,目的是找到哪些基因在酵母中對哪些酶進行編碼。亞當有一個酵母新陳代謝的模型,還掌握了基本的基因及蛋白質知識。它提出假設,設計實驗驗證假設,進行實地實驗,分析結果,提出新的假設,直到它滿意為止。當下,人類科學家仍然在獨立檢查、證實亞當的結果,但在未來,他們就會交給機器人科學家來驗證彼此的假設。

我們將走向何方

除了商業和科學領域,機器學習也在政治民主、國家安全中扮演著越來越重要的角色。科技潮流奔涌而來並迅猛向前。機器學習不同尋常的一點就是,在經歷變革、繁榮和破產之後,它變得愈發強大。

機器學習遇到的第一個大的衝擊是在金融領域,預測股票的起伏波動,始於 20 世紀 80 年代。接下來的一波是挖掘企業資料庫,在 20 世紀 90 年代中發展壯大,尤其是在直接營銷、客戶關係管理、資信評分以及詐騙偵查等領域。接著是網路和電子商務,在這些領域中,自動個性化很快流行起來。當互聯網泡沫暫時削弱這種趨勢時,機器學習在網頁搜索和廣告投放領域的應用開始騰飛起來。9·11 恐怖襲擊後機器學習被應用到打擊恐怖主義的戰爭中。網路 2.0 帶來一連串的新應用,像是挖掘社交網路、搜索哪些博客談到你的產品。同時,各個領域的科學家也逐漸轉向大規模建模,由分子生物學家和天文學家打頭陣。人們留意到了房地產泡沫,其主要影響就是使人才從華爾街轉移到矽谷。2011 年,「大數據」的概念流行起來,機器學習被明確歸入全球經濟未來的中心。當今,似乎沒有哪個人類鑽研的領域不受到機器學習的影響,甚至包括看起來沒有多大關係的領域(如音樂、體育、品酒)。

儘管機器學習的發展趨勢已經毫無疑問,但這也僅僅是未來的預告。實際上,將學習演算法應用到當今各行各業中,還是有諸多限制的。比爾·蓋茨曾說,如果現在實驗室的演算法能在各領域的前線得到使用,那麼機器學習的突破所產生的價值將相當於 10 家微軟。其實這個說法有點保守了。如果這些觀點真的讓研究人員覺得未來一片光明,那麼機器學習帶來的就不僅僅是新的文明時代,還是地球生命進化的新階段。

本文整理自《終極演算法》(2017.01),佩德羅·多明戈斯著,黃芳萍譯,由中信出版社授權發布。

您正在閱讀 OFFLINE Issue 43《極簡機器學習入門》。歡迎到離線官網使用信用卡或進入官方微店「不在線商店」訂閱。

推薦閱讀:

對抗樣本引發的系列討論
L1範數與L2範數的區別
打造機器學習的基礎架構平台

TAG:机器学习 |