全文共3323字,預計學習時長9分鐘
我們總能聽到機器學習、深度學習、神經網絡這樣的詞,但是你是否清楚這裡的「學習」到底意味著什麼?它只是銷售軟體和服務的營銷詞彙嗎?還是說科學家真的創造了類似人腦的組件並令其在機器內部運行呢?機器會佔領世界嗎?
別擔心,還沒到那個時候。本文就將為你祛魅機器學習,科學家是如何教計算機完成人類的任務,甚至在某些情況下比人類做得還好。筆者將用最直白的話給大家解釋這個問題,努力讓任何領域的人都可以理解。
為什麼需要學習?
在學習開始之前,解決問題離不開算法的編寫。算法只是一組規則,往裡面輸入後得到的輸出即可作為問題的解決方案。
請考慮以下情況:有一個數字列表,要求你按升序排序,有很多算法可以解決此任務。這些算法通過獲取列表,執行一些規則和操作,然後返給你排好序的列表。對於計算機科學家來說,這種問題「很容易」解決。他們只需要思考並提出一種算法來解決任務。
但同時,有些問題不是那麼容易用算法解決。人們開始對計算機有了更多的要求,他們希望機器具有解決艱巨任務的超能力,是那種連科學家都完全不知道如何編程的任務。
例如:如何編寫一種算法,以獲取動物的圖像並輸出其類型?對於人類而言,這是一項非常容易的任務,但對於算法來講就是一件很複雜的事兒了。人類知道如何對動物照片進行分類,但是他們不知道如何描述他們為獲得答案所採取的步驟。因此,出現了一個重要的問題——如何解決連人類都不知道如何描述的問題?
算法的世界!
網際網路中,算法無處不在。你正在閱讀本文,是因為有一種算法把這篇文章呈現在了你眼前,可能是因為你點擊了什麼,然後算法會記錄你打開的連結。該算法決定了你搜索查找照片所看到的內容,甚至可以為你製作一個小電影。
股市充滿了算法,交易需要進行。當你購買東西時,該算法確定價格,並且在你的帳戶監視交易是否遭到欺詐。
這些小小的算法塑造了你的世界。當它們在過去的人造算法機器人中工作時,人類可以提供「如果這樣,那麼該那樣」形式的解釋說明。但許多問題太大而又難以簡單闡明,例如在一秒鐘的十億次金融交易中發現欺詐性交易,算法能想辦法發揮作用。
設想,一個航空公司如何設定飛機座位的最高價?用戶現在要支付的價格由算法機器人確定。雖機器也並不完美,但比人類能做到的要好得多!沒有人知道,甚至建造它們或將來將要建造它們的人都不知道他們是如何做到的。
人工算法的失敗
圖片中是什麼?是蜜蜂,還是3?對於人類來說,即使是小孩子也很容易說出答案,但用一種機器人語言(一種邏輯門語言)告訴機器人就不太可能實現了。
我們只知道那是蜜蜂和3,我們可以用言語來區分它們,但是機器人無法理解言語,而正是大腦中的聯繫才使我們分清二者。
雖然我們大腦中的單個神經元可以很容易被理解,但是組成大腦的神經元簇卻很難被理解。雖然我們無法理解這個整體,但是它起著潛移默化的作用。所以,要想讓一個機器人在蜜蜂和數字3之間進行分類,你不需要直接建造這樣的機器人,只需要建造一個建造機器人的機器人和一個教授機器人的機器人。這些機器人的大腦十分簡單,一個優秀程式設計師可以輕而易舉做出來。
記住,建造機器人是用來建造的,但教師機器人並不用於教學,只用於測試學生機器人。
實際上,學生機器人並不擅長測試。起初,建造機器人在任意機器人的大腦中進行隨機連接,於是教師機器人接收到了一些非常特殊的學生機器人,教師機器人需要教他們如何區分蜜蜂和數字3。人類首先需要給機器人老師一堆蜜蜂和數字3的照片,並告訴他們這是什麼。
學生機器人參加了測試,但他們做得不好。這不是他們的錯,他們被建造時就是這樣的。他們被重新帶回建造機器人那邊,那些做得好的會被放在一邊,其他的則會被回收利用。
建造機器人仍然不擅長建造機器人,但現在它將那些做得好的機器人留下來,並用新組合的變化進行複製,然後送回學校。新的學生機器人到了之後,老師機器人一次又一次地測試它們,建造機器人一次又一次地建造,平均測試分數一次又一次地提高,先是60%,最後直到99.99%的完美。
以前,人類可以為他們的機器和機器人編寫算法,但現在,我們做到了讓機器通過任務模式進而創建自己的算法
所以一個測試和試錯的方法已經完成了,這並不是針對一個或兩個機器人,而是針對十億個不同的機器人,有不同的隨機連接,而且測試題又有十億頁長。如前所述,這是針對那些bot語言中存在的問題,那些我們無法告訴機器人的問題。
老師機器人並不是在監管一個有十幾個學生的老校舍,而是一個有幾千名學生的無限倉庫,考試不是10道題,而是100萬道題,他們究竟考了多少次?
建造機器人會不斷重複構建過程(隨機連接)。起初,留下來的學生只是幸運而已。但是,通過組合足夠多的幸運機器人,只保留那些有用的,然後隨機地組合出新的副本,最終一個學生機器人出現了,它不是靠運氣,而且可能幾乎不能區分蜜蜂和數字3。這一點被複製,並被應用到所有其他機器人。
慢慢地,平均測試分數上升,下一輪生存所需的分數也越來越高——從50%到60%,70%,80%,90%,95%,等等。
當我們繼續這個循環,最終,從無限大的校舍裡,一個可以分辨出照片中的一隻蜜蜂和數字3的學生機器人會出現,準確率高達99.999%。這個數字意味著在假設的1000000張照片集合中,只有1張照片出錯!
但是學生機器人是如何做到這一點的,無論是教師機器人,建造機器人,甚至是人類的監督者都無法理解,學生機器人本身也是如此。在保留了這麼多有用的隨機變化之後,它的線路和晶片就變得極其複雜。雖然一行代碼不難理解,可代碼簇就難了。就是因為這樣,機器人的代碼整體很難被我們理解。
這是可的,但也同時令人沮喪,特別是學生機器人只擅長已經被教過的問題。如果照片是倒置的,或者照片不是蜜蜂,比如貓,它就會覺得很困惑。我們的機器人老師不能教所有的東西,所有的人類監工能做的是給它更多的問題,使測試更長,連最好的機器人會出的錯也要訓練到。
理解這一點很重要,這也是公司非常喜歡收集數據的一個原因——更多的數據等於更多的測試,等於更好的機器人。當你在網站上做「你是人類嗎」的測試時,你不僅證明了你是人類,而且也在幫助建立這個測試,讓機器人能夠讀、數、分辨山巒上的交通燈、馬和人。
在網際網路上的任何地方,後臺都有一些測試來增加用戶的互動,或者設定合適的價格來使得收益最大化,或者從你所有的朋友那裡「偷錢」。你喜歡朋友分享的文章,這是讓機器人根據你的聯繫人了解你喜歡什麼的一種方式。如果它是可測試的,那麼它就是可被教的!
至少在一段時間內,教師和學生機器人將從數據備選庫中畢業,正式成為領域中的算法。我們習慣了這樣的想法:我們使用的工具,即使自己不懂但總有人懂,但隨著機器學習發展,我們越來越處在一個人類使用工具或被工具使用的位置,沒有人、甚至它們的創造者也不懂。我們只能希望可以用測試來指導工具,並且用起來順手。
識別蜜蜂和3隻是一個簡單的例子。現實世界的一些應用包括:早期發現癌症,我們訓練機器人理解各種癌症發展和分類模式,辨別惡性癌症(嚴重、緊急醫療)或良性(稍不嚴重、最小的醫療保健);解決航空公司座位價格;提前數月預測危險的龍捲風;還有自動除顫器的應用等等。
雖然對人類來說一些算法已成黑箱,但也不用擔心機器人會佔領世界。正如機器學習專家Andrew Ng所說:「擔心機器人接管世界就像擔心火星上的人口過剩一樣。我們還沒到那時候呢!」
留言點讚關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範