【深度學習之美】一入侯門“深”似海,深度學習深幾許(入門系列之一)

【導言】目前人工智能非常火爆,而深度學習則是引領這一火爆現場的“火箭”。於是,有關“深度學習”的論文、書籍和網絡博客汗牛充棟,但大多數這類文章都具備“高不成低不就”的特徵。對於高手來說,自然是沒有問題,他們本身已經具備非常“深度”的學習能力,如果他們想學習有關深度學習的技術,直接找來最新的研究論文閱讀就好了。但是,對於低手(初學者)而言,就沒有那麼容易了,因爲他們基礎相對薄弱,通常看不太懂。

於是,我們推出深度學習的入門系列。在這個系列文章中,我們力圖用最爲通俗易懂、圖文並茂的方式,帶你入門深度學習。我們都知道,高手從來都是自學出來的。所以,這個深度學習的入門系列,能帶給你的是“從入門到精通”,還是“從入門到放棄”,一切都取決你個人的認知。成就你自己的,永遠都是你自己,是吧?

好了,言歸正傳,下面開始我們的正題。

 

1.1 什麼是學習?

說到深度學習,我們首先需要知道,什麼是學習。

著名學者赫伯特·西蒙教授(Herbert Simon1975年圖靈獎獲得者、1978年諾貝爾經濟學獎獲得者)曾對“學習”給了一個定義:“如果一個系統,能夠通過執行某個過程,就此改進了它的性能,那麼這個過程就是學習”。

大牛就是大牛,永遠都是那麼言簡意賅,一針見血。從西蒙教授的觀點可以看出,學習的核心目的,就是改善性能

其實對於人而言,這個定義也是適用的。比如,我們現在正在學習“深度學習”的知識,其本質目的就是爲了“提升”自己在機器學習上的認知水平。如果我們僅僅是低層次的重複性學習,而沒有達到認知升級的目的,那麼即使表面看起來非常勤奮,其實我們也僅僅是個“僞學習者”, 因爲我們沒有改善性能。

1.2 什麼是機器學習?

遵循西蒙教授的觀點,對於計算機系統而言,通過運用數據及某種特定的方法(比如統計的方法或推理的方法),來提升機器系統的性能,就是機器學習。

英雄所見略同。卡內基梅隆大學的Tom Mitchell教授,在他的名作《機器學習》一書中,也給出了更爲具體(其實也很抽象)的定義[1]

對於某類任務(Task,簡稱T)和某項性能評價準則(Performance,簡稱P),如果一個計算機程序在T上,以P作爲性能的度量,隨着很多經驗(Experience,簡稱E)不斷自我完善,那麼我們稱這個計算機程序在從經驗E中學習了。

比如說,對於學習圍棋的程序AlphaGo,它可以通過和自己下棋獲取經驗,那麼它的任務T就是“參與圍棋對弈”;它的性能P就是用“贏得比賽的百分比”來度量。“類似地,學生的任務T就是“上課看書寫作業”;它的性能P就是用“期末成績”來度量

因此,Mitchell教授認爲,對於一個學習問題,我們需要明確三個特徵:任務的類型,衡量任務性能提升的標準以及獲取經驗的來源。

1.3 學習的4個象限

在前面的文章中[2],我們已提到,一般說來,人類的知識在兩個維度上可分成四類(見圖1)。即從可統計與否上來看,可分爲:是可統計的和不可統計的。從能否推理上看,可分爲可推理的和不可推理的。

1c24ea8f7a17bef7468f9716f3c37e38477f91a1

人類知識的4個象限

在橫向方向上,對於可推理的,我們都可以通過機器學習的方法,最終可以完成這個推理。傳統的機器學習方法,就是試圖找到可舉一反三的方法,向可推理但不可統計的象限進發(象限Ⅱ)。目前看來,這個象限的研究工作(即基於推理的機器學習)陷入了不溫不火的境地,能不能峯迴路轉,還有待時間的檢驗。

而在縱向上,對於可統計的、但不可推理的(即象限Ⅲ),可通過神經網絡這種特定的機器學習方法,以期望達到性能提升的目的。目前,基於深度學習的棋類博弈(阿爾法狗)、計算機視覺(貓狗識別)、自動駕駛等等,其實都是在這個象限做出了了不起的成就。

從圖1可知,深度學習屬於統計學習的範疇。用李航博士的話來說,統計機器學習的對象,其實就是數據[3]。這是因爲,對於計算機系統而言,所有的“經驗”都是以數據的形式存在的。作爲學習的對象,數據的類型是多樣的,可以是各種數字、文字、圖像、音頻、視頻,也可以是它們的各種組合。

統計機器學習,就是從數據出發,提取數據的特徵(由誰來提取,是個大是大非問題,下面將給予介紹),抽象出數據的模型,發現數據中的知識,最後又回到數據的分析與預測當中去。

1.4 機器學習的方法論

