AlphaGo的勝利,無人駕駛的成功,模式識別的突破性進(jìn)展,人工智能的的飛速發(fā)展一次又一次地挑動著我們的神經(jīng)。作為人工智能的核心,機(jī)器學(xué)習(xí)也在人工智能的大步發(fā)展中備受矚目,光輝無限。
AlphaGo的勝利,無人駕駛的成功,模式識別的突破性進(jìn)展,人工智能的的飛速發(fā)展一次又一次地挑動著我們的神經(jīng)。作為人工智能的核心,機(jī)器學(xué)習(xí)也在人工智能的大步發(fā)展中備受矚目,光輝無限。
如今,機(jī)器學(xué)習(xí)的應(yīng)用已遍及人工智能的各個分支,如專家系統(tǒng)、自動推理、自然語言理解、模式識別、計算機(jī)視覺、智能機(jī)器人等領(lǐng)域。
但也許我們不曾想到的事機(jī)器學(xué)習(xí)乃至人工智能的起源,是對人本身的意識、自我、心靈等哲學(xué)問題的探索。而在發(fā)展的過程中,更是融合了統(tǒng)計學(xué)、神經(jīng)科學(xué)、信息論、控制論、計算復(fù)雜性理論等學(xué)科的知識。
總的來說,機(jī)器學(xué)習(xí)的發(fā)展是整個人工智能發(fā)展史上頗為重要的一個分支。其中故事一波三折,令人驚訝嘆服,頗為蕩氣回腸。
其中穿插了無數(shù)牛人的故事,在下面的介紹中,你將會看到以下神級人物的均有出場,我們順著ML的進(jìn)展時間軸娓娓道來:
基礎(chǔ)奠定的熱烈時期
20世紀(jì)50年代初到60年代中葉
Hebb于1949年基于神經(jīng)心理學(xué)的學(xué)習(xí)機(jī)制開啟機(jī)器學(xué)習(xí)的第一步。此后被稱為Hebb學(xué)習(xí)規(guī)則。Hebb學(xué)習(xí)規(guī)則是一個無監(jiān)督學(xué)習(xí)規(guī)則,這種學(xué)習(xí)的結(jié)果是使網(wǎng)絡(luò)能夠提取訓(xùn)練集的統(tǒng)計特性,從而把輸入信息按照它們的相似性程度劃分為若干類。這一點與人類觀察和認(rèn)識世界的過程非常吻合,人類觀察和認(rèn)識世界在相當(dāng)程度上就是在根據(jù)事物的統(tǒng)計特征進(jìn)行分類。
從上面的公式可以看出,權(quán)值調(diào)整量與輸入輸出的乘積成正比,顯然經(jīng)常出現(xiàn)的模式將對權(quán)向量有較大的影響。在這種情況下,Hebb學(xué)習(xí)規(guī)則需預(yù)先定置權(quán)飽和值,以防止輸入和輸出正負(fù)始終一致時出現(xiàn)權(quán)值無約束增長。
Hebb學(xué)習(xí)規(guī)則與“條件反射”機(jī)理一致,并且已經(jīng)得到了神經(jīng)細(xì)胞學(xué)說的證實。比如巴甫洛夫的條件反射實驗:每次給狗喂食前都先響鈴,時間一長,狗就會將鈴聲和食物聯(lián)系起來。以后如果響鈴但是不給食物,狗也會流口水。
1950年,阿蘭?圖靈創(chuàng)造了圖靈測試來判定計算機(jī)是否智能。圖靈測試認(rèn)為,如果一臺機(jī)器能夠與人類展開對話(通過電傳設(shè)備)而不能被辨別出其機(jī)器身份,那么稱這臺機(jī)器具有智能。這一簡化使得圖靈能夠令人信服地說明“思考的機(jī)器”是可能的。
2014年6月8日,一臺計算機(jī)(計算機(jī)尤金?古斯特曼是一個聊天機(jī)器人,一個電腦程序)成功讓人類相信它是一個13歲的男孩,成為有史以來首臺通過圖靈測試的計算機(jī)。這被認(rèn)為是人工智能發(fā)展的一個里程碑事件。
1952,IBM科學(xué)家亞瑟?塞繆爾開發(fā)了一個跳棋程序。該程序能夠通過觀察當(dāng)前位置,并學(xué)習(xí)一個隱含的模型,從而為后續(xù)動作提供更好的指導(dǎo)。塞繆爾發(fā)現(xiàn),伴隨著該游戲程序運(yùn)行時間的增加,其可以實現(xiàn)越來越好的后續(xù)指導(dǎo)。
通過這個程序,塞繆爾駁倒了普羅維登斯提出的機(jī)器無法超越人類,像人類一樣寫代碼和學(xué)習(xí)的模式。他創(chuàng)造了“機(jī)器學(xué)習(xí)”,并將它定義為“可以提供計算機(jī)能力而無需顯式編程的研究領(lǐng)域”。
1957年,羅森?布拉特基于神經(jīng)感知科學(xué)背景提出了第二模型,非常的類似于今天的機(jī)器學(xué)習(xí)模型。這在當(dāng)時是一個非常令人興奮的發(fā)現(xiàn),它比Hebb的想法更適用。基于這個模型羅森?布拉特設(shè)計出了第一個計算機(jī)神經(jīng)網(wǎng)絡(luò)——感知機(jī)(the perceptron),它模擬了人腦的運(yùn)作方式。
3年后,維德羅首次使用Delta學(xué)習(xí)規(guī)則用于感知器的訓(xùn)練步驟。這種方法后來被稱為最小二乘方法。這兩者的結(jié)合創(chuàng)造了一個良好的線性分類器。
1967年,最近鄰算法(The nearest neighbor algorithm)出現(xiàn),由此計算機(jī)可以進(jìn)行簡單的模式識別。kNN算法的核心思想是如果一個樣本在特征空間中的k個最相鄰的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性。該方法在確定分類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
kNN的優(yōu)點在于易于理解和實現(xiàn),無需估計參數(shù),無需訓(xùn)練,適合對稀有事件進(jìn)行分類,特別適合于多分類問題(multi-modal,對象具有多個類別標(biāo)簽), 甚至比SVM的表現(xiàn)要好。
Han等人于2002年嘗試?yán)秘澬姆ǎ槍ξ募诸悓嵶隹烧{(diào)整權(quán)重的k最近鄰居法WAkNN (weighted adjusted k nearest neighbor),以促進(jìn)分類效果;而Li等人于2004年提出由于不同分類的文件本身有數(shù)量上有差異,因此也應(yīng)該依照訓(xùn)練集合中各種分類的文件數(shù)量,選取不同數(shù)目的最近鄰居,來參與分類。
1969年馬文?明斯基將感知器興奮推到最高頂峰。他提出了著名的XOR問題和感知器數(shù)據(jù)線性不可分的情形。
明斯基還把人工智能技術(shù)和機(jī)器人技術(shù)結(jié)合起來,開發(fā)出了世界上最早的能夠模擬人活動的機(jī)器人Robot C,使機(jī)器人技術(shù)躍上了一個新臺階。明斯基的另一個大舉措是創(chuàng)建了著名的“思維機(jī)公司”(Thinking Machines,Inc.),開發(fā)具有智能的計算機(jī)。
此后,神經(jīng)網(wǎng)絡(luò)的研究將處于休眠狀態(tài),直到上世紀(jì)80年代。盡管BP神經(jīng)的想法由林納因馬在1970年提出,并將其稱為“自動分化反向模式”,但是并未引起足夠的關(guān)注。
停滯不前的冷靜時期
20世紀(jì)60年代中葉到70年代末
從60年代中到70年代末,機(jī)器學(xué)習(xí)的發(fā)展步伐幾乎處于停滯狀態(tài)。雖然這個時期溫斯頓(Winston)的結(jié)構(gòu)學(xué)習(xí)系統(tǒng)和海斯?羅思(Hayes Roth)等的基于邏輯的歸納學(xué)習(xí)系統(tǒng)取得較大的進(jìn)展,但只能學(xué)習(xí)單一概念,而且未能投入實際應(yīng)用。此外,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)機(jī)因理論缺陷未能達(dá)到預(yù)期效果而轉(zhuǎn)入低潮。
這個時期的研究目標(biāo)是模擬人類的概念學(xué)習(xí)過程,并采用邏輯結(jié)構(gòu)或圖結(jié)構(gòu) 作為機(jī)器內(nèi)部描述。機(jī)器能夠采用符號來描述概念(符號概念獲取),并提出關(guān)于學(xué)習(xí)概念的各種假設(shè)。
事實上,這個時期整個AI領(lǐng)域都遭遇了瓶頸。當(dāng)時的計算機(jī)有限的內(nèi)存和處理速度不足以解決任何實際的AI問題。要求程序?qū)@個世界具有兒童水平的認(rèn)識,研究者們很快發(fā)現(xiàn)這個要求太高了:1970年沒人能夠做出如此巨大的數(shù)據(jù)庫,也沒人知道一個程序怎樣才能學(xué)到如此豐富的信息。
重拾希望的復(fù)興時期
20世紀(jì)70年代末到80年代中葉
從70年代末開始,人們從學(xué)習(xí)單個概念擴(kuò)展到學(xué)習(xí)多個概念,探索不同的學(xué)習(xí) 策略和各種學(xué)習(xí)方法。這個時期,機(jī)器學(xué)習(xí)在大量的時間應(yīng)用中回到人們的視線,又慢慢復(fù)蘇。
1980年,在美國的卡內(nèi)基梅隆大學(xué)(CMU)召開了第一屆機(jī)器學(xué)習(xí)國際研討會,標(biāo)志著機(jī)器學(xué)習(xí)研究已在全世界興起。此后,機(jī)器歸納學(xué)習(xí)進(jìn)入應(yīng)用。
經(jīng)過一些挫折后,多層感知器(MLP)由偉博斯在1981年的神經(jīng)網(wǎng)絡(luò)反向傳播(BP)算法中具體提出。當(dāng)然BP仍然是今天神經(jīng)網(wǎng)絡(luò)架構(gòu)的關(guān)鍵因素。有了這些新思想,神經(jīng)網(wǎng)絡(luò)的研究又加快了。
1985 -1986神經(jīng)網(wǎng)絡(luò)研究人員(魯梅爾哈特,辛頓,威廉姆斯-赫,尼爾森)先后提出了MLP與BP訓(xùn)練相結(jié)合的理念。
一個非常著名的ML算法由昆蘭在1986年提出,我們稱之為決策樹算法,更準(zhǔn)確的說是ID3算法。這是另一個主流機(jī)器學(xué)習(xí)的火花點。此外,與黑盒神經(jīng)網(wǎng)絡(luò)模型截然不同的是,決策樹ID3算法也被作為一個軟件,通過使用簡單的規(guī)則和清晰的參考可以找到更多的現(xiàn)實生活中的使用情況。
《機(jī)器學(xué)習(xí)》中打網(wǎng)球的天氣分類決策
決策樹是一個預(yù)測模型,他代表的是對象屬性與對象值之間的一種映射關(guān)系。樹中每個節(jié)點表示某個對象,而每個分叉路徑則代表的某個可能的屬性值,而每個葉結(jié)點則對應(yīng)從根節(jié)點到該葉節(jié)點所經(jīng)歷的路徑所表示的對象的值。決策樹僅有單一輸出,若欲有復(fù)數(shù)輸出,可以建立獨立的決策樹以處理不同輸出。數(shù)據(jù)挖掘中決策樹是一種經(jīng)常要用到的技術(shù),可以用于分析數(shù)據(jù),同樣也可以用來作預(yù)測。
現(xiàn)代機(jī)器學(xué)習(xí)的成型時期
20世紀(jì)90年初到21世紀(jì)初
1990年, Schapire最先構(gòu)造出一種多項式級的算法 ,對該問題做了肯定的證明 ,這就是最初的 Boosting算法。一年后 ,Freund提出了一種效率更高的Boosting算法。但是,這兩種算法存在共同的實踐上的缺陷 ,那就是都要求事先知道弱學(xué)習(xí)算法學(xué)習(xí)正確的下限。
1995年 , Freund和schapire改進(jìn)了Boosting算法 ,提出了 AdaBoost (Adap tive Boosting)算法,該算法效率和 Freund于 1991年提出的 Boosting算法幾乎相同 ,但不需要任何關(guān)于弱學(xué)習(xí)器的先驗知識 ,因而更容易應(yīng)用到實際問題當(dāng)中。
Boosting方法是一種用來提高弱分類算法準(zhǔn)確度的方法,這種方法通過構(gòu)造一個預(yù)測函數(shù)系列,然后以一定的方式將他們組合成一個預(yù)測函數(shù)。他是一種框架算法,主要是通過對樣本集的操作獲得樣本子集,然后用弱分類算法在樣本子集上訓(xùn)練生成一系列的基分類器。
同年,機(jī)器學(xué)習(xí)領(lǐng)域中一個最重要的突破,支持向量(support vector machines, SVM ),由瓦普尼克和科爾特斯在大量理論和實證的條件下年提出。從此將機(jī)器學(xué)習(xí)社區(qū)分為神經(jīng)網(wǎng)絡(luò)社區(qū)和支持向量機(jī)社區(qū)。
然而兩個社區(qū)之間的競爭并不那么容易,神經(jīng)網(wǎng)絡(luò)要落后SVM核化后的版本將近2000s 。支持向量機(jī)在以前許多神經(jīng)網(wǎng)絡(luò)模型不能解決的任務(wù)中取得了良好的效果。此外,支持向量機(jī)能夠利用所有的先驗知識做凸優(yōu)化選擇,產(chǎn)生準(zhǔn)確的理論和核模型。因此,它可以對不同的學(xué)科產(chǎn)生大的推動,產(chǎn)生非常高效的理論和實踐改善。
支撐向量機(jī) , Boosting,最大熵方法(比如logistic regression, LR)等。這些模型的結(jié)構(gòu)基本上可以看成帶有一層隱層節(jié)點(如SVM, Boosting),或沒有隱層節(jié)點(如LR)。這些模型在無論是理論分析還是應(yīng)用都獲得了巨大的成功。
另一個集成決策樹模型由布雷曼博士在2001年提出,它是由一個隨機(jī)子集的實例組成,并且每個節(jié)點都是從一系列隨機(jī)子集中選擇。由于它的這個性質(zhì),被稱為隨機(jī)森林(RF),隨機(jī)森林也在理論和經(jīng)驗上證明了對過擬合的抵抗性。
大放光芒的蓬勃發(fā)展時期
21世紀(jì)初至今
在機(jī)器學(xué)習(xí)發(fā)展分為兩個部分,淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning)。淺層學(xué)習(xí)起源上世紀(jì)20年代人工神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Back-propagation)的發(fā)明,使得基于統(tǒng)計的機(jī)器學(xué)習(xí)算法大行其道,雖然這時候的人工神經(jīng)網(wǎng)絡(luò)算法也被稱為多層感知機(jī)(Multiple layer Perception),但由于多層網(wǎng)絡(luò)訓(xùn)練困難,通常都是只有一層隱含層的淺層模型。
神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域領(lǐng)軍者Hinton在2006年提出了神經(jīng)網(wǎng)絡(luò)Deep Learning算法,使神經(jīng)網(wǎng)絡(luò)的能力大大提高,向支持向量機(jī)發(fā)出挑戰(zhàn)。 2006年,機(jī)器學(xué)習(xí)領(lǐng)域的泰斗Hinton和他的學(xué)生Salakhutdinov在頂尖學(xué)術(shù)刊物《Scince》上發(fā)表了一篇文章,開啟了深度學(xué)習(xí)在學(xué)術(shù)界和工業(yè)界的浪潮。
這篇文章有兩個主要的訊息:
1)很多隱層的人工神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學(xué)習(xí)能力,學(xué)習(xí)得到的特征對數(shù)據(jù)有更本質(zhì)的刻劃,從而有利于可視化或分類;
2)深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的難度,可以通過“逐層初始化”( layer-wise pre-training)來有效克服,在這篇文章中,逐層初始化是通過無監(jiān)督學(xué)習(xí)實現(xiàn)的。Hinton的學(xué)生Yann LeCun的LeNets深度學(xué)習(xí)網(wǎng)絡(luò)可以被廣泛應(yīng)用在全球的ATM機(jī)和銀行之中。同時,Yann LeCun和吳恩達(dá)等認(rèn)為卷積神經(jīng)網(wǎng)絡(luò)允許人工神經(jīng)網(wǎng)絡(luò)能夠快速訓(xùn)練,因為其所占用的內(nèi)存非常小,無須在圖像上的每一個位置上都單獨存儲濾鏡,因此非常適合構(gòu)建可擴(kuò)展的深度網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)因此非常適合識別模型。
2015年,為紀(jì)念人工智能概念提出60周年,LeCun、Bengio和Hinton推出了深度學(xué)習(xí)的聯(lián)合綜述。
深度學(xué)習(xí)可以讓那些擁有多個處理層的計算模型來學(xué)習(xí)具有多層次抽象的數(shù)據(jù)的表示。這些方法在許多方面都帶來了顯著的改善,包括最先進(jìn)的語音識別、視覺對象識別、對象檢測和許多其它領(lǐng)域,例如藥物發(fā)現(xiàn)和基因組學(xué)等。深度學(xué)習(xí)能夠發(fā)現(xiàn)大數(shù)據(jù)中的復(fù)雜結(jié)構(gòu)。它是利用BP算法來完成這個發(fā)現(xiàn)過程的。BP算法能夠指導(dǎo)機(jī)器如何從前一層獲取誤差而改變本層的內(nèi)部參數(shù),這些內(nèi)部參數(shù)可以用于計算表示。深度卷積網(wǎng)絡(luò)在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網(wǎng)絡(luò)在處理序列數(shù)據(jù),比如文本和語音方面表現(xiàn)出了閃亮的一面。
當(dāng)前統(tǒng)計學(xué)習(xí)領(lǐng)域最熱門方法主要有deep learning和SVM(supportvector machine),它們是統(tǒng)計學(xué)習(xí)的代表方法。可以認(rèn)為神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)都源自于感知機(jī)。
神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)一直處于“競爭”關(guān)系。SVM應(yīng)用核函數(shù)的展開定理,無需知道非線性映射的顯式表達(dá)式;由于是在高維特征空間中建立線性學(xué)習(xí)機(jī),所以與線性模型相比,不但幾乎不增加計算的復(fù)雜性,而且在某種程度上避免了“維數(shù)災(zāi)難”。而早先的神經(jīng)網(wǎng)絡(luò)算法比較容易過訓(xùn)練,大量的經(jīng)驗參數(shù)需要設(shè)置;訓(xùn)練速度比較慢,在層次比較少(小于等于3)的情況下效果并不比其它方法更優(yōu)。
神經(jīng)網(wǎng)絡(luò)模型貌似能夠?qū)崿F(xiàn)更加艱難的任務(wù),如目標(biāo)識別、語音識別、自然語言處理等。但是,應(yīng)該注意的是,這絕對不意味著其他機(jī)器學(xué)習(xí)方法的終結(jié)。盡管深度學(xué)習(xí)的成功案例迅速增長,但是對這些模型的訓(xùn)練成本是相當(dāng)高的,調(diào)整外部參數(shù)也是很麻煩。同時,SVM的簡單性促使其仍然最為廣泛使用的機(jī)器學(xué)習(xí)方式。
人工智能機(jī)器學(xué)習(xí)是誕生于20世紀(jì)中葉的一門年輕的學(xué)科,它對人類的生產(chǎn)、生活方式產(chǎn)生了重大的影響,也引發(fā)了激烈的哲學(xué)爭論。但總的來說,機(jī)器學(xué)習(xí)的發(fā)展與其他一般事物的發(fā)展并無太大區(qū)別,同樣可以用哲學(xué)的發(fā)展的眼光來看待。
機(jī)器學(xué)習(xí)的發(fā)展并不是一帆風(fēng)順的,也經(jīng)歷了螺旋式上升的過程,成就與坎坷并存。其中大量的研究學(xué)者的成果才有了今天人工智能的空前繁榮,是量變到質(zhì)變的過程,也是內(nèi)因和外因的共同結(jié)果。
回望過去,我們都會被這一段波瀾壯闊的歷史所折服吧。
摘自 機(jī)器人網(wǎng)