5分鐘區分AI、機器學習與深度學習
來自專欄程序員之家12 人贊了文章
【小宅按】作為一個大數據從業人員,相信大家整天都在被AI、機器學習、深度學習等一些概念轟炸。有時候甚至有點誠惶誠恐,一方面作為一個「業內人士」而自豪,另一方面覺得新概念一個接一個,自己不甚了解,有點恐懼。我一直相信一句台詞——「喝了敵人的血,下次見面就不會再怕了」。學習知識亦然,很多時候,你覺得很高深,實際上是缺乏清晰的概念。當你真的把這些概念理清楚後,往往會恍然大悟,萬變不離其宗,原來不過如此。
人工智慧(Artificial Intelligence)
人工智慧是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門技術科學。我們來分解一下這個概念。「人工智慧」是「一門技術科學」,它研究與開發的對象是「理論、技術及應用系統」,研究的目的是為了「模擬、延伸和擴展人的智能」。既然如此,那麼買菜用的「計算器」算是人工智慧嗎?嚴格地說是算的,因為它至少做了「模擬」人在計算方面的智能,並擴展了這個能力(比人算得更快)。我們每天編碼驅動計算機去幫我們幹活,這個算是人工智慧嗎?也算的。所以,首先不用妄自菲薄,其實大家早已是「人工智慧」的從業者了。我們現在看到的貌似很高端的技術,如圖像識別、NLP,其實依然沒有脫離這個範圍,說白了,就是「模擬人在看圖方面的智能」和「模擬人在聽話方面的智能」,本質上和「模擬人在計算方面的智能」沒啥兩樣,雖然難度有高低,但目的是一樣的——模擬、延伸和擴展人的智能。另外,人工智慧也不是啥新概念,事實上這是50年代提出的東西了(比你們老多了),現在這麼火熱,頂多只能算是「詐屍」,談不上「新生」。
隨著人對計算機科學的期望越來越高,要求它解決的問題越來越複雜,摧枯拉朽地打個小怪已經遠遠不能滿足人們的訴求了。1+1好算,1+2也不難,這些已經能解決的問題暫且按下不表。要解決的問題域越來越複雜,即使是同一個問題,其面對的場景也越來越多。咱總不能每新出來一種場景,就讓碼農去查找switch,然後在default前去再加一個case吧;世間的場景千千萬,那得多少個case啊,殺個碼農祭天也保不齊會出問題啊。那怎麼辦呢?於是有人提出了一個新的思路——能否不為難碼農,讓機器自己去學習呢(提出這個概念的人一定做過碼農)?
機器學習
所以,機器學習的定義就出來了。機器學習就是用演算法解析數據,不斷學習,對世界中發生的事做出判斷和預測的一項技術。研究人員不會親手編寫軟體、確定特殊指令集、然後讓程序完成特殊任務;相反,研究人員會用大量數據和演算法「訓練」機器,讓機器學會如何執行任務。這裡有三個重要的信息:1、「機器學習」是「模擬、延伸和擴展人的智能」的一條路徑,所以是人工智慧的一個子集;2、「機器學習」是要基於大量數據的,也就是說它的「智能」是用大量數據喂出來的,如果缺少海量數據,它也就啥也不是了;3、正是因為要處理海量數據,所以大數據技術尤為重要;「機器學習」只是大數據技術上的一個應用。常用的10大機器學習演算法有:決策樹、隨機森林、邏輯回歸、SVM、樸素貝葉斯、K最近鄰演算法、K均值演算法、Adaboost演算法、神經網路、馬爾科夫。Apache有個開源項叫mahout,提供了這些經典演算法的實現;但是後來spark出來了,由於在內存迭代計算方面的優勢,一下子搶過了這個風頭,目前spark自帶的MLlib被使用得更為廣泛。雖然mahout也在向spark轉,但是在技術的世界裡就是這樣的,只有新人笑,哪聞舊人哭。
深度學習
相較而言,深度學習是一個比較新的概念,算是00後吧,嚴格地說是2006年提出來的。是用於建立、模擬人腦進行分析學習的神經網路,並模仿人腦的機制來解釋數據的一種機器學習技術。它的基本特點,是試圖模仿大腦的神經元之間傳遞,處理信息的模式。最顯著的應用是計算機視覺和自然語言處理(NLP)領域。顯然,「深度學習」是與機器學習中的「神經網路」是強相關,「神經網路」也是其主要的演算法和手段;或者我們可以將「深度學習」稱之為「改良版的神經網路」演算法。深度學習又分為卷積神經網路(Convolutional neural networks,簡稱CNN)和深度置信網(Deep Belief Nets,簡稱DBN)。其主要的思想就是模擬人的神經元,每個神經元接受到信息,處理完後傳遞給與之相鄰的所有神經元即可。所以看起來的處理方式有點像下圖(想深入了解的同學可以自行google)。
神經網路的計算量非常大,事實上在很長時間裡由於基礎設施技術的限制進展並不大。而GPU的出現讓人看到了曙光,也造就了深度學習的蓬勃發展,「深度學習」才一下子火熱起來。擊敗李世石的Alpha go即是深度學習的一個很好的示例。Google的TensorFlow是開源深度學習系統一個比較好的實現,支持CNN、RNN和LSTM演算法,是目前在圖像識別、自然語言處理方面最流行的深度神經網路模型。事實上,提出「深度學習」概念的Hinton教授加入了google,而Alpha go也是google家的。在一個新興的行業,領軍人才是多麼的重要啊!
總結
人工智慧是一個很老的概念,機器學習是人工智慧的一個子集,深度學習又是機器學習的一個子集。機器學習與深度學習都是需要大量數據來「喂」的,是大數據技術上的一個應用,同時深度學習還需要更高的運算能力支撐,如GPU。以一張圖來結尾。
更多精彩內容,請滑至頂部點擊右上角關注小宅哦~
來源:華為雲原創內容 鏈接
推薦閱讀:
TAG:機器學習 | 深度學習DeepLearning | 人工智慧 |