這裏稍早說明的一點的是,在深度學習中,經常有“end-to-end(端到端)”學習的提法,與之相對應的傳統機器學習是“Divide and Conquer(分而治之)”。這些都是什麼意思呢?

end-to-end”(端到端)說的是,輸入的是原始數據(始端),然後輸出的直接就是最終目標(末端),中間過程不可知,因此也難以知。比如說,基於深度學習的圖像識別系統,輸入端是圖片的像素數據,而輸出端直接就是或貓或狗的判定。這個端到端就是:像素-->判定。

再比如說,“end-to-end”的自動駕駛系統[4],輸入的是前置攝像頭的視頻信號(其實也就是像素),而輸出的直接就是控制車輛行駛指令(方向盤的旋轉角度)。這個端到端就是:像素-->指令。

就此,有人批評深度學習就是一個黑箱(Black Box)系統,其性能很好,卻不知道爲何而好,也就是說,缺乏解釋性。其實,這是由於深度學習所處的知識象限決定的。從圖1可以看出,深度學習,在本質上,屬於可統計不可推理的範疇。“可統計”是很容易理解的,就是說,對於同類數據,它具有一定的統計規律,這是一切統計學習的基本假設。那“不可推理”又是什麼概念?其實就是“剪不斷、理還亂”的非線性狀態了。

0de0e7e0d6afb38ea0e16cf64a434734cb35b81d

2  1個人+個人1=

在哲學上講,這種非線性狀態,是具備了整體性的“複雜系統”,屬於複雜性科學範疇。複雜性科學認爲,構成複雜系統的各個要素,自成體系,但阡陌縱橫,其內部結構難以分割。簡單來說,對於複雜系統,1+12,也就是說,一個簡單系統,加上另外一個簡單系統,其效果絕不是兩個系統的簡單累加效應,而可能是大於部分之和。因此,我們必須從整體上認識這樣的複雜系統。於是,在認知上,就有了從一個系統或狀態(end)直接整體變遷到另外一個系統或狀態(end)的形態。這就是深度學習背後的方法論。

與之對應的是“Divide and Conquer(分而治之)”,其理念正好相反,在哲學它屬於“還原主義(reductionism,或稱還原論)”。在這種方法論中,有一種“追本溯源”的蘊意包含其內,即一個系統(或理論)無論多複雜,都可以分解、分解、再分解,直到能夠還原到邏輯原點。

在意象上,還原主義就是“1+1=2”,也就是說,一個複雜的系統,都可以由簡單的系統簡單疊加而成(可以理解爲線性系統),如果各個簡單系統的問題解決了,那麼整體的問題也就得以解決。比如說,很多的經典力學問題,不論形式有多複雜,通過不斷的分解和還原,最後都可以通過牛頓的三大定律得以解決。

經典機器學習(位於第Ⅱ象限),在哲學上,在某種程度上,就可歸屬於還原主義。傳統的機器學習方式,通常是用人類的先驗知識,把原始數據預處理成各種特徵(feature),然後對特徵進行分類。

然而,這種分類的效果,高度取決於特徵選取的好壞。傳統的機器學習專家們,把大部分時間都花在如何尋找更加合適的特徵上。因此,早期的機器學習專家們非常苦逼,故此,傳統的機器學習,其實可以有個更合適的稱呼——特徵工程(feature engineering)。

但這種苦逼,也是有好處的。這是因爲,這些特徵是由人找出來的,自然也就爲人所能理解,性能好壞,機器學習專家們可以“冷暖自知”,靈活調整。

1.5 什麼是深度學習?

再後來,機器學習的專家們發現,可以讓神經網絡自己學習如何抓取數據的特徵,這種學習的方式,效果更佳。於是興起了特徵表示學習(feature representation learning)的風潮。這種學習方式,對數據的擬合也更加的靈活好用。於是,人們終於從自尋“特徵”的苦逼生活中解脫出來。

但這種解脫也付出了代價,那就是機器自己學習出來的特徵,它們存在於機器空間,完全超越了人類理解的範疇,對人而言,這就是一個黑盒世界。爲了讓神經網絡的學習性能,表現得更好一些,人們只能依據經驗,不斷地嘗試性地進行大量重複的網絡參數調整,同樣是“苦不堪言”。於是,“人工智能”領域就有這樣的調侃:“有多少人工,就有多少智能”。

因此,你可以看到,在這個世界上,存在着一個“麻煩守恆定律”:麻煩不會減少,只會轉移。

再後來,網絡進一步加深,出現了多層次的“表示學習”,它把學習的性能提升到另一個高度。這種學習的層次多了,其實也就是套路“深了”。於是,人們就給它取了個特別的名稱——Deep Learning(深度學習)。

深度學習的學習對象同樣是數據。與傳統機器學習所不同的是,它需要大量的數據,也就是“大數據(Big Data)”。

