機(jī)器學(xué)習(xí)算法發(fā)展歷程詳解
在科學(xué)技術(shù)剛剛萌芽的時(shí)候,科學(xué)家Blaise Pascal和Von Leibniz就想到了有朝一日能夠?qū)崿F(xiàn)人工智能。即讓機(jī)器擁有像人一樣的智能。
機(jī)器學(xué)習(xí)是AI中一條重要的發(fā)展線,在工業(yè)界和學(xué)術(shù)界都異常火爆。企業(yè)、大學(xué)都在投入大量的資源來做機(jī)器學(xué)習(xí)方面的研究。最近,機(jī)器學(xué)習(xí)在很多任務(wù)上都有了重大的進(jìn)步,達(dá)到或者超越了人類的水平(例如,交通標(biāo)志的識別[1],ML達(dá)到了98.98%,已超越了人類)。圖1中展示了ML的一個(gè)粗略的時(shí)間線,標(biāo)記了很多里程碑。熟悉該圖,閱讀下文會覺得順暢很多。
圖 1 機(jī)器學(xué)習(xí)時(shí)間線
推動機(jī)器學(xué)習(xí)流行化的第一個(gè)舵手是Hebb,1949年他提出了神經(jīng)心理學(xué)學(xué)習(xí)范式——Hebbian學(xué)習(xí)理論。經(jīng)過簡單的擴(kuò)展,該理論就開始研究遞歸神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)之間的相關(guān)度,它記錄下網(wǎng)絡(luò)上的共性然后像記憶一樣工作,正式的表達(dá)是這樣:
假設(shè)反射活動的持久性或重復(fù)性可以誘導(dǎo)細(xì)胞發(fā)生變化,以適應(yīng)這種活動…當(dāng)神經(jīng)元細(xì)胞A距離神經(jīng)元細(xì)胞B足夠近時(shí),它就可以持續(xù)重復(fù)的激活B,那么這兩個(gè)細(xì)胞之一或者全部就會發(fā)生一些代謝過程或生長變化來提高效率[1]。
1952年,IBM的Arthur Samuel寫出了西洋棋程序,該程序可以通過棋盤狀態(tài)學(xué)習(xí)一個(gè)隱式的模型來為下一步給出較好的走法。Samuel和程序?qū)?zhàn)多局后,覺得這個(gè)程序經(jīng)過一定時(shí)間的學(xué)習(xí)后可以達(dá)到很高的水平。
用這個(gè)程序,Samual駁倒了機(jī)器不能像人類那樣可以學(xué)習(xí)顯式代碼之上的模式。他定義并解釋了一個(gè)新詞——機(jī)器學(xué)習(xí)。
機(jī)器學(xué)習(xí)是給計(jì)算機(jī)一種不用顯式編程就能獲得能力的領(lǐng)域。1957年,Rosenblatt的感知器算法是第二個(gè)有著神經(jīng)系統(tǒng)科學(xué)背景的機(jī)器學(xué)習(xí)模型,它與今天的ML模型已經(jīng)很像了。在當(dāng)時(shí),感知器的出現(xiàn)引起了不小的轟動,因?yàn)樗菻ebbian的想法更容易實(shí)現(xiàn)。Rosenblatt用下面的話向大家闡釋感知器算法:
感知器算法的作用是,在不用深入理解只對一些特定生物有機(jī)體有效的未知條件的前提下,說明了通用智能系統(tǒng)一些基礎(chǔ)特點(diǎn)[2]。
3年之后,Widrow [4] 因發(fā)明Delta學(xué)習(xí)規(guī)則而載入ML史冊,該規(guī)則馬上就很好的應(yīng)用到了感知器的訓(xùn)練中,對,沒錯(cuò),就是現(xiàn)在常見的最小二乘問題。感知器和Delta學(xué)習(xí)規(guī)則的聯(lián)姻著實(shí)構(gòu)造了一個(gè)極好的線性分類器。但是,根據(jù)后浪拍死前浪的歷史規(guī)律,感知器的熱度在1969被Minskey[3]一盆冷水潑滅了。他提出了著名的XOR問題,論證了感知器在類似XOR問題的線性不可分?jǐn)?shù)據(jù)的無力。對神經(jīng)網(wǎng)絡(luò)(NN)社區(qū)來說,形成了幾乎當(dāng)時(shí)看來幾乎不可逾越的鴻溝,史稱“明斯基之印”。然而無論如何,在10年的19世紀(jì)80年代,NN學(xué)者們還是打破了這個(gè)緊箍咒。
圖 2 XOR問題-線性不可分?jǐn)?shù)據(jù)示例
被封印后,ML的發(fā)展幾乎停滯,盡管BP的思想在70年代就被Linnainmaa [5] 以“自動微分的翻轉(zhuǎn)模式”被提出來,但直到1981年才被Werbos [6]應(yīng)用到多層感知器(MLP)中,直到現(xiàn)在仍是神經(jīng)網(wǎng)絡(luò)架構(gòu)的關(guān)鍵組成部分。多層感知器和BP算法的出現(xiàn),促成了第二次神經(jīng)網(wǎng)絡(luò)大發(fā)展,1985-1986年NN研究者們成功的實(shí)現(xiàn)了實(shí)用的BP算法來訓(xùn)練MLP。(Rumelhart, Hinton, Williams [7]- Hetch, Nielsen[8])
圖 3 來自Hetch和Nielsen
花開并蒂,各表一枝。另一個(gè)同樣很著名的ML算法在1986年被J. R. Quinlan[9]提出,即決策樹算法,具體來說是ID3算法。這是機(jī)器學(xué)習(xí)的另一條主流中一個(gè)燈塔式的成就。ID3以其簡單的規(guī)則和明確的推理,解決了很多現(xiàn)實(shí)世界的問題,實(shí)際上,它就是以一個(gè)實(shí)用軟件的姿態(tài)出現(xiàn)的,相對于黑箱子般的NN算法。
ID3之后,很多其他的算法或改進(jìn)如雨后春筍般的出現(xiàn),例如ID4,回歸樹,CART等等)。直到現(xiàn)在,決策樹仍然是ML界中的熱點(diǎn)。
圖 4 一個(gè)簡單的決策樹
接下來就是ML領(lǐng)域最重要的一個(gè)突破——支持向量機(jī)(SVM)。SVM由大師Vapnik and Cortes[10] 在1995年提出,它有很強(qiáng)的理論論證和實(shí)證結(jié)果。自此之后,ML社區(qū)就楚河漢界劃分為NN和SVM兩派。2000年左右,隨著核方法的提出,SVM大占上風(fēng),在很多領(lǐng)域上都超過了NN模型。除此之外,SVM還發(fā)展了一系列的針對NN模型的基礎(chǔ)理論,包括凸優(yōu)化、泛化間隔理論和核方法??梢哉f,在這個(gè)時(shí)段,SVM的發(fā)展無論是理論還是實(shí)踐都占盡天時(shí)地利,因而發(fā)展速度極快。
圖 5 From Vapnik and Cortes [10]