講真,你應該了解的機器學習40年發展史

來源:SigAI(SIGAICN,已經獲授權)

什麼是機器學習?

人工智慧的再次興起讓機器學習(Machine Learning)這個名詞進入了公眾的視野,它成為當前解決很多人工智慧問題的核心基石。

機器學習是什麼?

如果只用一句話解釋這個概念,最簡單直觀的答案是:機器學慣用計算機程序模擬人的學習能力,從實際例子中學習得到知識和經驗。

機器學習是人工智慧的一個分支,也是人工智慧的一種實現方法。它從樣本數據中學習得到知識和規律,然後用於實際的推斷和決策。它和普通程序的一個顯著區別是需要樣本數據,是一種數據驅動的方法。

人的絕大部分智能是通過後天訓練與學習得到的,而不是天生具有的。新生兒剛出生的時候沒有視覺和聽覺認知能力,在成長的過程中寶寶從外界環境不斷得到信息,對大腦形成刺激,從而建立起認知的能力。要給孩子建立「蘋果」、「香蕉」、「熊貓」這樣的抽象概念,我們需要給他/她看很多蘋果、香蕉的實例或者圖片,並反覆的告訴他/她這些水果的名字。

經過長期訓練之後,終於在孩子的大腦中形成了「蘋果」、「香蕉」這些抽象概念和知識,以後他/她就可以將這些概念運用於眼睛看到的世界。

機器學習採用了類似的思路。如果我們要讓人工智慧程序具有識別圖像的能力,首先要收集大量的樣本圖像,並標明這些圖像的類別(這稱為樣本標註,就像告訴孩子這是一個蘋果),是香蕉、蘋果,或者其他物體。然後送給演算法進行學習(這稱為訓練),訓練完成之後得到一個模型,這個模型是從這些樣本中總結歸納得到的知識。接下來,我們就可以用這個模型來對新的圖像進行識別了。這種做法代表了機器學習中一類典型的演算法,稱為有監督的學習。除此之外,還有無監督學習、半監督學習、強化學習等其他類型的演算法。

機器學習並不是人工智慧一開始就採用的方法。人工智慧的發展經歷了邏輯推理,知識工程,機器學習三個階段。

第一階段的重點是邏輯推理,例如數學定理的證明。這類方法採用符號邏輯來模擬人的智能。

第二階段的代表是專家系統,這類方法為各個領域的問題建立專家知識庫,利用這些知識來完成推理和決策。如果要讓人工智慧做疾病診斷,那就要把醫生的診斷知識建成一個庫,然後用這些知識對病人進行判斷。

把知識總結出來告訴計算機程序有時候非常困難,例如要告訴計算機怎麼識別圖像和聲音。假設我們要讓程序判斷下面的圖像是否為貓:

判斷圖像是否為貓的規則該怎麼描述?最笨的方法是暴力枚舉,即為每張可能的圖像對應一個結果(是貓,不是貓),根據這個對應規則進行判定。對於高度和寬度都為256像素的黑白圖像,如果每個像素值的值是0-255之間的整數,根據高中學習的排列組合中的乘法原理,所有可能的圖像數量為:

這是一個天文數字,以現在計算機的計算和存儲能力是無法實現的。事實上我們自己也無法精確的為判斷看到的一個物體是否為貓建立一個模型,這就是所謂的只可意會不可言傳,但這不妨礙我們能識別貓。

人工知識存在的另一個問題是不具有通用性,可擴展性差。對每個具體問題都要建立起規則和知識庫,實現成本非常高。還是以圖像識別為例,我們即使建立了怎樣判斷圖像是否為貓的規則,但這種規則不能判斷圖像是否為狗,因此我們需要為狗也建立一種規則。

授「人」以魚不如授「人」以漁

與其總結好知識告訴人工智慧,還不如讓人工智慧自己去學習知識。要識別貓的圖像,可以採集大量的圖像樣本,其中一類樣本圖像為貓,另外的不是貓。然後把這些標明了類別的圖像送入機器學習程序中進行訓練。訓練完成之後得到一個模型,之後就可以根據這個模型來判斷圖像是不是貓了。對聲音識別和其他很多問題也可以用這樣的方法。在這裡,判斷圖像是否為貓的模型是機器學習程序自己建立起來的,而不是人工設定的。顯然這種方法具有通用性,如果我們把訓練樣本換成狗的圖像,就可以識別狗了。

從圖靈獎看機器學習

