如何區分人工智能、機器學習與深度學習

  • 2020 年 2 月 14 日
  • 筆記

前言

在過去的幾年裡,人工智能(AI)一直是媒體大肆炒作的熱點話題。機器學習、深度學習和人工智能都出現在不計其數的文章新聞中。但是很多時候,大家對於這些概念並沒有一個很清晰的認識,容易把這些概念弄混。

那麼我們首先來回答下列問題:機器學習,深度學習以及人工智能之間的關係是怎樣的。

關係總覽

01

PART

我們先用一張圖來表示三者之間的關係:

其實它們三者的關係非常簡單,人工智能概念包含最為廣闊;機器學習為人工智能的一個大類的方法,其中深度學習是機器學習中目前最火也是表現能力最強的方法。

下面我們分別剖析三個概念。

02

PART

人工智能

人工智能誕生於20 世紀50 年代,當時計算機科學這一新興領域的少數先驅開始提出疑問:計算機是否能夠「思考」?我們今天仍在探索這一問題的答案。人工智能的簡潔定義如下:努力將通常由人類完成的智力任務自動化。因此,人工智能是一個綜合性的領域,不僅包括機器學習與深度學習,還包括更多不涉及學習的方法。例如,早期的國際象棋程序僅包含程序員精心編寫的硬編碼規則,並不屬於機器學習。在相當長的時間內,許多專家相信,只要程序員精心編寫足夠多的明確規則來處理知識,就可以實現與人類水平相當的人工智能。這一方法被稱為符號主義人工智能(symbolic AI),從20 世紀50 年代到80 年代末是人工智能的主流範式。在20 世紀80 年代的專家系統(expert system)熱潮中,這一方法的熱度達到了頂峰。

雖然符號主義人工智能適合用來解決定義明確的邏輯問題,比如下國際象棋,但它難以給出明確的規則來解決更加複雜、模糊的問題,比如圖像分類、語音識別和語言翻譯。於是出現了一種新的方法來替代符號主義人工智能,這就是機器學習(machine learning)。

機器學習

03

PART

在維多利亞時代的英格蘭,埃達• 洛夫萊斯伯爵夫人是查爾斯• 巴貝奇的好友兼合作者,後者發明了分析機(Analytical Engine),即第一台通用的機械式計算機。雖然分析機這一想法富有遠見,並且相當超前,但它在19 世紀三四十年代被設計出來時並沒有打算用作通用計算機,因為當時還沒有「通用計算」這一概念。它的用途僅僅是利用機械操作將數學分析領域的某些計算自動化,因此得名「分析機」。1843 年,埃達• 洛夫萊斯伯爵夫人對這項發明評論道:「分析機談不上能創造什麼東西。它只能完成我們命令它做的任何事情……它的職責是幫助我們去實現我們已知的事情。」

隨後,人工智能先驅阿蘭• 圖靈在其1950 年發表的具有里程碑意義的論文「計算機器和智能 中,引用了上述評論並將其稱為「洛夫萊斯伯爵夫人的異議」。圖靈在這篇論文中介紹了圖靈測試以及日後人工智能所包含的重要概念。在引述埃達• 洛夫萊斯伯爵夫人的同時,圖靈還思考了這樣一個問題:通用計算機是否能夠學習與創新?他得出的結論是「能」。

機器學習的概念就來自於圖靈的這個問題:對於計算機而言,除了「我們命令它做的任何事情」之外,它能否自我學習執行特定任務的方法?計算機能否讓我們大吃一驚?如果沒有程序員精心編寫的數據處理規則,計算機能否通過觀察數據自動學會這些規則?

圖靈的這個問題引出了一種新的編程範式。在經典的程序設計(即符號主義人工智能的範式)中,人們輸入的是規則(即程序)和需要根據這些規則進行處理的數據,系統輸出的是答案(見圖1-2)。利用機器學習,人們輸入的是數據和從這些數據中預期得到的答案,系統輸出的是規則。這些規則隨後可應用於新的數據,並使計算機自主生成答案。

機器學習系統是訓練出來的,而不是明確地用程序編寫出來的。將與某個任務相關的許多示例輸入機器學習系統,它會在這些示例中找到統計結構,從而最終找到規則將任務自動化。舉個例子,你想為度假照片添加標籤,並且希望將這項任務自動化,那麼你可以將許多人工打好標籤的照片輸入機器學習系統,系統將學會將照片與特定標籤聯繫在一起的統計規則。

雖然機器學習在20 世紀90 年代才開始蓬勃發展,但它迅速成為人工智能最受歡迎且最成功的分支領域。這一發展的驅動力來自於速度更快的硬件與更大的數據集。機器學習與數理統計密切相關,但二者在幾個重要方面有所不同。不同於統計學,機器學習經常用於處理複雜的大型數據集(比如包含數百萬張圖像的數據集,每張圖像又包含數萬個像素),用經典的統計分析(比如貝葉斯分析)來處理這種數據集是不切實際的。因此,機器學習(尤其是深度學習)呈現出相對較少的數學理論(可能太少了),並且是以工程為導向的。這是一門需要上手實踐的學科,想法更多地是靠實踐來證明,而不是靠理論推導。

04

PART

深度學習

深度學習是機器學習的一個分支領域:它是從數據中學習表示的一種新方法,強調從連續的層(layer)中進行學習,這些層對應于越來越有意義的表示。「深度學習」中的「深度」指的並不是利用這種方法所獲取的更深層次的理解,而是指一系列連續的表示層。數據模型中包含多少層,這被稱為模型的深度(depth)。這一領域的其他名稱包括分層表示學習(layered representations learning)和層級表示學習(hierarchical representations learning)。現代深度學習通常包含數十個甚至上百個連續的表示層,這些表示層全都是從訓練數據中自動學習的。與此相反,其他機器學習方法的重點往往是僅僅學習一兩層的數據表示,因此有時也被稱為淺層學習(shallow learning)。

在深度學習中,這些分層表示幾乎總是通過叫作神經網絡(neural network)的模型來學習得到的。神經網絡的結構是逐層堆疊。神經網絡這一術語來自於神經生物學,然而,雖然深度學習的一些核心概念是從人們對大腦的理解中汲取部分靈感而形成的,但深度學習模型不是大腦模型。沒有證據表明大腦的學習機制與現代深度學習模型所使用的相同。你可能會讀到一些流行科學的文章,宣稱深度學習的工作原理與大腦相似或者是根據大腦的工作原理進行建模的,但事實並非如此。對於這一領域的新人來說,如果認為深度學習與神經生物學存在任何關係,那將使人困惑,只會起到反作用。你無須那種「就像我們的頭腦一樣」的神秘包裝,最好也忘掉讀過的深度學習與生物學之間的假想聯繫。就我們的而言,深度學習是從數據中學習表示的一種數學框架。

深度學習算法學到的表示是什麼樣的?我們來看一個多層網絡(見圖1-5)如何對數字圖像進行變換,以便識別圖像中所包含的數字。

如圖1-6 所示,這個網絡將數字圖像轉換成與原始圖像差別越來越大的表示,而其中關於最終結果的信息卻越來越豐富。你可以將深度網絡看作多級信息蒸餾操作:信息穿過連續的過濾器,其純度越來越高(即對任務的幫助越來越大)。

這就是深度學習的技術定義:學習數據表示的多級方法。這個想法很簡單,但事實證明,非常簡單的機制如果具有足夠大的規模,將會產生魔法般的效果。

參考:《python深度學習》弗朗索瓦•肖萊(François Chollet)

·END·