【導讀】:全面介紹機器學習的發展史,從感知機、神經網路、決策樹、SVM、Adaboost到隨機森林、Deep Learning。
自科學技術和人工智慧最初發展開始,科學家Blaise Pascal和Von Leibniz就思考著如何製造一臺像人類一樣具有智力的機器。 著名作家朱爾斯·凡爾納,弗蘭克·鮑姆(綠野仙蹤),瑪麗·雪萊(科學怪人),喬治·盧卡斯(George Lucas)(星球大戰)夢想著具有人類行為的物種存在,甚至擁有在不同的環境中能戰勝人類的技能。
帕斯卡機器執行減法和求和- 1642
機器學習是人工智慧最重要發展分支之一,在科研領域和工業界都是非常熱門的課題。企業和學校投入大量的資源來做提升知識面。最近,該領域在許多不同任務上取得了非常可觀的結果,與人類的表現(交通標誌的識別,機器學習達到了98.98% – 已經超過了人類)相當。
在這裡,我想分享一下機器學習發展一個粗略的時間表,並且標記了一些里程碑,但並不完整。此外,在閱讀本文所有的論斷時,都請在前自行腦補一句:“據我所知”。
普遍推廣機器學習的第一人是Hebb,他在1949年提出了基於神經心理學習方法,被稱為Hebbian學習理論。通過簡單的解釋,研究遞迴神經網路(RNN)節點之間的相關性。它記錄網路上的共性,像記憶一樣工作。這個論點正式地表達是這樣:
我們假設反射活動(或“蹤跡”)的持續性或重複性會誘導細胞的持續性變化,增加其穩定性…當細胞A的軸突足夠接近細胞B時,就能反覆或持續刺激細胞B。此時,會在其中一個細胞或者兩者中發生一些生長過程或代謝變化,來增加A的效率[1]。
Arthur Samuel
在1952年,IBM的亞瑟·塞繆爾(Arthur Samuel)開發了一個西洋棋的程式。 該程式能夠通過棋子的位置學習一個隱式模型,為下一步棋提供比較好的走法。 塞繆爾與這個程式對局了很多次,並觀察到這個程式在經過一段時間的學習後可以發揮得更好。
塞繆爾用這個程式駁倒了機器無法超越書面程式碼,並像人類一樣學習模式的論斷。 他創造並定義了“機器學習”:
機器學習是一個能使計算機不用顯示程式設計就能獲得能力的研究領域。
F. Rosenblatt
1957年,Rosenblatt再次提出以神經科學為背景的第二個機器學習模型——感知器,它與今天的機器學習模型更像。當時,這是非常激動人心的發現,實際上它比Hebbian的想法更容易實現。 Rosenblatt用下面幾句話介紹了感知器模型:
感知器模型的設計是針對於一般智慧系統的一些基本特性,而不會糾纏於一些特定生物體通常情況下未知的特性。[2]
3 年後,Widrow [4]發明的Delta學習規則載入機器學習史冊,該規則很快被用作感知器訓練的實踐程式。它也被稱為最小二乘問題。這兩個想法的結合創造了一個很好的線性分類器。 然而,感知器模型的熱度在1969年被Minsky [3]所取代。他提出了著名的XOR問題,感知器無法對線性不可分割的資料進行分類。 這是Minsky對神經網路社群的反駁。 此後,神經網路的研究一直止步不前,到在80年代才有所突破。
面向不可線性分割資料的 XOR 問題
儘管早在1973年由Linnainmaa [5] 以“反向自動差異化模式”為名提出了BP思想,但是直到1981年,Werbos [6]才提出將神經網路特定反向傳播(BP)演算法應用到多層感知器(MLP)。BP仍然是當今神經網路架構的關鍵組成部分。有了這些新想法,神經網路的研究再次加速。1985年至1986年間,神經網路研究人員相繼提出了採用BP訓練多層感知器(MLP)的理念(Rumelhart,Hinton,Williams [7] – Hetch,Nielsen [8])
From Hetch and Nielsen [8]
另一個學派,在1986年,J.R.Quinlan [9]提出了另一個非常著名的ML演算法,我們稱之為決策樹,更具體地說是ID3演算法。這是機器學習另一個主流的閃光點。此外,ID3以軟體的形式釋出,能夠以簡單的規則及其明確的推論更好地應用到實際生活中,與黑匣子神經網路模型相反。
在ID3之後,社群探索了很多不同的可用方案和演算法改進(例如ID4,迴歸樹,CART …),而且仍然是機器學習中的活躍話題之一。
圖:一個簡單的決策樹
機器學習領域最重要突破之一是Vapnik和Cortes [10]在1995年提出的支援向量機(網路)(SVM),它具有非常強的理論論證和實證結果。SVM將機器學習社群分為NN(神經網路)和SVM兩個派別。 然而在2000年左右,SVM核心化版本提出之後,NN在這兩個派別之間的競爭並不容易(我無法找到關於該主題的第一篇文章)。SVM在很多之前用NN模型解決的問題上得出了最佳結果。 此外,與NN模型相比,SVM能夠充分利用凸優化,泛化邊際理論和核心化的所有深奧知識。 因此,它可以從不同學科中獲得巨大的推動力,促進理論和實踐的快速發展。
From Vapnik and Cortes [10]
NN模型受到的另一次重創是1 9 9 1年Hochreiter的論文[40]和2001年Hochreiter等人的論文[11],表明在使用BP演算法時,NN單位飽和後會發生梯度損失。簡單來說,訓練NN模型時由於單位飽和,在迭代超過一定數量後冗餘,因此NN非常傾向於在短時間的時期過度擬合。
不久之前,Freund和Schapire在1997年提出了另一個實體機器學習模型,該模型採用增強的弱分類器組合,稱為Adaboost。當時給這項工作的作者頒發了戈德爾獎。 Adaboost通過易於訓練的弱分類器進行訓練,給那些難的樣本更高的權重。這種模型是許多不同任務的基礎,如面部識別和檢測。它也是PAC(Probably Approximately Correct)理論的一種實現。通常,所謂的弱分類器被Adaboost選為簡單的判決樹(單個決策樹節點)。他們這樣介紹Adaboost;
我們研究的模型可以解釋為一個廣泛的,抽象的擴充套件的研究線上預測模型到一般決策理論的設定[11]
2001年,Breiman [2001]探索了另一個綜合模型,該模型集合了多個決策樹,其中每個決策樹的訓練集都是從例項集合中隨機選擇的,每個節點的特徵都是從特徵集合隨機選擇的。基於這些特性,該模型被稱為隨機森林(RF)。RF從理論上和實際上都證明不會產生過擬合。甚至AdaBoost在資料集中有過擬合和離群點時,隨機森林能有更好的魯棒性(有關RF的更多詳細資訊,請參閱我的舊帖子http://www.erogol.com/randomness-randomforests/)。隨機森林在許多不同的領域,如Kaggle比賽中也有很出色的表現。
隨機森林是樹預測因子的組合,每棵樹取決於獨立取樣的隨機向量,並且森林中的所有樹都具有相同的分佈。森林的泛化誤差a隨著森林中樹木數量增多而收斂[12]
隨著時間向今天靠近,神經網路(NN)的一個新時代——深度學習已經被商業化了。這個短語只是指具有許多廣泛連續層的NN模型。三層的NN模型崛起大致在2005年,由近期和現在的Hinton,LeCun,Bengio,Andrew Ng和諸多大師結合了許多不同的發現。下面我列舉了一些機器學習領域重要的概念(我猜,我將專門為深度學習寫一篇文章);
- GPU程式設計
- 卷積NN [18] [20] [40]
- 解卷積網路[21]
- 演算法優化
- 隨機梯度下降[19] [22]
- BFGS和L-BFGS [23]
- 共軛梯度下降[24]
- 反向傳播[40] [19]
- 整流器單元
- 稀疏性[15] [16]
- Dropout網 [26]
- Maxout網[25]
- 無監督的NN模型[14]
- 深度信念網[13]
- 堆疊式自動編碼器[16] [39]
- 去噪NN模型[17]
結合所有這些想法和未列出的想法,NN 模型能夠在物件識別、語音識別、NLP等不同的任務中擊敗之前的技術。但是應該注意的是,這並不意味著其他ML流派的結束。雖然深度學習的成功故事還在接二連三的上演,但是它在訓練成本和調整模型的外部引數方面還有很多爭議。此外,由於其簡單性,SVM的使用依然非常普遍。 (據說可能會引起很大爭議)
在結束之前,我需要再介紹一個比較前沿的 ML 趨勢。隨著WWW和社交媒體的發展,一個新的術語——大資料出現了,並大大影響了ML研究。由於大資料的資料規模都很大,許多強大的ML演算法在相當多的系統中(當然對大型技術公司來說不是這樣)是無用的。因此,研究人員提出了一套新的簡單模型——dubbed Bandit Algorithms,被稱為強盜演算法[27 – 38](通常都基於線上學習),使學習更容易,適應大規模問題。
我只是總結了機器學習的發展史。如果你發現錯誤,不足或沒有新增引用的地方,請不要猶豫,可以通過各種方式告訴我。