有一個觀點,在工業界一度很流行,那就是在大數據條件下,簡單的學習模型會比複雜模型更加有效。而簡單的模型,最後會趨向於無模型,也就是無理論。例如,早在2008年,美國 《連線》(Wired)雜誌主編克里斯﹒安德森(Chris Anderson)就曾發出“理論的終結(The End of Theory)”的驚人斷言[5]:“海量數據已經讓科學方法成爲過去時(The Data Deluge Makes the Scientific Method Obsolete)”。

但地平線機器人創始人(前百度深度學習研究院副院長)餘凱先生認爲[6],深度學習的驚人進展,是時候促使我們要重新思考這個觀點了。也就是說,他認爲“大數據+複雜模型”或許能更好地提升學習系統的性能。

1.6 “戀愛”中的深度學習

法國科技哲學家伯納德﹒斯蒂格勒(Bernard Stiegler)認爲,人們以自己的技術和各種物化的工具,作爲自己“額外”的器官,不斷的成就自己。按照這個觀點,其實,在很多場景下,計算機都是人類思維的一種物化形式。換句話說,計算機的思維(比如說各種電子算法),都能找到人類生活實踐的影子。

比如說,現在火熱的深度學習,與人們的戀愛過程也有相通之處。在知乎上,就有人(jacky yang)以戀愛爲例來說明深度學習的思想,倒也非常傳神。我們知道,男女戀愛大致可分爲三個階段:

第一階段初戀期,相當於深度學習的輸入層。妹子吸引你,肯定是有很多因素,比如說臉蛋、身高、身材、性格、學歷等等,這些都是輸入層的參數。對不同喜好的人,他們對輸出結果的期望是不同的,自然他們對這些參數設置的權重也是不一樣的。比如,有些人是奔着結婚去的,那麼他們對妹子的性格可能給予更高的權重。否則,臉蛋的權重可能會更高。

2e8a5a753cbeb510b41b85eee4459ab38e5d80e0

戀愛中的深度學習

第二階段熱戀期,對應於深度學習的隱藏層。在這個期間,戀愛雙方都要經歷各種歷練和磨合。清朝湖南湘潭人張燦寫了一首七絕:

書畫琴棋詩酒花,當年件件不離他。

而今七事都更變,柴米油鹽醬醋茶。

這首詩說的就是,在過日子的洗禮中,各種生活瑣事的變遷。戀愛是過日子的一部分,其實也是如此,也需要雙方不斷磨合。這種磨合中的權重取捨平衡,就相等於深度學習中隱藏層的參數調整,它們需要不斷地訓練和修正!戀愛雙方相處,磨合是非常重要的。要怎麼磨合呢?光說“520(我愛你)”,是廉價的。這就給我們程序猿(媛)提個醒,愛她(他),就要多陪陪她(他)。陪陪她(他),就增加了參數調整的機會。參數調整得好,輸出的結果才能是你想要的。

第三階段穩定期,自然相當於深度學習的輸出層。輸出結果是否合適,是否達到預期,高度取決於“隱藏層”的參數 “磨合”得怎麼樣。

1.7 小結

在本小節,我們回顧了“機器學習”的核心要素,那就是通過對數據運用,依據統計或推理的方法,讓計算機系統的性能得到提升。而深度學習,則是把由人工選取對象特徵,變更爲通過神經網絡自己選取特徵,爲了提升學習的性能,神經網絡的表示學習的層次較多(較深)。

以上僅僅給出機器學習和深度學習的概念性描述,在下一個小結中,我們將給出機器學習的形式化表示,傳統機器學習和深度學習的不同之處在哪裏,以及到底什麼是神經網絡等。

1.8 請你思考

1)在大數據時代,你是贊同科技編輯出生的克里斯﹒安德森的觀點呢(僅需簡單模型甚至無模型),還是更認可工業界大神餘凱先生的觀點呢(還是需要複雜模型)?爲什麼?

2)你認爲用“戀愛”的例子比擬“深度學習”貼切嗎?爲什麼?

3)爲什麼非要用“深度”學習,“淺度”不行嗎?

寫下你的體會,祝你每天都有進步!

參考文獻

[1] Tom Nitchell. 曾華軍等譯.機器學習.機械工業出版社.2002

[2] 張玉宏.雲棲社區AI不可怕,就怕AI會畫畫——這裏有一種你還不知道的‘圖’靈測試2017.4

[3] 李航.統計學習方法.清華大學出版社.2012.3

[4] Bojarski M, Testa D D, Dworakowski D, et al. End to End Learning for Self-Driving Cars[J]. 2016.

[5] Anderson C. The End of Theory: The Data Deluge Makes Scientific Method Obsolete[J]. 2008, 16.

[6] 餘凱賈磊陳雨強,深度學習的昨天、今天和明天[J]. 計算機研究與發展, 2013, 50(9).


文章作者:張玉宏(著有《品味大數據》、本文節選自深度學習之美》(最通俗易懂的深度學習入門)2018年7月出版)

發佈了41 篇原創文章 · 獲贊 57 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章