【深度學習之美01】什麼是(機器/深度)學習?
來自專欄深度學習之美17 人贊了文章
1.1 什麼是學習?
說到「深度學習」,追根溯源,我們需要先知道什麼是「學習」。
著名學者赫伯特·西蒙教授(Herbert Simon,1975年圖靈獎獲得者、1978年諾貝爾經濟學獎獲得者)曾對「學習」下過一個定義:「如果一個系統,能夠通過執行某個過程,就此改進了它的性能,那麼這個過程就是學習」。
大師果然名不虛傳,永遠都是那麼言簡意賅,一針見血。從西蒙教授的觀點可以看出,學習的核心目的就是改善性能。
其實對於人而言,這個定義也是適用的。比如,我們現在正在學習深度學習的知識,其本質目的就是為了提升自己在機器學習上的認知水平。如果我們僅僅是低層次的重複性學習,而沒有達到認知升級的目的,那麼即使表面看起來非常勤奮,其實也僅僅是一個「偽學習者」,因為我們沒有改善性能。
按照這個解釋,那句著名的口號「好好學習,天天向上」,就會煥發新的含義:如果沒有性能上的「向上」,即使非常辛苦地「好好」,即使長時間地「天天」,都無法算作「學習」。
1.2 什麼是機器學習?
遵循西蒙教授的觀點,對於計算機系統而言,通過運用數據及某種特定的方法(比如統計方法或推理方法)來提升機器系統的性能,就是機器學習(Machine Learning,簡稱ML)。
英雄所見略同。卡耐基梅隆大學的機器學習和人工智慧教授湯姆·米切爾(Tom Mitchell),在他的經典教材《機器學習》[1]中,也給出了更為具體(其實也很抽象)的定義:
對於某類任務(Task,簡稱T)和某項性能評價準則(Performance,簡稱P),如果一個計算機程序在T上,以P作為性能的度量,隨著經驗(Experience,簡稱E)的積累,不斷自我完善,那麼我們稱這個計算機程序從經驗E中進行了學習。
比如,學習圍棋的程序AlphaGo,它可以通過和自己下棋獲取經驗,那麼,它的任務T就是「參與圍棋對弈」,它的性能P就是用「贏得比賽的百分比」來度量的。類似的,學生的任務T就是「上課看書寫作業」,它的性能P就用「考試成績」來度量。
因此,Mitchell教授認為,對於一個學習問題,我們需要明確三個特徵:任務的類型、衡量任務性能提升的標準以及獲取經驗的來源。
事實上,看待問題的角度不同,機器學習的定義也略有不同。比如,支持向量機(SVM)的主要提出者弗拉基米爾·萬普尼克(Vladimir Vapnik),在其著作《統計學習理論的本質》[2]中就提出,
「機器學習就是一個基於經驗數據的函數估計問題」。
而在另一本由斯坦福大學統計系的特雷弗·哈斯蒂(Trevor Hastie)等人編寫的經典著作《統計學習基礎》[3]則認為,
機器學習就是「抽取重要的模式和趨勢,理解數據的內涵表達,即從數據中學習(to extract important patterns and trends, and understand 「what the data says. We call this learning from data)」。
這三個有關機器學習的定義,各有側重,各有千秋。Mitchell的定義強調學習的效果;Vapnik的定義側重機器學習的可操作性;而Hastie等人的定義則突出了學習任務的分類。但其共同的特點在於,都強調了經驗和數據的重要性,都認可機器學習提供了從數據中提取知識的方法[4]。
當下,我們正處於大數據時代。眾所周知,大數據時代的一個顯著特徵就是,「數據泛濫成災,信息超量過載,然而知識依然匱乏不堪」。因此,能自動從大數據中獲取知識的機器學習,必然會在大數據時代的舞台上扮演重要角色。
1.3 什麼是深度學習?
經典機器學習,通常是用人類的先驗知識,把原始數據預處理成各種特徵(Feature),然後對特徵進行分類。然而,這種分類的效果,高度取決於特徵選取的好壞。傳統的機器學習專家們,把大部分時間都花在如何尋找更加合適的特徵上。因此,早期的機器學習專家非常辛苦。傳統的機器學習,其實可以有一個更合適的稱呼—特徵工程(Feature Engineering)。
後來,機器學習的專家們發現,可以讓神經網路自己學習如何抓取數據的特徵,這種學習方式的效果似乎更佳。於是興起了特徵表示學習(Feature Representation Learning)的風潮。這種學習方式,對數據的擬合也更加靈活好用。於是,人們終於從自尋特徵的痛苦生活中解脫了出來。
但這種解脫也需要付出代價,那就是機器自己學習出來的特徵,它們存在於機器空間,完全超越了人類理解的範疇,對人而言,這就是一個黑盒世界。為了讓神經網路的學習性能表現得更好,人們只能依據經驗,不斷嘗試性地進行大量重複的網路參數調整,同樣是苦不堪言。於是,人工智慧領域就有了這樣的調侃:
「有多少人工,就有多少智能」。
因此,你可以看到,在這個世界上,存在著一個「麻煩守恆定律」:
麻煩不會減少,只會轉移。
再後來,網路進一步加深,出現了多層次的「表示學習」,它把學習的性能提升到另一個高度。這種學習的層次多了,其實也就是套路深了。於是,人們就給它取了一個特別的名稱—Deep Learning(深度學習)。
簡單來說,深度學習就是一種包括多個隱含層(越多即為越深)的多層感知機。它通過組合低層特徵,形成更為抽象的高層表示,用以描述被識別對象的高級屬性類別或特徵。能自生成數據的中間表示(雖然這個表示並不能被人類理解),是深度學習區別於其他機器學習演算法的獨門絕技。
1.4 深度學習和機器學習的區別
以模式分類為例,在傳統的機器學習把特徵提取和分類處理為兩個獨立的步驟,整個學習流程,需要人為的劃分子問題。而以CNN為代表的深度學習,則為我們提供了另一種範式(paradigm),即「端到端(end-to-end)」學習方式,它把特徵提取和分類任務合二為一,完全交給深度學習模型,直接學習從原始輸入到期望輸出的映射。如圖所示。
這裡「end-to-end」(端到端)說的是,輸入的是原始數據(始端),然後輸出的直接就是最終目標(末端)。整個學習流程並不進行人為的子問題劃分,而是完全交給深度學習模型直接學習從原始輸入到期望輸出的映射。
【參考文獻】
[1] Tom Mitchell. 曾華軍等譯. 機器學習[M]. 北京: 機械工業出版社, 2002.
[2] Vladimir N. Vapnik. 張學工譯. 統計學習理論的本質[M]. 北京: 清華大學出版社, 2000.
[3] Hastie T, Tibshirani R, Friedman J. The Elements of Statistical Learning[M]. 北京: 世界圖書出版公司, 2015.
[4] 於劍. 機器學習:從公理到演算法[M]. 北京: 清華大學出版社, 2017.
本文節選自《深度學習之美:AI時代的數據處理與最佳實踐》(張玉宏著,電子工業出版社,2018年7月出版)
(連載待續)
推薦閱讀:
※No.176人工智慧:樂觀悲觀都是錯的 文字版
※是什麼讓我對人工智慧憂心忡忡?
※網易杭研易盾實習心得(2)
※如何寫一手漂亮的模型:面向對象編程的設計原則綜述
※李彥宏數博會演講:AI人工智慧的使命是讓人類生活變得更美好
TAG:機器學習 | 深度學習DeepLearning | 人工智慧 |