在科學(xué)技術(shù)剛剛萌芽的時(shí)候,科學(xué)家Blaise Pascal和Von Leibniz就想到了有朝一日能夠?qū)崿F(xiàn)人工智能。即讓機(jī)器擁有像人一樣的智能。 機(jī)器學(xué)習(xí)是AI中一條重要的發(fā)展線,在工業(yè)界和學(xué)術(shù)界都異?;鸨F髽I(yè)、大學(xué)都在投入大量的資源來做機(jī)器學(xué)習(xí)方面的研究。最近,機(jī)器學(xué)習(xí)在很多任務(wù)上都有了重大的進(jìn)步,達(dá)到或者超越了人類的水平(例如,交通標(biāo)志的識(shí)別[1],ML達(dá)到了98.98%,已超越了人類)。 圖1中展示了ML的一個(gè)粗略的時(shí)間線,標(biāo)記了很多里程碑。熟悉該圖,閱讀下文會(huì)覺得順暢很多。 機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺相關(guān)的數(shù)學(xué) 推動(dòng)機(jī)器學(xué)習(xí)流行化的第一個(gè)舵手是Hebb,1949年他提出了神經(jīng)心理學(xué)學(xué)習(xí)范式——Hebbian學(xué)習(xí)理論。經(jīng)過簡(jiǎn)單的擴(kuò)展,該理論就開始研究遞歸神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)之間的相關(guān)度,它記錄下網(wǎng)絡(luò)上的共性然后像記憶一樣工作,正式的表達(dá)是這樣: 假設(shè)反射活動(dòng)的持久性或重復(fù)性可以誘導(dǎo)細(xì)胞發(fā)生變化,以適應(yīng)這種活動(dòng)…當(dāng)神經(jīng)元細(xì)胞A距離神經(jīng)元細(xì)胞B足夠近時(shí),它就可以持續(xù)重復(fù)的激活B,那么這兩個(gè)細(xì)胞之一或者全部就會(huì)發(fā)生一些代謝過程或生長(zhǎng)變化來提高效率[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)引起了不小的轟動(dòng),因?yàn)樗菻ebbian的想法更容易實(shí)現(xiàn)。Rosenblatt用下面的話向大家闡釋感知器算法: 感知器算法的作用是,在不用深入理解只對(duì)一些特定生物有機(jī)體有效的未知條件的前提下,說明了通用智能系統(tǒng)一些基礎(chǔ)特點(diǎn)[2]。 3年之后,Widrow [4] 因發(fā)明Delta學(xué)習(xí)規(guī)則而載入ML史冊(cè),該規(guī)則馬上就很好的應(yīng)用到了感知器的訓(xùn)練中,對(duì),沒錯(cuò),就是現(xiàn)在常見的最小二乘問題。感知器和Delta學(xué)習(xí)規(guī)則的聯(lián)姻著實(shí)構(gòu)造了一個(gè)極好的線性分類器。但是,根據(jù)后浪拍死前浪的歷史規(guī)律,感知器的熱度在1969被Minskey[3]一盆冷水潑滅了。他提出了著名的XOR問題,論證了感知器在類似XOR問題的線性不可分?jǐn)?shù)據(jù)的無力。對(duì)神經(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] 以“自動(dòng)微分的翻轉(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以其簡(jiǎn)單的規(guī)則和明確的推理,解決了很多現(xiàn)實(shí)世界的問題,實(shí)際上,它就是以一個(gè)實(shí)用軟件的姿態(tài)出現(xiàn)的,相對(duì)于黑箱子般的NN算法。 ID3之后,很多其他的算法或改進(jìn)如雨后春筍般的出現(xiàn),例如ID4,回歸樹,CART等等)。直到現(xiàn)在,決策樹仍然是ML界中的熱點(diǎn)。 圖 4 一個(gè)簡(jiǎn)單的決策樹 接下來就是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ā)展了一系列的針對(duì)NN模型的基礎(chǔ)理論,包括凸優(yōu)化、泛化間隔理論和核方法??梢哉f,在這個(gè)時(shí)段,SVM的發(fā)展無論是理論還是實(shí)踐都占盡天時(shí)地利,因而發(fā)展速度極快。 圖 5 From Vapnik and Cortes [10] 不僅在外部遭到了巨大的挑戰(zhàn),NN內(nèi)部也發(fā)生了問題。1991年的Hochreiter[40]和2001年的Hochreiter[11]的工作,都表明在使用BP算法時(shí),NN單元飽和之后會(huì)發(fā)生梯度損失。簡(jiǎn)單來說,訓(xùn)練NN模型時(shí),超過一定的迭代次數(shù)后,再迭代NN模型就很容易過擬合。 再往前一點(diǎn)點(diǎn),另一個(gè)堅(jiān)實(shí)的ML模型AdaBoost在1997被Freund和Schapire提出,該算法最大的特點(diǎn)在于組合弱分類器形成強(qiáng)分類器。這個(gè)成果為它的作者贏得了Godel獎(jiǎng)。Adaboost通過給那些難的樣例更高的權(quán)重來對(duì)那些容易訓(xùn)練的分類器進(jìn)行訓(xùn)練。該模型在臉部識(shí)別和檢測(cè)方面應(yīng)用的很廣。它還是PAC(概率近似正確理論)的一種實(shí)現(xiàn)。通常來說,所謂的弱分類器都被Adaboost用來當(dāng)樹樁——即單個(gè)的決策樹節(jié)點(diǎn)。他們這樣來描述Adaboost: 作為一個(gè)良好的在線預(yù)測(cè)模型的抽象擴(kuò)展,Adaboost可以被解釋為一個(gè)通用的決策理論設(shè)置…[11] 另外一個(gè)可以將多個(gè)決策樹組合起來的模型在2001年被Breiman[12]提出。該模型被稱為隨機(jī)森林(RF),因?yàn)樗拿總€(gè)組成節(jié)點(diǎn)都是隨機(jī)的選擇一組示例和一組特征。RF也擁有理論上和實(shí)驗(yàn)上的抗過擬合的證據(jù)。甚至有些數(shù)據(jù)Adaboost都不能很好的克服過擬合和離群點(diǎn)的時(shí)候,RF都能有很好的魯棒性。RF在很多其他不同領(lǐng)域比如Kaggle比賽上都有很成功的表現(xiàn)。 隨機(jī)森林是一個(gè)樹預(yù)測(cè)器的組合體,每棵樹都取決于一個(gè)獨(dú)立同分布的隨機(jī)向量。因而整個(gè)森林的泛化誤差隨著森林?jǐn)?shù)目的增多而收斂[12]。 時(shí)間終于走到了當(dāng)下,一個(gè)新的NN領(lǐng)域——深度學(xué)習(xí)出現(xiàn)了。在這個(gè)階段,NN模型可以擁有多層。3層的NN模型在2005年被Hinton,LeCun, Bengio, Andrew Ng等諸多大師一一實(shí)現(xiàn)。下面列舉了一些深度學(xué)習(xí)上的重要概念: GPU programming Convolutional NNs [18][20][40] Deconvolutional Networks [21] Optimization algorithms Stochastic Gradient Descent [19][22] BFGS and L-BFGS [23] Conjugate Gradient Descent [24] Backpropagation [40][19] Rectifier Units Sparsity [15][16] Dropout Nets [26] Maxout Nets [25] Unsupervised NN models [14] Deep Belief Networks [13] Stacked Auto-Encoders [16][39] Denoising NN models [17]將上面列舉的這些技術(shù)和想法綜合到一起,NN模型迎來了又一個(gè)春天,在物體識(shí)別、語音識(shí)別、自然語言處理等方面,均擊敗之前的最高水平的技術(shù)。但重要的事,這并不意味著其他ML流派的終結(jié),即使現(xiàn)在深度學(xué)習(xí)的成功故事還在一個(gè)接一個(gè)的上演,仍然有著參數(shù)眾多、訓(xùn)練花費(fèi)巨大的缺陷。而且,SVM由于其簡(jiǎn)單性仍然被廣泛使用。 在結(jié)束之前,我們?cè)俳榻B一個(gè)相對(duì)年輕的ML趨勢(shì),隨著www和社會(huì)媒體的發(fā)展,大數(shù)據(jù)出現(xiàn)且影響了很多ML的研究。因?yàn)榇髷?shù)據(jù)中的問題數(shù)據(jù)量都極大,很多強(qiáng)大的ML算法在機(jī)器性能的限制下都變得有些無用(對(duì)大公司來說自然不是這樣)。因此,研究人員提出了一套簡(jiǎn)單模型——dubbed Bandit Algorithms[27-38],這些算法都是在線學(xué)習(xí)算法,都能適應(yīng)大規(guī)模問題。 這只是一個(gè)簡(jiǎn)單的ML歷史的介紹,若有問題,歡迎指出。 End. |
|