ACM(美國計算機協會)圖靈獎是計算機領域的諾貝爾獎,是計算機科學與工業發展史的縮影。獲獎的領域都是計算機科學和工程的重點方向,如操作系統,CPU,網路,資料庫,編譯器等。截止2017年,人工智慧一共獲得了6次圖靈獎,是獲獎最多的領域之一,這6次分別是:

2010 Leslie Valiant(概率圖模型)

2010 Leslie Valiant(PAC理論)

1994 Edward Feigenbaum和Raj Reddy

1975 Allen Newell和Herbert A. Simon

1971 John McCarthy

1969 Marvin Minsky

最近兩次獲獎都是機器學習領域的成果,這也凸顯了機器學習當前在人工智慧領域的地位。

Judea Pearl, UCLA

概率知識表達與因果推理

Leslie Valiant

計算學習理論

雖然機器學習這一名詞以及其中某些零碎的方法可以追溯到1958年[1]甚至更早,但真正作為一門獨立的學科要從1980年算起,在這一年誕生了第一屆機器學習的學術會議和期刊。到目前為止,機器學習的發展經歷了3個階段:

1980年代是正式成形期,尚不具備影響力。

1990-2010年代是蓬勃發展期,誕生了眾多的理論和演算法,真正走向了實用。

2012年之後是深度學習時期,深度學習技術誕生並急速發展,較好的解決了現階段AI的一些重點問題,並帶來了產業界的快速發展。

* 上圖展示了過去近40年里機器學習領域誕生的主要演算法

(重點是有監督學習)

1980s:登上歷史舞台

1980年機器學習作為一支獨立的力量登上了歷史舞台。在這之後的10年里出現了一些重要的方法和理論,典型的代表是:

1984:分類與回歸樹(CART)[2]

1986:反向傳播演算法[3]

1989:卷積神經網路[4]

分類與回歸樹

分類與回歸樹由Breiman等人在1984年提出,是決策樹的一種經典實現,至今它還在很多領域裡被使用。決策樹是一種基於規則的方法,它由一系列嵌套的規則組成一棵樹,完成判斷和決策。和之前基於人工規則的方法不同,這裡的規則是通過訓練得到的,而不是人工總結出來的。

反向傳播演算法

人工神經網路是對動物神經系統的一種簡單模擬,屬於仿生方法。從數學的角度看,它是一個多層的複合函數。反向傳播演算法是神經網路訓練時使用的演算法,來自於微積分中複合函數求導的鏈式法則,至今深度學習中各種神經網路的訓練使用的還是這種方法。反向傳播演算法的出現使得多層神經網路真正成為一種可以實現、具有實用價值的演算法。在這一時期,神經網路的理論性研究也是熱門的問題,神經網路數學上的表達能力的分析和證明大多出現在1980年代末和1990年代初。

從理論上來說,加大神經網路的規模可以解決更複雜的模式識別等問題。但是網路層數的增加會導致梯度消失問題,另外神經網路還面臨著局部最優解的問題。訓練樣本的缺乏,計算能力的限制,都使得神經網路在接下來的20多年裡沒有太大的進展和出色的表現。

卷積神經網路

早在1989年,LeCun在貝爾實驗室就開始使用卷積神經網路識別手寫數字,這是當前深度學習中深度卷積神經網路的鼻祖;1998年,LeCun提出了用於字元識別的卷積神經網路LeNet5,並在手寫數字識別中取得了較好的結果。卷積神經網路借鑒了動物視覺神經系統的原理,它能夠逐層的對輸入圖像進行抽象和理解。

Yann LeCun

卷積網路之父

在這一時期,隱馬爾科夫模型(HMM)被成功的應用於語音識別,使得語音識別的方法由規則和模板匹配轉向機器學習這條路徑。

1990-2012:走向成熟和應用

在這20多年裡機器學習的理論和方法得到了完善和充實,可謂是百花齊放的年代。代表性的重要成果有:

1995:支持向量機(SVM)[5]

1997:AdaBoost演算法[7]

1997:循環神經網路(RNN)和LSTM[9]

2000:流形學習[8]

2001:隨機森林[6]

SVM

SVM基於最大化分類間隔的原則,通過核函數巧妙的將線性不可分問題轉化成線性可分問題,並且具有非常好的泛化性能。和神經網路相比,SVM有完善的數學理論作為支撐,訓練時求解的問題是凸優化問題,因此不會出現局部極值問題。

Vladimir Vapnik

SVM由Vapnik在1995年提出,在誕生之後的近20年里,它在很多模式識別問題上取得了當時最好的性能,直到被深度學習演算法打敗。

AdaBoost

