《人工智能雜記》人工智能、機器學習和深度學習之間的關係

1956年,幾個計算機科學家相聚在達特茅斯會議(Dartmouth Conferences),提出了「人工智能」的概念。其後,人工智能就一直縈繞於人們的腦海之中,並在科研實驗室中慢慢孵化。以後的幾十年,人工智能一直在兩極反轉,或被稱做人類文明耀眼將來的預言;或者被當成技術瘋子的狂想扔到垃圾堆裏。坦白說,直到2012年以前,這兩種聲音還在同時存在。web

過去幾年,尤爲是2015年以來,人工智能開始大爆發。很大一部分是因爲GPU的普遍應用,使得並行計算變得更快、更便宜、更有效。固然,無限拓展的存儲能力和驟然爆發的數據洪流(大數據)的組合拳,也使得圖像數據、文本數據、交易數據、映射數據全面海量爆發算法

這裏寫圖片描述

人工智能、機器學習和深度學習之間的關係

人工智能(Artificial Intelligence)——爲機器賦予人的智能

早在1956年夏天那次會議,人工智能的先驅們就夢想着用當時剛剛出現的計算機來構造複雜的、擁有與人類智慧一樣本質特性的機器。這就是咱們如今所說的「強人工智能」(General AI)。這個無所不能的機器,它有着咱們全部的感知(甚至比人更多),咱們全部的理性,能夠像咱們同樣思考。
人們在電影裏也老是看到這樣的機器:友好的,像星球大戰中的C-3PO;邪惡的,如終結者。強人工智能如今還只存在於電影和科幻小說中,緣由不難理解,咱們還無法實現它們,至少目前還不行。
咱們目前能實現的,通常被稱爲「弱人工智能」(Narrow AI)。弱人工智能是可以與人同樣,甚至比人更好地執行特定任務的技術。例如,Pinterest上的圖像分類;或者Facebook的人臉識別。
這些是弱人工智能在實踐中的例子。這些技術實現的是人類智能的一些具體的局部。但它們是如何實現的?這種智能是從何而來?這就帶咱們來到同心圓的裏面一層,機器學習。網絡

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

機器學習最基本的作法,是使用算法來解析數據、從中學習,而後對真實世界中的事件作出決策和預測。與傳統的爲解決特定任務、硬編碼的軟件程序不一樣,機器學習是用大量的數據來「訓練」,經過各類算法從數據中學習如何完成任務。機器學習

機器學習直接來源於早期的人工智能領域。傳統算法包括決策樹學習、推導邏輯規劃、聚類、強化學習和貝葉斯網絡等等。衆所周知,咱們尚未實現強人工智能。早期機器學習方法甚至都沒法實現弱人工智能。svg

機器學習最成功的應用領域是計算機視覺,雖然也仍是須要大量的手工編碼來完成工做。人們須要手工編寫分類器、邊緣檢測濾波器,以便讓程序能識別物體從哪裏開始,到哪裏結束;寫形狀檢測程序來判斷檢測對象是否是有八條邊;寫分類器來識別字母「ST-O-P」。使用以上這些手工編寫的分類器,人們總算能夠開發算法來感知圖像,判斷圖像是否是一箇中止標誌牌。性能

這個結果還算不錯,但並非那種能讓人爲之一振的成功。特別是遇到雲霧天,標誌牌變得不是那麼清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是爲何前一段時間,計算機視覺的性能一直沒法接近到人的能力。它太僵化,太容易受環境條件的干擾。學習

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

人工神經網絡(Artificial Neural Networks)是早期機器學習中的一個重要的算法,歷經數十年風風雨雨。神經網絡的原理是受咱們大腦的生理結構——互相交叉相連的神經元啓發。但與大腦中一個神經元能夠鏈接必定距離內的任意神經元不一樣,人工神經網絡具備離散的層、鏈接和數據傳播的方向。大數據

例如,咱們能夠把一幅圖像切分紅圖像塊,輸入到神經網絡的第一層。在第一層的每個神經元都把數據傳遞到第二層。第二層的神經元也是完成相似的工做,把數據傳遞到第三層,以此類推,直到最後一層,而後生成結果。編碼

每個神經元都爲它的輸入分配權重,這個權重的正確與否與其執行的任務直接相關。最終的輸出由這些權重加總來決定。人工智能

