人工智慧/機器學習/深度學習 — 它們到底差在哪?

人工智慧到底是什麼?機器學習到底學什麼東西?深度學習到底是哪裡深?

Rice Yang
10 min readMay 30, 2021
圖片來源:This Year’s AI (Artificial Intelligence) Breakthroughs

人工智慧 (Artificial Intelligence, AI) 已經離不開我們的生活。如果你對 AI 有點興趣,自己可能還會看到「機器學習 (Machine Learning)」、「深度學習 (Deep Learning)」這兩個詞,而且不知道這它們有什麼區別。如果你是大學生在選課,甚至可能沒有一門叫做 AI 或是深度學習的課可以修。又或者你可能感覺,這三個名詞就是同一件事?

如果你曾經對這個問題有疑問,你可能會查到一些深入淺出的資料,也看到下面這張圖;但還是一頭霧水,覺得你到底看了三小?

圖片來源:What is Artificial Intelligence (AI) — IBM

這篇文章我試著用幾個故事與案例,來試著說明這三者之間的互相關係,並明確的解釋什麼是人工智慧?什麼是機器學習?什麼是深度學習?

什麼是 AI?

你可能有聽過人工智慧包含「弱人工智慧」、「強人工智慧」、「通用人工智慧」這些定義,但是這些先放一邊。我看過對 AI 最廣泛的定義是類似這樣的:

可以自動化來解決人類問題的電腦程式都可以被稱為 AI

AI 這一詞最早被確立出來是在 1956 年的達特茅斯會議,那時電腦程式都還是用打孔帶寫的,電腦比衣櫃還大好幾倍。當年的 AI 科學家相信能夠在幾十年內造出人造的大腦,並且像人類一樣思考、解決問題。

雖然至今仍沒有造出真正的人造大腦,但在 20 世紀的確是誕生了很多能夠像人一樣解決問題的機器。例如 1967 年,英國發明了第一個 ATM (Automated Teller Machine, 自動櫃員機),可以像銀行櫃員一樣解決客戶的基本問題。

因此,AI 從一開始誕生的目的就是為了代替人類工作、解決人類的問題。這也是為什麼我傾向用這個定義來解釋 AI,我甚至認為能夠取代人力的電腦程式都可以稱之為 AI,包括自動點菜系統。但是需要人類高度操作的程式,例如 Word、PowerPoint,就不能稱為 AI。

Deep Blue 戰勝西洋棋冠軍 Kasparov

Deep Blue 深藍:首次戰勝人類的 AI

1985 年,IBM 的西洋棋 AI —— Deep Blue 打敗了人類冠軍,成為世界上第一個戰勝人類的 AI。

Deep Blue 的演算法包含 2 種:暴力法 (Brute Force)、啟發式演算法 (Heuristic Algorithm)。暴力法就是用機器的速度優勢,把所有可能的棋路都試一遍。啟發式演算法就是經驗法則,例如要以棋換棋的時候,大多數時候拿我方小兵換對方皇后是合理的。Deep Blue 主要是依賴暴力法,至於計算量不夠跑完的部分則會用啟發式演算法來補上。

這裡 Deep Blue 被稱為 AI 是無庸置疑的,因為他能夠自動化解決西洋棋的問題。但是他卻不能被稱為機器學習,也不能稱為深度學習(雖然他的名字有個 deep)。原因很簡單:Deep Blue 沒有在「學習」。

問題來了,機器怎麼學習?

機器學習?機器怎麼學習?

機器學習這一名詞最早在 1959 年被提出,比 AI 晚了 3年,是 AI 裡面的其中一塊領域。機器學習是 AI 的其中一種方法。機器學習程式一定是 AI,但 AI 不一定是機器學習。

機器學習有一個特性:需要數據。簡單來說,如果是需要數據才能完成的 AI,就可以被稱為是機器學習;反過來,不需要數據就能完成的 AI 就不屬於機器學習,例如 Deep Blue。

機器學習有很多應用場景,例如:天氣預報、股價預測、推薦系統。在之前的文章中,我曾經介紹過推薦系統怎麼推薦對的產品給對的使用者。這些方法都需要用到歷史數據,沒有數據的話就不能成立。

機器學習中,「學習」這個詞可說是精準掌握了數據的重要性。回想你一生的所有學習過程,都是仰賴經驗——經過摔倒才能學會走路、需要看過才能認識三角形、需要扔過幾次球才能學會投籃。對機器而言,數據就是經驗,而機器學習就是機器透過數據來學習的一個過程。

垃圾郵件過濾:機器學習的應用案例

1996 年,第一個垃圾郵件過濾系統誕生。這個郵件過濾是基於貝氏分類器 (Bayes Classifier) 實作的。

在郵件過濾的例子上來說明貝氏分類器的原理很簡單:在垃圾郵件與正常郵件中間畫一條分割線,看新來的郵件落在線的哪邊?靠近垃圾郵件的那邊就是垃圾郵件,反之就是正常郵件。

舉個例子,如果我們整理一下郵箱裡面的所有把歷史,把郵件中出現單字「傳給/轉給/分享」的次數設為 X 軸,出現「朋友/財/運」的次數設為 Y 軸。再把垃圾/正常郵件分別用黑點/白點表示,我們可能會得到以下的圖:

圖中的分割線就是貝氏分類器的分割線。只要統計新郵件裡面出現的單詞次數,就可以知道這個郵件是否是垃圾郵件。試著數數下面這個貼文中「傳給/轉給/分享」、「朋友/財/運」的次數,看看會落在上面座標圖的哪邊?

