機器學習的前世今生:一部氣勢恢宏的人工智能發展史

本文轉載自:http://www.iheima.com/zixun/2016/0911/158681.shtml?utm_source=tuicool&utm_medium=referral

機器學習的發展是整個人工智能發展史上頗爲重要的一個分支。其中故事一波三折,令人驚訝歎服,頗爲蕩氣迴腸。

基礎奠定的熱烈時期

20世紀50年代初到60年代中葉

Hebb於1949年基於神經心理學的學習機制開啓機器學習的第一步。此後被稱爲Hebb學習規則。Hebb學習規則是一個無監督學習規則,這種學習的結果是使網絡能夠提取訓練集的統計特性,從而把輸入信息按照它們的相似性程度劃分爲若干類。這一點與人類觀察和認識世界的過程非常吻合,人類觀察和認識世界在相當程度上就是在根據事物的統計特徵進行分類。
這裏寫圖片描述

從上面的公式可以看出,權值調整量與輸入輸出的乘積成正比,顯然經常出現的模式將對權向量有較大的影響。在這種情況下,Hebb學習規則需預先定置權飽和值,以防止輸入和輸出正負始終一致時出現權值無約束增長。

Hebb學習規則與“條件反射”機理一致,並且已經得到了神經細胞學說的證實。比如巴甫洛夫的條件反射實驗:每次給狗餵食前都先響鈴,時間一長,狗就會將鈴聲和食物聯繫起來。以後如果響鈴但是不給食物,狗也會流口水。

1950年,阿蘭·圖靈創造了圖靈測試來判定計算機是否智能。圖靈測試認爲,如果一臺機器能夠與人類展開對話(通過電傳設備)而不能被辨別出其機器身份,那麼稱這臺機器具有智能。這一簡化使得圖靈能夠令人信服地說明“思考的機器”是可能的。

這裏寫圖片描述

2014年6月8日,一臺計算機(計算機尤金·古斯特曼是一個聊天機器人,一個電腦程序)成功讓人類相信它是一個13歲的男孩,成爲有史以來首臺通過圖靈測試的計算機。這被認爲是人工智能發展的一個里程碑事件。

1952,IBM科學家亞瑟·塞繆爾開發了一個跳棋程序。該程序能夠通過觀察當前位置,並學習一個隱含的模型,從而爲後續動作提供更好的指導。塞繆爾發現,伴隨着該遊戲程序運行時間的增加,其可以實現越來越好的後續指導。

通過這個程序,塞繆爾駁倒了普羅維登斯提出的機器無法超越人類,像人類一樣寫代碼和學習的模式。他創造了“機器學習”,並將它定義爲“可以提供計算機能力而無需顯式編程的研究領域”。

1957年,羅森·布拉特基於神經感知科學背景提出了第二模型,非常的類似於今天的機器學習模型。這在當時是一個非常令人興奮的發現,它比Hebb的想法更適用。基於這個模型羅森·布拉特設計出了第一個計算機神經網絡——感知機(the perceptron),它模擬了人腦的運作方式。

3年後,維德羅首次使用Delta學習規則用於感知器的訓練步驟。這種方法後來被稱爲最小二乘方法。這兩者的結合創造了一個良好的線性分類器。

這裏寫圖片描述
1958年,美籍邏輯學家王浩在自動定理證明中取得的重要進展。他的程序在IBM704計算機上用不到5分鐘的時間證明了《數學原理》中“命題演算”的全部220條定理。

1959年,王浩的改進程序用8.4分鐘證明了上述220條定理及謂詞演算的絕大部分定理。隨着高速數據計算機的發明,1976年6月,在美國伊利諾斯大學的兩臺不同的電子計算機上,用了1200個小時,作了100億個判斷,結果沒有一張地圖是需要五色的,最終證明了四色定理,轟動了世界。

1967年,最近鄰算法(The nearest neighbor algorithm)出現,由此計算機可以進行簡單的模式識別。kNN算法的核心思想是如果一個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別,並具有這個類別上樣本的特性。該方法在確定分類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。

這裏寫圖片描述

kNN的優點在於易於理解和實現,無需估計參數,無需訓練,適合對稀有事件進行分類,特別適合於多分類問題(multi-modal,對象具有多個類別標籤), 甚至比SVM的表現要好。

Han等人於2002年嘗試利用貪心法,針對文件分類實做可調整權重的k最近鄰居法WAkNN (weighted adjusted k nearest neighbor),以促進分類效果;而Li等人於2004年提出由於不同分類的文件本身有數量上有差異,因此也應該依照訓練集合中各種分類的文件數量,選取不同數目的最近鄰居,來參與分類。

1969年馬文·明斯基將感知器興奮推到最高頂峯。他提出了著名的XOR問題和感知器數據線性不可分的情形。

明斯基還把人工智能技術和機器人技術結合起來,開發出了世界上最早的能夠模擬人活動的機器人Robot C,使機器人技術躍上了一個新臺階。明斯基的另一個大舉措是創建了著名的“思維機公司”(Thinking Machines,Inc.),開發具有智能的計算機。

