人工智能、機器學習、深度學習三者之間的同心圓關係

當谷歌 DeepMind 團隊的 AlphaGo 打敗了李世石時,媒體就用人工智能、機器學習和深度學習這三個術語來描述 DeepMind 是如何取得勝利的。

今年早些時候,當谷歌 DeepMind 團隊的 AlphaGo 打敗了李世石時,媒體就用人工智能、機器學習和深度學習這三個術語來描述 DeepMind 是如何取得勝利的。這三個名詞都是 AlphaGo 大勝李世石的原因中的一部分,但是它們並不相同。下面我們就來解釋一下。

理解三者之間關係的最簡便方法就是將它們視覺化爲一組同心圓——首先是最大的部分人工智能——然後是後來興旺的機器學習——最後是促使當下人工智能大爆發的深度學習——在最裏層。

從蕭條到繁榮

自從 1956 年幾個計算機科學家在達特茅斯會議上聚集並開闢了人工智能這一領域,人工智能就進入了我們的想象,並在實驗研究中進行着醞釀。在過去的幾十年裏,人工智能以及輪番被譽爲人類文明取得最美好未來的關鍵,或者是作爲一個頭腦發燒的輕率概念被扔進了科技垃圾堆中。坦白說直到 2012 年,它就這樣在二者之間交雜。

過去的幾年裏,尤其從 2015 年開始,人工智能開始爆發了。這很大程度上與 GPU 的廣泛應用有關,爲了使並行處理更快、更便宜、更強大。這也與近乎無限的存儲能力和各類數據洪流(所有的大數據運動)——圖像、文本、交易、測繪數據,只要你說得出來——一道進行。

讓我們梳理一遍計算機科學家是如何從蕭條——直到 2012 年——到繁榮,開發出每天由成千上百萬的人使用的應用。

人工智能——機器詮釋的人類智能

King me:下西洋跳棋的計算機程序是上世紀 50 年代造成過一陣轟動的一些早期人工智能案例

回到 1956 年夏天的那場會議,人工智能先驅們的夢想是藉由新興計算機構建具有人類智力特徵的複雜機器。這就是所謂的「通用人工智能(General AI)」的概念——擁有人類的所有感覺(甚至可能更多)、所有理智,像人類一樣思考的神奇機器。

你已經在電影中無休止地看到過這些被我們當做朋友的機器,比如《星球大戰》中的 C-3PO  以及成爲人類敵人的機器——終結者。通用人工智能機器向來有充足的理由出現在電影和科幻小說中;我們不能阻止,至少現在還不行。

我們能做什麼?這就到了「狹義人工智能(Narrow AI)」的概念。指的是能夠將特殊任務處理得同人類一樣好,或者更好的技術。狹義人工智能的相關案例比如有 Pinterest 上的圖像分類、Facebook 中的人臉識別。

這些是狹義人工智能在實踐中的例子。這些技術展示了人類智能的一些方面。但是如何做到的呢?那個智能來自哪裏?所以接下來看第二個同心圓,機器學習。

機器學習——實現人工智能的一種方式

Spam free diet:機器學習幫你清理收件箱中的(大部分)垃圾郵件。

機器學習最基礎的是運用算法來分析數據、從中學習、測定或預測現實世界某些事。所以不是手動編碼帶有特定指令設定的軟件程序來完成某個特殊任務,而是使用大量的數據和算法來「訓練」機器,賦予它學習如何執行任務的能力。

機器學習直接源自早期那幫人工智能羣體,演化多年的算法包括了決策樹學習(decision tree learning)、歸納邏輯編程(inductive logic programming)。其他的也有聚類(clustering)、強化學習(reinforcement learning)和貝葉斯網絡(Bayesian networks)等。我們知道,這些早期機器學習方法都沒有實現通用人工智能的最終目標,甚至沒有實現狹義人工智能的一小部分目標。

事實證明,多年來機器學習的最佳應用領域之一是計算機視覺,儘管它仍然需要大量的手工編碼來完成工作。人們會去寫一些手寫分類器,像是邊緣檢測過濾器(edge detection filters)使得程序可以識別對象的啓止位置;形狀檢測(shape detection)以確定它是否有八條邊;一個用來識別單詞「S-T-O-P」的分類器。從這些手寫分類器中他們開發出能夠理解圖像的算法,「學習」判定它是否是一個停止標誌。

