AlphaGo的勝利,無人駕駛的成功,模式識別的突破性進展,人工智能的的飛速發展一次又一次地挑動著我們的神經。作為人工智能的核心,機器學習也在人工智能的大步發展中備受矚目,光輝無限。
AlphaGo的勝利,無人駕駛的成功,模式識別的突破性進展,人工智能的的飛速發展一次又一次地挑動著我們的神經。作為人工智能的核心,機器學習也在人工智能的大步發展中備受矚目,光輝無限。
如今,機器學習的應用已遍及人工智能的各個分支,如專家系統、自動推理、自然語言理解、模式識別、計算機視覺、智能機器人等領域。
但也許我們不曾想到的事機器學習乃至人工智能的起源,是對人本身的意識、自我、心靈等哲學問題的探索。而在發展的過程中,更是融合了統計學、神經科學、信息論、控制論、計算復雜性理論等學科的知識。
總的來說,機器學習的發展是整個人工智能發展史上頗為重要的一個分支。其中故事一波三折,令人驚訝嘆服,頗為蕩氣回腸。
其中穿插了無數牛人的故事,在下面的介紹中,你將會看到以下神級人物的均有出場,我們順著ML的進展時間軸娓娓道來:
基礎奠定的熱烈時期
20世紀50年代初到60年代中葉
Hebb于1949年基于神經心理學的學習機制開啟機器學習的第一步。此后被稱為Hebb學習規則。Hebb學習規則是一個無監督學習規則,這種學習的結果是使網絡能夠提取訓練集的統計特性,從而把輸入信息按照它們的相似性程度劃分為若干類。這一點與人類觀察和認識世界的過程非常吻合,人類觀察和認識世界在相當程度上就是在根據事物的統計特征進行分類。
從上面的公式可以看出,權值調整量與輸入輸出的乘積成正比,顯然經常出現的模式將對權向量有較大的影響。在這種情況下,Hebb學習規則需預先定置權飽和值,以防止輸入和輸出正負始終一致時出現權值無約束增長。
Hebb學習規則與“條件反射”機理一致,并且已經得到了神經細胞學說的證實。比如巴甫洛夫的條件反射實驗:每次給狗喂食前都先響鈴,時間一長,狗就會將鈴聲和食物聯系起來。以后如果響鈴但是不給食物,狗也會流口水。
1950年,阿蘭?圖靈創造了圖靈測試來判定計算機是否智能。圖靈測試認為,如果一臺機器能夠與人類展開對話(通過電傳設備)而不能被辨別出其機器身份,那么稱這臺機器具有智能。這一簡化使得圖靈能夠令人信服地說明“思考的機器”是可能的。
2014年6月8日,一臺計算機(計算機尤金?古斯特曼是一個聊天機器人,一個電腦程序)成功讓人類相信它是一個13歲的男孩,成為有史以來首臺通過圖靈測試的計算機。這被認為是人工智能發展的一個里程碑事件。
1952,IBM科學家亞瑟?塞繆爾開發了一個跳棋程序。該程序能夠通過觀察當前位置,并學習一個隱含的模型,從而為后續動作提供更好的指導。塞繆爾發現,伴隨著該游戲程序運行時間的增加,其可以實現越來越好的后續指導。
通過這個程序,塞繆爾駁倒了普羅維登斯提出的機器無法超越人類,像人類一樣寫代碼和學習的模式。他創造了“機器學習”,并將它定義為“可以提供計算機能力而無需顯式編程的研究領域”。
1957年,羅森?布拉特基于神經感知科學背景提出了第二模型,非常的類似于今天的機器學習模型。這在當時是一個非常令人興奮的發現,它比Hebb的想法更適用。基于這個模型羅森?布拉特設計出了第一個計算機神經網絡——感知機(the perceptron),它模擬了人腦的運作方式。
3年后,維德羅首次使用Delta學習規則用于感知器的訓練步驟。這種方法后來被稱為最小二乘方法。這兩者的結合創造了一個良好的線性分類器。
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),隨機森林也在理論和經驗上證明了對過擬合的抵抗性。
大放光芒的蓬勃發展時期
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世紀中葉的一門年輕的學科,它對人類的生產、生活方式產生了重大的影響,也引發了激烈的哲學爭論。但總的來說,機器學習的發展與其他一般事物的發展并無太大區別,同樣可以用哲學的發展的眼光來看待。
機器學習的發展并不是一帆風順的,也經歷了螺旋式上升的過程,成就與坎坷并存。其中大量的研究學者的成果才有了今天人工智能的空前繁榮,是量變到質變的過程,也是內因和外因的共同結果。
回望過去,我們都會被這一段波瀾壯闊的歷史所折服吧。
摘自 機器人網