1956年,幾個計算機科學家相聚在達特茅斯會議(Dartmouth Conferences),提出了「人工智能」的概念。算法
AI是關於使計算機得到人類智慧的研究。AI爲機器賦予人的智能網絡
人工智能的定義隨着時間而演變,這一現象稱之爲「人工智能效應」,歸納起來就是「人工智能就是要實現全部目前還沒法不借助人類智慧才能實現的任務的集合。」機器學習
從上面的定義看,AI傾向於愈來愈增長計算機的自主決策能力。性能
機器學習是AI的一個分支,探索如何讓計算機經過經驗學習提升性能。學習
深度學習是一種特定形式的機器學習,訓練多層神經網絡。深度學習近年來很是流行,引領了圖像識別和語音識別等領域的突破性進展。編碼
| 人工智能(Artificial Intelligence)——爲機器賦予人的智能人工智能
早在1956年夏天那次會議,人工智能的先驅們就夢想着用當時剛剛出現的計算機來構造複雜的、擁有與人類智慧一樣本質特性的機器。這就是咱們如今所說的「強人工智能」(General AI)。這個無所不能的機器,它有着咱們全部的感知(甚至比人更多),咱們全部的理性,能夠像咱們同樣思考。spa
人們在電影裏也老是看到這樣的機器:友好的,像星球大戰中的C-3PO;邪惡的,如終結者。強人工智能如今還只存在於電影和科幻小說中,緣由不難理解,咱們還無法實現它們,至少目前還不行。rest
咱們目前能實現的,通常被稱爲「弱人工智能」(Narrow AI)。弱人工智能是可以與人同樣,甚至比人更好地執行特定任務的技術。例如,Pinterest上的圖像分類;或者Facebook的人臉識別。視頻
這些是弱人工智能在實踐中的例子。這些技術實現的是人類智能的一些具體的局部。但它們是如何實現的?這種智能是從何而來?這就帶咱們來到同心圓的裏面一層,機器學習。
| 機器學習—— 一種實現人工智能的方法
機器學習最基本的作法,是使用算法來解析數據、從中學習,而後對真實世界中的事件作出決策和預測。與傳統的爲解決特定任務、硬編碼的軟件程序不一樣,機器學習是用大量的數據來「訓練」,經過各類算法從數據中學習如何完成任務。
機器學習直接來源於早期的人工智能領域。傳統算法包括決策樹學習、推導邏輯規劃、聚類、強化學習和貝葉斯網絡等等。衆所周知,咱們尚未實現強人工智能。早期機器學習方法甚至都沒法實現弱人工智能。
機器學習最成功的應用領域是計算機視覺,雖然也仍是須要大量的手工編碼來完成工做。人們須要手工編寫分類器、邊緣檢測濾波器,以便讓程序能識別物體從哪裏開始,到哪裏結束;寫形狀檢測程序來判斷檢測對象是否是有八條邊;寫分類器來識別字母「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我拿走了,你有你的終結者就行了。