AdaBoost和隨機森林同屬集成學習演算法,它們通過將多個弱學習器模型整合可以得到精度非常高的強學習器模型,且計算量非常小。AdaBoost演算法在機器視覺領域的目標檢測問題上取得了成功,典型的代表是人臉檢測問題。2001年,使用級聯AdaBoost分類器和Haar特徵的演算法[14]在人臉檢測問題上取得了巨大的進步,是有里程碑意義的成果。此後這一框架成為目標檢測的主流方法,直到後來被深度學習取代。

Yoav Freund

Robert Schapire

循環神經網路

循環神經網路作為標準前饋型神經網路的發展,具有記憶功能,在語音識別、自然語言處理等序列問題的建模上取得了成功,是當前很多深度學習演算法的基礎。

流形學習

流形學習作為一種非線性降維技術,直觀來看,它假設向量在高維空間中的分布具有一定的幾何形狀。在2000年出現之後的一段時間內名噪一時,呈現出一片繁榮的景象,但在實際應用方面缺乏成功的建樹。

隨機森林

隨機森林由Breiman在2001年提出,是多棵決策樹的集成,在訓練時通過對樣本進行隨機抽樣構造出新的數據集訓練每一棵決策樹。它實現簡單,可解釋性強,運算量小,在很多實際問題上取得了相當高的精度。時至今日,在很多數據挖掘和分析的比賽中,這類演算法還經常成為冠軍。

Leo Breiman

隨機森林由Breiman在2001年提出

在這一時期機器學習演算法真正走向了實際應用。典型的代表是車牌識別,印刷文字識別(OCR),手寫文字識別,人臉檢測技術(數碼相機中用於人臉對焦),搜索引擎中的自然語言處理技術和網頁排序,廣告點擊率預估(CTR),推薦系統,垃圾郵件過濾等。同時也誕生了一些專業的AI公司,如MobilEye,科大訊飛,文安科技,文通科技,IO Image等。

2012:深度學習時代

神經網路捲土重來?

在與SVM的競爭中,神經網路長時間內處於下風,直到2012年局面才被改變。SVM、AdaBoost等所謂的淺層模型並不能很好的解決圖像識別,語音識別等複雜的問題,在這些問題上存在嚴重的過擬合(過擬合的表現是在訓練樣本集上表現很好,在真正使用時表現很差。就像一個很機械的學生,考試時遇到自己學過的題目都會做,但對新的題目無法舉一反三)。為此我們需要更強大的演算法,歷史又一次選擇了神經網路。

由於演算法的改進以及大量訓練樣本的支持,加上計算能力的進步,訓練深層、複雜的神經網路成為可能,它們在圖像、語音識別等有挑戰性的問題上顯示出明顯的優勢。

Deep Thinkers on Deep Learning

Russ SalakhutdinovHead of AI at Apple

Rich SuttonAuthor of Reinforcement Learning

Geoff HintonUniv. of Toronto, Google, DL patron saint

Yoshua BengioUniv. of Montreal and head of MILA

深度學習的起源可以追溯到2006年的一篇文章[10],Hinton等人提出了一種訓練深層神經網路的方法,用受限玻爾茲曼機訓練多層神經網路的每一層,得到初始權重,然後繼續訓練整個神經網路。2012年Hinton小組發明的深度卷積神經網路AlexNet[11]首先在圖像分類問題上取代成功,隨後被用於機器視覺的各種問題上,包括通用目標檢測,人臉檢測,行人檢測,人臉識別,圖像分割,圖像邊緣檢測等。在這些問題上,卷積神經網路取得了當前最好的性能。

在另一類稱為時間序列分析的問題上,循環神經網路取得了成功。典型的代表是語音識別,自然語言處理,使用深度循環神經網路之後,語音識別的準確率顯著提升,直至達到實際應用的要求。

Juergen Schmidhuber

LSTM之父

歷史選擇了深度神經網路作為解決圖像、聲音識別、圍棋等複雜AI問題的方法並非偶然,神經網路在理論上有萬能逼近定理(universal approximation)[15]的保證:

只要神經元的數量足夠,激活函數滿足某些數學性質,至少包含一個隱含層的前饋型神經網路可以逼近閉區間上任意連續函數到任意指定精度。即用神經網路可以模擬出任意複雜的函數。我們要識別的圖像、語音數據可以看做是一個向量或者矩陣,識別演算法則是這些數據到類別值的一個映射函數。

下面來看深度學習在各個典型領域的進展。人臉檢測演算法在使用深度卷積神經之後進展迅猛,下面是FDDB數據集上各種演算法的ROC曲線(這條曲線越高,演算法越準確):

*各種人臉檢測演算法在FDDB上的精度

(來自FDDB官網)