此後,神經網絡的研究將處於休眠狀態,直到上世紀80年代。儘管BP神經的想法由林納因馬在1970年提出,並將其稱爲“自動分化反向模式”,但是並未引起足夠的關注。

停滯不前的冷靜時期

20世紀60年代中葉到70年代末

從60年代中到70年代末,機器學習的發展步伐幾乎處於停滯狀態。雖然這個時期溫斯頓(Winston)的結構學習系統和海斯·羅思(Hayes Roth)等的基於邏輯的歸納學習系統取得較大的進展,但只能學習單一概念,而且未能投入實際應用。此外,神經網絡學習機因理論缺陷未能達到預期效果而轉入低潮。

這個時期的研究目標是模擬人類的概念學習過程,並採用邏輯結構或圖結構 作爲機器內部描述。機器能夠採用符號來描述概念(符號概念獲取),並提出關於學習概念的各種假設。

事實上,這個時期整個AI領域都遭遇了瓶頸。當時的計算機有限的內存和處理速度不足以解決任何實際的AI問題。要求程序對這個世界具有兒童水平的認識,研究者們很快發現這個要求太高了:1970年沒人能夠做出如此巨大的數據庫,也沒人知道一個程序怎樣才能學到如此豐富的信息。

重拾希望的復興時期

20世紀70年代末到80年代中葉

從70年代末開始,人們從學習單個概念擴展到學習多個概念,探索不同的學習 策略和各種學習方法。這個時期,機器學習在大量的時間應用中回到人們的視線,又慢慢復甦。

1980年,在美國的卡內基梅隆大學(CMU)召開了第一屆機器學習國際研討會,標誌着機器學習研究已在全世界興起。此後,機器歸納學習進入應用。

經過一些挫折後,多層感知器(MLP)由偉博斯在1981年的神經網絡反向傳播(BP)算法中具體提出。當然BP仍然是今天神經網絡架構的關鍵因素。有了這些新思想,神經網絡的研究又加快了。

1985 -1986神經網絡研究人員(魯梅爾哈特,辛頓,威廉姆斯-赫,尼爾森)先後提出了MLP與BP訓練相結合的理念。

一個非常著名的ML算法由昆蘭在1986年提出,我們稱之爲決策樹算法,更準確的說是ID3算法。這是另一個主流機器學習的火花點。此外,與黑盒神經網絡模型截然不同的是,決策樹ID3算法也被作爲一個軟件,通過使用簡單的規則和清晰的參考可以找到更多的現實生活中的使用情況。
這裏寫圖片描述
《機器學習》中打網球的天氣分類決策

決策樹是一個預測模型,他代表的是對象屬性與對象值之間的一種映射關係。樹中每個節點表示某個對象,而每個分叉路徑則代表的某個可能的屬性值,而每個葉結點則對應從根節點到該葉節點所經歷的路徑所表示的對象的值。決策樹僅有單一輸出,若欲有複數輸出,可以建立獨立的決策樹以處理不同輸出。數據挖掘中決策樹是一種經常要用到的技術,可以用於分析數據,同樣也可以用來作預測。

現代機器學習的成型時期

20世紀90年初到21世紀初

1990年, Schapire最先構造出一種多項式級的算法 ,對該問題做了肯定的證明 ,這就是最初的 Boosting算法。一年後 ,Freund提出了一種效率更高的Boosting算法。但是,這兩種算法存在共同的實踐上的缺陷 ,那就是都要求事先知道弱學習算法學習正確的下限。
這裏寫圖片描述

1995年 ,Freund和schapire改進了Boosting算法 ,提出了 AdaBoost (Adap tive Boosting)算法,該算法效率和 Freund於 1991年提出的 Boosting算法幾乎相同 ,但不需要任何關於弱學習器的先驗知識 ,因而更容易應用到實際問題當中。

Boosting方法是一種用來提高弱分類算法準確度的方法,這種方法通過構造一個預測函數系列,然後以一定的方式將他們組合成一個預測函數。他是一種框架算法,主要是通過對樣本集的操作獲得樣本子集,然後用弱分類算法在樣本子集上訓練生成一系列的基分類器。

同年,機器學習領域中一個最重要的突破,支持向量(support vector machines, SVM ),由瓦普尼克和科爾特斯在大量理論和實證的條件下年提出。從此將機器學習社區分爲神經網絡社區和支持向量機社區。
這裏寫圖片描述

然而兩個社區之間的競爭並不那麼容易,神經網絡要落後SVM核化後的版本將近2000s 。支持向量機在以前許多神經網絡模型不能解決的任務中取得了良好的效果。此外,支持向量機能夠利用所有的先驗知識做凸優化選擇,產生準確的理論和核模型。因此,它可以對不同的學科產生大的推動,產生非常高效的理論和實踐改善。