垃圾郵件的案例。圖片來源:https://today.line.me/tw/v2/article/axOW8W

深度學習?到底是哪裡深?

現在我們已經知道 AI 與機器學習之間有什麼差別了,最後的問題就是深度學習了。在探討深度學習之前,我們先來看幾個深度學習的案例。

來源:https://becominghuman.ai/alphagos-mastery-continues-3cd01493f539?gi=ad2792ecca14

AlphaGo 攻克圍棋:深度學習的標竿性勝利

2016 年 3 月,Google 基於深度學習的圍棋 AI —— AlphaGo 擊敗了人類世界冠軍,為深度學習做了一次響亮的宣傳。這與 Deep Blue 攻克西洋棋是完全不同的象徵意義,因為西洋棋與圍棋的難度差距遠大於天壤之別。

前面說明過 Deep Blue 的原理,其之所以能戰勝西洋棋冠軍靠的是超越人類的電腦計算能力;但這種做法在圍棋就不適用了。西洋棋的棋盤大小是 8x8,圍棋的棋盤大小是 81x81,光是棋盤就大了 100 倍。據說圍棋的棋步組合比宇宙中的原子數量還要多,不是暴力法可以解決的範疇。

根據 AlphaGo 的 Nature 論文《Mastering the game of Go with deep neural networks and tree search》,AlphaGo 的核心算法就是深度學習。AlphaGo 利用大量的棋譜學習基本的圍棋策略,然後再讓 2 個 AlphaGo 彼此對戰,對戰的結果可以再變成數據回頭訓練 AlphaGo。

經過上面的說明,我們知道 AlphaGo 是深度學習的 AI。並且它其中使用到了「數據」,所以也是屬於機器學習的其中一種。所以我們可以推測,深度學習是一種「屌到爆」的機器學習演算法,也是一種 AI。

那麼,深度學習到底是什麼?

Yann LeCun 在 1993 年的 Demo。圖片來源:Youtube

手寫數字辨識:揭開深度學習的面紗

早在 1989 年,Yann LeCun 的深度學習演算法 LeNet 在手寫數字資料集 MNIST 上就取得了很好的成果。這是深度學習最簡單的一個實作之一,但是它仍然不像前面的垃圾郵件過濾一樣這麼簡單易懂。

LeNet 是一種卷積神經網路 (Convolutional Neural Network),是神經網路 (Neural Network) 的其中一種。說起神經網路,大家應該會想起類似下面這張圖,知道他是一種酷似生物神經系統的演算法,但具體是什麼仍一無所知。

來源:Neural Networks (Computational Intelligence)

但是,在圖片辨識的例子裡面,神經網路能夠被更好地理解。下面是 Youtube 的一個神經網路辨識手寫數字的 3D 模擬動畫,你可以看到原始的數字是怎麼從像素,一層一層地傳遞到網路的後段,變成最後的預測標籤。

Neural Network 3D Simulation

從上面的 3D 模擬動畫中,展示了不同深度學習演算法的運算過程;而且,每一種演算法都是由一層層的結構堆疊起來的。這個朝深度堆疊的演算法結構,正是深度學習被稱為「深度」學習的緣由。

所以深度學習是什麼?

維基百科對深度學習的定義如下:

Deep learning is a class of machine learning algorithms that uses multiple layers to progressively extract higher-level features from the raw input.

在上面的 3D 動畫中,看到了 Raw Input(圖片)、Multiple Layers(分層架構),也解釋過了 Machine Learning。我猜大家現在對維基百科的這段定義應該能有一個比較深刻的理解。

早在 1986 年,深度學習這個名詞就已經誕生,但一直沒有受到關注。深度學習是一種用多層結構來提取特徵的機器學習方法;而「多層結構」指的就是多層的神經網路,也是深度學習的「深度」所在。

在早期,這些神經網路基於電腦設計與數值工程的關係,沒有辦法訓練堆疊多層的神經網路,因此限制了深度學習的發展。近代由於 Yunn LeCun 等人的突破性成果,使得堆疊多層神經網路變得可能,也讓深度學習變成了機器學習的最前沿領域。

深度學習也創造了很多成功的商業化案例,也催生了各種獨角獸公司。現在多數人認為,最終能實現「像人一樣思考的 AI」——也就是通用人工智慧——的方法必定是深度學習。

最後總結一下:

人工智慧 Artificial Intelligence

包含了機器學習與深度學習,最終目的是創造能夠像人一樣思考的程式;但廣義的來說,能夠解決人類任務的電腦程式都可以算是人工智慧。

機器學習 Machine Learning

屬於人工智慧的其中一個領域,需要借助數據的輸入來學習如何完成任務。不需要數據就能完成任務的 AI 就不能稱為是機器學習。

深度學習 Deep Learning

屬於人工智慧,同時也是機器學習的其中一個子領域。深度學習是目前效果最好的機器學習方法,目前市面上的尖端 AI 產品大多是基於深度學習的產物,也被認為是最可能實現通用人工智慧的方法。

再回來看一下這張圖,是不是更清楚了呢?

--

--

Rice Yang
Rice Yang

Written by Rice Yang

A Tech Manager in AI. Experienced in NVIDIA, Alibaba, Pony.ai. Familiar with Deep Learning, Computer Vision, Software Engineering, Autonomous Driving

No responses yet