這很好,但還不夠好。特別是有霧天氣標誌不完全可見的情況下,或者被樹遮住了一部分。計算機視覺和圖像檢測直到目前都不能與人類相媲美,是因爲它太過脆弱,太容易出錯了。

是時間和正確的學習算法改變了這一切。

深度學習——一種實現機器學習的技術

Herding cats:從 YouTube 視頻中挑選貓咪圖片,是深度學習的第一次突破性表現之一

源自最早進行機器學習那羣人的另一種算法是人工神經網絡(Artificial Neural Networks),它已有幾十年的歷史。神經網絡的靈感來自於我們對大腦生物學的理解——所有神經元之間的相互連接。但是不像生物大腦中的任何神經元,可以在一定的物理距離內連接到任何其他神經元,這些人工神經網絡的層、連接和數據傳播方向是離散的。

比如你可以把一個圖像切成一堆碎片並輸入到神經網絡的第一層中。然後第一層的單個神經元們將數據傳遞給第二層。第二層神經元將數據傳給第三層,如此一直傳到最後一層並輸出最終結果。

每個神經元分配一個權重到它的輸入——評估所執行的任務的準確或不準確。然後最終的輸出由所有這些權重來確定。所以想想那個停止標誌的例子。一個停止標誌圖像的特徵被切碎並由神經元來「檢查」——它的形狀、它的消防紅色彩、它的獨特字母、它的交通標誌尺寸以及和它的運動或由此帶來的缺失。神經網絡的任務是判定它是否爲一個停止標誌。這提出了一個「概率向量」,它真是一個基於權重的高度受訓的猜測。在我們的例子中,系統可能有 86% 的把握認爲圖像是一個停止標誌,7% 的把握認爲這是一個限速標誌,5% 的把握認爲這是一隻被卡在樹上的風箏,等等——然後網絡架構告訴神經網絡結果的正確與否。

甚至這個例子都有些超前了,因爲直到現在,神經網絡都被人工智能研究社區避開了。自從最早的人工智能起,他們一直在做這方面研究,而「智能」成果收效甚微。問題很簡單,即最基本的神經網絡屬於計算密集型,這並不是一個實用的方法。不過,由多倫多大學的 Geoffrey Hinton 帶領的異端研究小組一直在繼續相關研究工作,最終在超級計算機上運行並行算法證明了這個概念,但這是直到 GPU 被部署之後才兌現的諾言。

如果我們再回到停止標誌的例子,當網絡正在進行調整或者「訓練」時,出現大量的錯誤答案,這個機會是非常好的。它需要的就是訓練。它需要看到成千上萬,甚至數以百萬計的圖像,直到神經元的輸入權重被精確調整,從而幾乎每一次都能得到正確答案——無論有霧沒霧,晴天還是雨天。在這一點上,神經網絡已經教會了自己停止標誌看起來會是什麼樣的;或者在 Facebook 例子中就是識別媽媽的臉;或者吳恩達 2012 年在谷歌所做的貓的圖片。

吳恩達的突破在於從根本上使用這些神經網絡 並將它們變得龐大,增加了層數和神經元的數量,然後通過系統運行大量的數據來訓練它。吳恩達使用了 1000 萬個 YouTube 視頻的圖像。他將「深度」運用在深度學習中,這就描述了這些神經網絡的所有層。

如今,在一些場景中通過深度學習訓練機器識別圖像,做得比人類好,從識別貓咪到確定血液中的癌症指標和磁共振成像掃描中的腫瘤指標。谷歌的 AlphaGo 學會了遊戲,並被訓練用於 Go 比賽。通過反覆與自己對抗來調整自己的神經網絡。

感謝深度學習,讓人工智能有一個光明的未來。

深度學習 已經實現了許多機器學習方面的實際應用和人工智能領域的全面推廣。深度學習解決了許多任務讓各種機器助手看起來有可能實現。無人駕駛機車、更好的預防醫療,甚至是更好的電影推薦,如今都已實現或即將實現。人工智能在當下和未來。有了深度學習,人工智能甚至可以達到我們長期所想象的科幻小說中呈現的狀態。我拿走你的 C-3PO,你可以留着終結者。

本文選自:blogs.nvidia,作者:Micheal Copeland,機器之心編譯;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章