支撐向量機 , Boosting,最大熵方法(比如logistic regression, LR)等。這些模型的結構基本上可以看成帶有一層隱層節點(如SVM, Boosting),或沒有隱層節點(如LR)。這些模型在無論是理論分析還是應用都獲得了巨大的成功。

另一個集成決策樹模型由佈雷曼博士在2001年提出,它是由一個隨機子集的實例組成,並且每個節點都是從一系列隨機子集中選擇。由於它的這個性質,被稱爲隨機森林(RF),隨機森林也在理論和經驗上證明了對過擬合的抵抗性。

甚至連AdaBoost算法在數據過擬合和離羣實例中都表現出了弱點,而隨機森林是針對這些警告更穩健的模型。隨機森林在許多不同的任務,像DataCastle、Kaggle等比賽等都表現出了成功的一面。

這裏寫圖片描述

大放光芒的蓬勃發展時期

21世紀初至今

在機器學習發展分爲兩個部分,淺層學習(Shallow Learning)和深度學習(Deep Learning)。淺層學習起源上世紀20年代人工神經網絡的反向傳播算法(Back-propagation)的發明,使得基於統計的機器學習算法大行其道,雖然這時候的人工神經網絡算法也被稱爲多層感知機(Multiple layer Perception),但由於多層網絡訓練困難,通常都是隻有一層隱含層的淺層模型。

神經網絡研究領域領軍者Hinton在2006年提出了神經網絡Deep Learning算法,使神經網絡的能力大大提高,向支持向量機發出挑戰。 2006年,機器學習領域的泰斗Hinton和他的學生Salakhutdinov在頂尖學術刊物《Scince》上發表了一篇文章,開啓了深度學習在學術界和工業界的浪潮。

這篇文章有兩個主要的訊息:1)很多隱層的人工神經網絡具有優異的特徵學習能力,學習得到的特徵對數據有更本質的刻劃,從而有利於可視化或分類;2)深度神經網絡在訓練上的難度,可以通過“逐層初始化”( layer-wise pre-training)來有效克服,在這篇文章中,逐層初始化是通過無監督學習實現的。

Hinton的學生Yann LeCun的LeNets深度學習網絡可以被廣泛應用在全球的ATM機和銀行之中。同時,Yann LeCun和吳恩達等認爲卷積神經網絡允許人工神經網絡能夠快速訓練,因爲其所佔用的內存非常小,無須在圖像上的每一個位置上都單獨存儲濾鏡,因此非常適合構建可擴展的深度網絡,卷積神經網絡因此非常適合識別模型。

2015年,爲紀念人工智能概念提出60週年,LeCun、Bengio和Hinton推出了深度學習的聯合綜述。

深度學習可以讓那些擁有多個處理層的計算模型來學習具有多層次抽象的數據的表示。這些方法在許多方面都帶來了顯著的改善,包括最先進的語音識別、視覺對象識別、對象檢測和許多其它領域,例如藥物發現和基因組學等。深度學習能夠發現大數據中的複雜結構。它是利用BP算法來完成這個發現過程的。BP算法能夠指導機器如何從前一層獲取誤差而改變本層的內部參數,這些內部參數可以用於計算表示。深度卷積網絡在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網絡在處理序列數據,比如文本和語音方面表現出了閃亮的一面。

當前統計學習領域最熱門方法主要有deep learning和SVM(supportvector machine),它們是統計學習的代表方法。可以認爲神經網絡與支持向量機都源自於感知機。

神經網絡與支持向量機一直處於“競爭”關係。SVM應用核函數的展開定理,無需知道非線性映射的顯式表達式;由於是在高維特徵空間中建立線性學習機,所以與線性模型相比,不但幾乎不增加計算的複雜性,而且在某種程度上避免了“維數災難”。而早先的神經網絡算法比較容易過訓練,大量的經驗參數需要設置;訓練速度比較慢,在層次比較少(小於等於3)的情況下效果並不比其它方法更優。

神經網絡模型貌似能夠實現更加艱難的任務,如目標識別、語音識別、自然語言處理等。但是,應該注意的是,這絕對不意味着其他機器學習方法的終結。儘管深度學習的成功案例迅速增長,但是對這些模型的訓練成本是相當高的,調整外部參數也是很麻煩。同時,SVM的簡單性促使其仍然最爲廣泛使用的機器學習方式。

這裏寫圖片描述
人工智能機器學習是誕生於20世紀中葉的一門年輕的學科,它對人類的生產、生活方式產生了重大的影響,也引發了激烈的哲學爭論。但總的來說,機器學習的發展與其他一般事物的發展並無太大區別,同樣可以用哲學的發展的眼光來看待。

機器學習的發展並不是一帆風順的,也經歷了螺旋式上升的過程,成就與坎坷並存。其中大量的研究學者的成果纔有了今天人工智能的空前繁榮,是量變到質變的過程,也是內因和外因的共同結果。

回望過去,我們都會被這一段波瀾壯闊的歷史所折服吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章