您現在的位置是:首頁 > 動漫首頁動漫

人工智慧、機器學習和深度學習,到底有什麼區別?

由 渲大師渲染 發表于 動漫2023-01-11
簡介大家看到這裡理應產生一個問題:現在深度學習大行其道,所有人都知道多層神經網路是完全可行的,單層神經網路的出路就是把層數加深,這麼簡單的破局之道,為什麼連當時的大牛都看不到

降頭術哪裡能學到

人工智慧、機器學習和深度學習的關係

在智慧科學領域,有一個初學者很愛問的問題:

人工智慧、機器學習和深度學習三者有什麼聯絡和區別?

這個是既簡單又複雜的問題。這個問題是有標準答案的。答:三者是包含關係,即人工智慧包含機器學習,機器學習包含深度學習。

可是,如果你一旦細究,就會發現這個問題遠比標準答案要複雜得多。

先說一個很容易產生的誤區。我們在新聞上經常能看到:某某產品使用了人工智慧技術,就具備了怎樣“歎為觀止”的能力,讓人很容易產生一種錯覺,以為人工智慧和渦輪增壓一樣,就是一種技術,所有的“人工智慧”產品,用到的都是同一種叫“人工智慧”的技術。

但實際上,人工智慧是一片森林,森林裡的每一棵樹,都是一條技術原理完全不同的路線。為什麼會有這麼多不同的路線呢?原因很簡單,別看一說人工智慧,許多大V都能侃侃而談,其實大家都在盲人摸象,直到現在也還不知道到底哪一條才是通往真正智慧的康莊大道。可能都是,也可能都不是,怎麼辦呢?那就多路並舉。

有多少路呢?總的來說可以分為三路,或者叫三種主流學派:符號主義、連線主義和行為主義。你隨便去翻一本人工智慧的教材,你就能看到這三種主義都是什麼。

人工智慧、機器學習和深度學習,到底有什麼區別?

不過,這並非唯一的分法。一些文獻會將主要路線分為兩條:基於規則和基於統計。我更喜歡這種分法——清晰、易懂、好落地。

基於規則的想法很樸素,譬如說語法分析:如果我把所有的語法規則都窮盡了,做出來的語法分析器不就“智慧”了嗎?理想很豐滿,現實很骨感,最大的問題就在於“大”——工作量大。基於規則的路線很多人試了,結論就是:哪怕只是語法,不同的情況也非常多,要窮盡所有規則只能是掛一漏萬,人力不可能為之。

目前的贏家是基於統計,優勢是成本低,不需要人肉寫規則,而且效果還好。機器學習就是基於統計的智慧演算法。

初學者經常愛問的另一個問題是“機器學習的本質是什麼”。我認為很簡單,就是用模型擬合數據的分佈。對於機器學習來說,資料很重要,非常重要,學過機器學習的同學可能聽過一句話,叫“資料決定了效能的天花板”,而選擇哪款模型,則決定你與天花板的距離。

可是,為什麼呢?就是因為:

機器學習的本質是擬合數據的分佈。

如果你得到的資料質量並不好,樣本分佈和真實分佈存在偏差,模型的效能就一定好不了。這就相當於,你考試前背答案,但是答案本身就錯了,你背得越熟,結果只能錯得越離譜。

機器學習也不是某一種技術,而是一筐技術。

譬如有支援向量機、決策樹、最近鄰等等,單拎出來都可以算是一條技術路線,其中有一路叫神經網路,有的人覺得應該和生物學的神經網路有所區別,應該叫人工神經網路(ANN)——以生物學的神經網路為藍本設計的機器學習演算法。

光聽名字,就讓人感覺這個演算法非常有前途,實際上也確實很有前途,現在大名鼎鼎的深度學習,就是神經網路的Plus版。

從神經網路到深度學習

神經網路和深度學習的關係是個熱門話題,甚至乾脆就叫這個名字的書我都翻過好幾本。相關的內容我也寫過幾次分享,最近在看一本書,是Charu C。Aggarwal寫的《神經網路與深度學習》,對這個話題又有更深的瞭解。

我們知道,近幾年人工智慧又成了熱議的話題和投資的風口,而推高這一波熱潮的技術叫深度學習。前面介紹了人工智慧、機器學習和深度學習三者是包含關係,不過還是有不少不嚴謹的媒體,儼然把深度學習當作了人工智慧的代名詞,那接下來就專門聊聊,這個深度學習到底是怎麼一回事。

上面我們提到了神經網路,從技術脈絡來說,深度學習就是神經網路這一支系下的一條分叉。所謂深度,其實就是神經網路層數很多的意思。神經網路的發展歷程非常曲折,經歷了兩次大低谷,每次都被打上“此路不通”的標籤。

第一次是在1960年代,當時出了一本書叫《感知機》,這是一本在神經網路上具有里程碑意義的著作,在數學上證明了(單層)神經網路無法學習異或,也就是我們熟知的XOR操作。我看過有些教材上直接就寫是“神經網路無法學習異或”,這是誤導,我們現在使用的多層神經網路是可以學習異或的,嚴謹的表示應該是單層神經網路無法學習異或。

不過,當時的神經網路都是單層神經網路,所以這個證明結論在很多人看來是直接宣判神經網路的死刑,連很多神經網路領域的領軍人物都紛紛另尋他路。

大家看到這裡理應產生一個問題:現在深度學習大行其道,所有人都知道多層神經網路是完全可行的,單層神經網路的出路就是把層數加深,這麼簡單的破局之道,為什麼連當時的大牛都看不到?

因為多層神經網路會導致誤差難以傳導。依靠誤差調整權重是神經網路,乃至很多機器學習演算法的所謂“學習”過程。簡單增加神經網路的層數會導致什麼問題呢?梯度消失。簡單來說就是傳回去的誤差為0了,權重也就沒法透過學習來調整了。這個問題至今仍然是困擾深度學習的一大難題。

人工智慧、機器學習和深度學習,到底有什麼區別?