咱們仍以中止(Stop)標誌牌爲例。將一箇中止標誌牌圖像的全部元素都打碎,而後用神經元進行「檢查」:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標誌的典型尺寸和靜止不動運動特性等等。神經網絡的任務就是給出結論,它究竟是不是一箇中止標誌牌。神經網絡會根據全部權重,給出一個通過深思熟慮的猜想——「機率向量」。

這個例子裏,系統可能會給出這樣的結果:86%多是一箇中止標誌牌;7%的多是一個限速標誌牌;5%的多是一個風箏掛在樹上等等。而後網絡結構告知神經網絡,它的結論是否正確。

即便是這個例子,也算是比較超前了。直到前不久,神經網絡也仍是爲人工智能圈所淡忘。其實在人工智能出現的早期,神經網絡就已經存在了,但神經網絡對於「智能」的貢獻微乎其微。主要問題是,即便是最基本的神經網絡,也須要大量的運算。神經網絡算法的運算需求難以獲得知足。

不過,仍是有一些虔誠的研究團隊,以多倫多大學的Geoffrey Hinton爲表明,堅持研究,實現了以超算爲目標的並行算法的運行與概念證實。但也直到GPU獲得普遍應用,這些努力才見到成效。

咱們回過頭來看這個中止標誌識別的例子。神經網絡是調製、訓練出來的,時不時仍是很容易出錯的。它最須要的,就是訓練。須要成百上千甚至幾百萬張圖像來訓練,直到神經元的輸入的權值都被調製得十分精確,不管是否有霧,晴天仍是雨天,每次都能獲得正確的結果。

只有這個時候,咱們才能夠說神經網絡成功地自學習到一箇中止標誌的樣子;或者在Facebook的應用裏,神經網絡自學習了你媽媽的臉;又或者是2012年吳恩達(Andrew Ng)教授在Google實現了神經網絡學習到貓的樣子等等。

吳教授的突破在於,把這些神經網絡從基礎上顯著地增大了。層數很是多,神經元也很是多,而後給系統輸入海量的數據,來訓練網絡。在吳教授這裏,數據是一千萬YouTube視頻中的圖像。吳教授爲深度學習(deep learning)加入了「深度」(deep)。這裏的「深度」就是說神經網絡中衆多的層。

如今,通過深度學習訓練的圖像識別,在一些場景中甚至能夠比人作得更好:從識別貓,到辨別血液中癌症的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學會了如何下圍棋,而後與它本身下棋訓練。它訓練本身神經網絡的方法,就是不斷地與本身下棋,反覆地下,永不停歇。

深度學習,給人工智能以璀璨的將來

深度學習使得機器學習可以實現衆多的應用,並拓展了人工智能的領域範圍。深度學習摧枯拉朽般地實現了各類任務,使得彷佛全部的機器輔助功能都變爲可能。無人駕駛汽車,預防性醫療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現。

人工智能就在如今,就在明天。有了深度學習,人工智能甚至能夠達到咱們暢想的科幻小說通常。你的C-3PO我拿走了,你有你的終結者就行了。

【注】機器視覺(Machine Vision, MV) & 計算機視覺(Computer Vision, CV)

從學科分類上, 兩者都被認爲是 Artificial Intelligence 下屬科目。

這裏寫圖片描述

計算機視覺是採用圖像處理、模式識別、人工智能技術相結合的手段,着重於一幅或多幅圖像的計算機分析。圖像能夠由單個或多個傳感器獲取,也能夠在單個傳感器在不一樣時刻獲取的圖像序列,分析是對目標物體的識別,肯定目標物體的位置和姿態,對三維景物進行符號描述和解釋。在計算機視覺中,常用幾何模型、複雜的知識表達,採用基於模型的匹配和搜索技術,搜索的策略常使用自底向上、自頂向下、分層和啓發式控制策略。

機器視覺則偏重於計算機技術工程化,你問哪一個夠自動獲取和分析特定的圖像和場景,以控制相應的行爲。具體的說,計算機視覺爲機器視覺提供圖像和精武分析的理論及算法基礎,機器視覺爲計算機視覺的實現提供了傳感器模型、系統構造和實現手段。所以能夠認爲,一個機器視覺系統就是一個自動獲取一幅或多幅目標物體圖像,對所獲取圖像的各類特徵量進行處理、分析和測量,並對測量結果作出定性的分析和定量解釋,從而獲得有關目標物體的某種認識並作出下相應決策的系統。機器視覺系統的功能包括:物體定位、特徵檢測、缺陷判斷、目標識別、計數和運動跟蹤。