當前最好的結果都是由深度學習演算法取得。類似的是人臉識別問題,在LFW數據集上,深度學習演算法也獨領風騷:

* 各種人臉識別演算法在LFW資料庫上的精度

(來自LFW官網)

通用目標檢測和分割是機器視覺領域非常有挑戰性的任務,它要找出圖像中各種不同類型的目標(如人,汽車,飛機等),確定它們的大小和位置以及輪廓。由於視角的變化,物體形狀和外觀的不同,光照的影響,遮擋等因素的存在,這類問題在長時間內沒有大的進展。使用深度神經網路的演算法在這一問題上也取得了歷史性的突破。下表是VOC2012數據集上各種演算法的準確率:

Object Detection (TRAIN ON ADDITIONAL DATA)

Object Segmentation(TRAIN ON ADDITIONAL DATA)

在語音識別、自然語言處理等領域,深度學習演算法同樣取得了可喜的結果。在這些領域的成功,直接推動了語音識別、機器翻譯等技術走向實際應用。

在策略、控制類問題上,深度強化學習技術取得了成功,典型的代表是AlphaGo[13]。在各種遊戲、自動駕駛等問題上,深度強化學習顯示出了接近人類甚至比人類更強大的能力。

以生成對抗網路(GAN)[12]為代表的深度生成框架在數據生成方面取得了驚人的效果,可以創造出逼真的圖像,流暢的文章,動聽的音樂。為解決數據生成這種「創作」類問題開闢了一條新思路。

這一時期AI的產業化明顯加速,誕生了大量的創業公司,典型的代表有:

DeepMindOpenAI今日頭條

曠世科技商湯科技依圖科技雲從科技

格林深瞳寒武紀地平線Yi+人工智慧

第四範式出門問問深鑒科技圖靈機器人

......

人工智慧已經成為當前計算機科學領域最炙手可熱的方向,在這一點上深度學習功不可沒。而從正式誕生到真正大規模應用,機器學習已經走完了近40年的路。但人工智慧要走的路還很長,在無監督學習等方向沒有大的進展,深度學習還遠不是終結者。正是一代又一代學術界和工業界的探索者不懈的努力,才使得人工智慧發展到今天的地步,在此文的結尾我們向這些先驅者致敬!

參考文獻

[1] Supposedly paraphrased from: Samuel, Arthur (1959). "Some Studies in Machine Learning Using the Game of Checkers". IBM Journal of Research and Development.

[2] Breiman, L., Friedman, J. Olshen, R. and Stone C. Classification and Regression Trees, Wadsworth, 1984.

[3] David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams. Learning internal representations by back-propagating errors. Nature, 323(99): 533-536, 1986.

[4] LeCun, B.Boser, J.S.Denker, D.Henderson, R.E.Howard, W.Hubbard, and L.D.Jackel. Backpropagation applied to handwritten zip code recognition. Neural Computation, 1989.

[5] Cortes, C. and Vapnik, V. Support vector networks. Machine Learning, 20, 273-297, 1995.

[6] Breiman, Leo (2001). Random Forests. Machine Learning 45 (1), 5-32.

[7] Freund, Y. Boosting a weak learning algorithm by majority. Information and Computation, 1995.

[8] Roweis, Sam T and Saul, Lawrence K. Nonlinear dimensionality reduction by locally linear embedding. Science, 290(5500). 2000: 2323-2326.

[9] S. Hochreiter, J. Schmidhuber. Long short-term memory. Neural computation, 9(8): 1735-1780, 1997.

[10] G.E.Hinton, et al. Reducing the Dimensionality of Data with Neural Networks, Science 313, 504(2006)

[11] Alex Krizhevsky, Ilya Sutskever, Geoffrey E.Hinton. ImageNet Classification with Deep Convolutional Neural Networks.

[12] Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Advances in Neural Information Processing Systems, 2014: 2672-2680.

[13] David Silver, et al. Mastering the Game of Go with Deep Neural Networks and Tree Search. Nature, 2016.

[14] P.Viola and M.Jones. Rapid object detection using a boosted cascade of simple features. In Proceedings IEEE Conf. on Computer Vision and Pattern Recognition, 2001.

[15] Hornik, K., Stinchcombe, M., and White, H. Multilayer feedforward networks are universal approximators. Neural Networks, 2, 359-366, 1989.


推薦閱讀:

全國繪畫各大流派發展史 吳門畫派 明代中期
如何看懂命理學的發展史
香港佛教發展史
第466期:西方批判創新思維發展史
古代茶具的發展史

TAG:學習 | 機器學習 | 發展 | 了解 | 機器 | 發展史 |