|
文章發(fā)布于公號【數(shù)智物語】 (ID:decision_engine),關(guān)注公號不錯過每一篇干貨。
本文節(jié)選自微軟亞洲研究院機(jī)器學(xué)習(xí)研究團(tuán)隊劉鐵巖、陳薇、王太峰、高飛合著的《分布式機(jī)器學(xué)習(xí):算法、理論與實踐》一書。為了讓大家更好地理解分布式機(jī)器學(xué)習(xí)。
首先,線性模型的取值范圍是不受限的,依據(jù)w和x的具體取值,它的輸出可以是非常大的正數(shù)或者非常小的負(fù)數(shù)。然而,在進(jìn)行分類的時候,我們預(yù)期得到的模型輸出是某個樣本屬于正類(如正面評價)的可能性,這個可能性通常是取值在0和1之間的一個概率值。為了解決這二者之間的差距,人們通常會使用一個對數(shù)幾率函數(shù)對線性模型的輸出進(jìn)行變換,得到如下公式: 經(jīng)過變換,嚴(yán)格地講,g(x;w)已經(jīng)不再是一個線性函數(shù),而是由一個線性函數(shù)派生出來的非線性函數(shù),我們通常稱這類函數(shù)為廣義線性函數(shù)。對數(shù)幾率模型本身是一個概率形式,非常適合用對數(shù)似然損失或者交叉熵?fù)p失進(jìn)行訓(xùn)練。 其次,線性模型只能挖掘特征之間的線性組合關(guān)系,無法對更加復(fù)雜、更加強(qiáng)大的非線性組合關(guān)系進(jìn)行建模。為了解決這個問題,我們可以對輸入的各維特征進(jìn)行一些顯式的非線性預(yù)變換(如單維特征的指數(shù)、對數(shù)、多項式變換,以及多維特征的交叉乘積等),或者采用核方法把原特征空間隱式地映射到一個高維的非線性空間,再在高維空間里構(gòu)建線性模型。 核方法的基本思想是通過一個非線性變換,把輸入數(shù)據(jù)映射到高維的希爾伯特空間中,在這個高維空間里,那些在原始輸入空間中線性不可分的問題變得更加容易解決,甚至線性可分。支持向量機(jī)(Support Vector Machine,SVM)[10]是一類最典型的核方法,下面將以支持向量機(jī)為例,對核方法進(jìn)行簡單的介紹。 支持向量機(jī)的基本思想是通過核函數(shù)將原始輸入空間變換成一個高維(甚至是無窮維)的空間,在這個空間里尋找一個超平面,它可以把訓(xùn)練集里的正例和負(fù)例盡最大可能地分開(用更加學(xué)術(shù)的語言描述,就是正負(fù)例之間的間隔最大化)。那么如何才能通過核函數(shù)實現(xiàn)空間的非線性映射呢?讓我們從頭談起。 圖2.6最大化間隔與支持向量機(jī) 以上的數(shù)學(xué)描述等價于如下的優(yōu)化問題:min12w2 為了求解上述有約束的優(yōu)化問題,一種常用的技巧是使用拉格朗日乘數(shù)法將其轉(zhuǎn)換成對偶問題進(jìn)行求解。具體來講,支持向量機(jī)對應(yīng)的對偶問題如下: 至此,我們弄清楚了核函數(shù)是如何和空間變換發(fā)生聯(lián)系的。核函數(shù)可以有很多不同的選擇,表2.1列出了幾種常用的核函數(shù)。 事實上,只要一個對稱函數(shù)所對應(yīng)的核矩陣滿足半正定的條件,它就能作為核函數(shù)使用,并總能找到一個與之對應(yīng)的空間映射。換言之,任何一個核函數(shù)都隱式地定義了一個“再生核希爾伯特空間”(Reproducing Kernel Hilbert Space,RKHS)。在這個空間里,兩個向量的內(nèi)積等于對應(yīng)核函數(shù)的值。 決策樹也是一類常見的機(jī)器學(xué)習(xí)模型,它的基本思想是根據(jù)數(shù)據(jù)的屬性構(gòu)造出樹狀結(jié)構(gòu)的決策模型。一棵決策樹包含一個根節(jié)點、若干內(nèi)部節(jié)點,以及若干葉子節(jié)點。葉子節(jié)點對應(yīng)最終的決策結(jié)果,而其他節(jié)點則針對數(shù)據(jù)的某種屬性進(jìn)行判斷與分支:在這樣的節(jié)點上,會對數(shù)據(jù)的某個屬性(特征)進(jìn)行檢測,依據(jù)檢測結(jié)果把樣本劃分到該節(jié)點的某棵子樹之中。通過決策樹,我們可以從根節(jié)點出發(fā),把一個具體的樣本最終分配到某個葉子節(jié)點上,實現(xiàn)相應(yīng)的預(yù)測功能。 因為在每個節(jié)點上的分支操作是非線性的,因此決策樹可以實現(xiàn)比較復(fù)雜的非線性映射。決策樹算法的目的是根據(jù)訓(xùn)練數(shù)據(jù),學(xué)習(xí)出一棵泛化能力較強(qiáng)的決策樹,也就是說,它能夠很好地把未知樣本分到正確的葉子節(jié)點上。為了達(dá)到這個目的,我們在訓(xùn)練過程中構(gòu)建的決策樹不能太復(fù)雜,否則可能會過擬合到訓(xùn)練數(shù)據(jù)上,而無法正確地處理未知的測試數(shù)據(jù)。常見的決策樹算法包括:分類及回歸樹(CART)[21],ID3算法[11],C4.5算法[22],決策樹樁(Decision Stump)[23]等。這些算法的基本流程都比較類似,包括劃分選擇和剪枝處理兩個基本步驟。 劃分選擇要解決的問題是如何根據(jù)某種準(zhǔn)則在某個節(jié)點上把數(shù)據(jù)集里的樣本分到它的一棵子樹上。常用的準(zhǔn)則有:信息增益、增益率、基尼系數(shù)等。其具體數(shù)學(xué)形式雖有差別,但是核心思想大同小異。這里我們就以信息增益為例進(jìn)行介紹。所謂信息增益,指的是在某個節(jié)點上,用特征j對數(shù)據(jù)集D進(jìn)行劃分得到的樣本集合的純度提升的程度。信息增益的具體數(shù)學(xué)定義如下: 其中,是特征的取值集合,而是特征取值為的那些樣本所組成的子集;Entropy(D)是樣本集合D的信息熵,描述的是D中來自不同類別的樣本的分布情況。不同類別的樣本分布越平均,則信息熵越大,集合純度越低;相反,樣本分布越集中,則信息熵越小,集合純度越高。樣本劃分的目的是找到使得劃分后平均信息熵變得最小的特征,從而使得信息增益最大。 剪枝處理要解決的問題是抑制過擬合。如果決策樹非常復(fù)雜,每個葉子節(jié)點上只對應(yīng)一個訓(xùn)練樣本,一定可以實現(xiàn)信息增益最大化,可這樣的后果是對訓(xùn)練數(shù)據(jù)的過擬合,將導(dǎo)致在測試數(shù)據(jù)上的精度損失。為了解決這個問題,可以采取剪枝的操作降低決策樹的復(fù)雜度。剪枝處理有預(yù)剪枝和后剪枝之分:預(yù)剪枝指的是在決策樹生成過程中,對每個節(jié)點在劃分前先進(jìn)行估計,如果當(dāng)前節(jié)點的劃分不能帶來決策樹泛化性能的提升(通??梢酝ㄟ^一個交叉驗證集來評估泛化能力),則停止劃分并且將當(dāng)前節(jié)點標(biāo)記為葉子節(jié)點;后剪枝指的是先從訓(xùn)練集中生成一棵完整的決策樹,然后自底向上地考察去掉每個節(jié)點(即將該節(jié)點及其子樹合并成為一個葉子節(jié)點)以后泛化能力是否有所提高,若有提高,則進(jìn)行剪枝。 其中,是加權(quán)系數(shù),它既可以在訓(xùn)練過程中根據(jù)當(dāng)前弱學(xué)習(xí)器的準(zhǔn)確程度利用經(jīng)驗公式求得,也可以在訓(xùn)練過程結(jié)束后(各個弱學(xué)習(xí)器都已經(jīng)訓(xùn)練好以后),再利用新的學(xué)習(xí)目標(biāo)通過額外的優(yōu)化手段求得。 有研究表明Boosting在抵抗過擬合方面有非常好的表現(xiàn),也就是說,隨著訓(xùn)練過程的推進(jìn),即便在訓(xùn)練集上已經(jīng)把誤差降到0,更多的迭代還是可以提高模型在測試集上的性能。人們用間隔定理(Margin Theory)[26]來解釋這種現(xiàn)象——隨著迭代進(jìn)一步推進(jìn),雖然訓(xùn)練集上的誤差已經(jīng)不再變化,但是訓(xùn)練樣本上的分類置信度(對應(yīng)于每個樣本點上的間隔)卻仍在不斷變大。到今天為止,Boosting算法,尤其是與決策樹相結(jié)合的算法如梯度提升決策樹(GBDT)[27]仍然在實際應(yīng)用中挑著大梁,是很多數(shù)據(jù)挖掘比賽的奪冠熱門。 神經(jīng)網(wǎng)絡(luò)是一類典型的非線性模型,它的設(shè)計受到生物神經(jīng)網(wǎng)絡(luò)的啟發(fā)。人們通過對大腦生物機(jī)理的研究,發(fā)現(xiàn)其基本單元是神經(jīng)元,每個神經(jīng)元通過樹突從上游的神經(jīng)元那里獲取輸入信號,經(jīng)過自身的加工處理后,再通過軸突將輸出信號傳遞給下游的神經(jīng)元。當(dāng)神經(jīng)元的輸入信號總和達(dá)到一定強(qiáng)度時,就會激活一個輸出信號,否則就沒有輸出信號(如圖2.7a所示)。 圖2.7神經(jīng)元結(jié)構(gòu)與人工神經(jīng)網(wǎng)絡(luò) 但是,由于階躍函數(shù)本身不連續(xù),對于機(jī)器學(xué)習(xí)而言不是一個好的選擇,因此在人們設(shè)計人工神經(jīng)網(wǎng)絡(luò)的時候通常采用連續(xù)的激活函數(shù),比如Sigmoid函數(shù)、雙曲正切函數(shù)(tanh)、校正線性單元(ReLU)等。它們的數(shù)學(xué)形式和函數(shù)形狀分別如圖2.8所示。 ![]() 圖2.8常用的激活函數(shù) 最基本的神經(jīng)網(wǎng)絡(luò)就是把前面描述的神經(jīng)元互相連接起來,形成層次結(jié)構(gòu)(如圖2.9所示),我們稱之為全連接神經(jīng)網(wǎng)絡(luò)。對于圖2.9中這個網(wǎng)絡(luò)而言,最左邊對應(yīng)的是輸入節(jié)點,最右邊對應(yīng)的是輸出節(jié)點,中間的三層節(jié)點都是隱含節(jié)點(我們把相應(yīng)的層稱為隱含層)。每一個隱含節(jié)點都會把來自上一層節(jié)點的輸出進(jìn)行加權(quán)求和,再經(jīng)過一個非線性的激活函數(shù),輸出給下一層。而輸出層則一般采用簡單的線性函數(shù),或者進(jìn)一步使用softmax函數(shù)將輸出變成概率形式。 ![]() 圖2.9全連接神經(jīng)網(wǎng)絡(luò) 全連接神經(jīng)網(wǎng)絡(luò)雖然看起來簡單,但它有著非常強(qiáng)大的表達(dá)能力。早在20世紀(jì)80年代,人們就證明了著名的通用逼近定理(Universal Approximation Theorem[28])。最早的通用逼近定理是針對Sigmoid激活函數(shù)證明的,一般情況下的通用逼近定理在2001年被證明[29]。其數(shù)學(xué)描述是,在激活函數(shù)滿足一定條件的前提下,任意給定輸入空間中的一個連續(xù)函數(shù)和近似精度ε,存在自然數(shù)Nε和一個隱含節(jié)點數(shù)為Nε的單隱層全連接神經(jīng)網(wǎng)絡(luò),對這個連續(xù)函數(shù)的-逼近精度小于ε。這個定理非常重要,它告訴我們?nèi)B接神經(jīng)網(wǎng)絡(luò)可以用來解決非常復(fù)雜的問題,當(dāng)其他的模型(如線性模型、支持向量機(jī)等)無法逼近這類問題的分類界面時,神經(jīng)網(wǎng)絡(luò)仍然可以所向披靡、得心應(yīng)手。近年來,人們指出深層網(wǎng)絡(luò)的表達(dá)力更強(qiáng),即表達(dá)某些邏輯函數(shù),深層網(wǎng)絡(luò)需要的隱含節(jié)點數(shù)比淺層網(wǎng)絡(luò)少很多[30]。這對于模型存儲和優(yōu)化而言都是比較有利的,因此人們越來越關(guān)注和使用更深層的神經(jīng)網(wǎng)絡(luò)。 全連接神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中常常選取交叉熵?fù)p失函數(shù),并且使用梯度下降法來求解模型參數(shù)(實際中為了減少每次模型更新的代價,使用的是小批量的隨機(jī)梯度下降法)。要注意的是,雖然交叉熵?fù)p失是個凸函數(shù),但由于多層神經(jīng)網(wǎng)絡(luò)本身的非線性和非凸本質(zhì),損失函數(shù)對于模型參數(shù)而言其實是嚴(yán)重非凸的。在這種情況下,使用梯度下降法求解通常只能找到局部最優(yōu)解。為了解決這個問題,人們在實踐中常常采用多次隨機(jī)初始化或者模擬退火等技術(shù)來尋找全局意義下更優(yōu)的解。近年有研究表明,在滿足一定條件時,如果神經(jīng)網(wǎng)絡(luò)足夠深,它的所有局部最優(yōu)解其實都和全局最優(yōu)解具有非常類似的損失函數(shù)值[31]。換言之,對于深層神經(jīng)網(wǎng)絡(luò)而言,“只能找到局部最優(yōu)解”未見得是一個致命的缺陷,在很多時候這個局部最優(yōu)解已經(jīng)足夠好,可以達(dá)到非常不錯的實際預(yù)測精度。 除了局部最優(yōu)解和全局最優(yōu)解的憂慮之外,其實關(guān)于使用深層神經(jīng)網(wǎng)絡(luò)還有另外兩個困難。 1. 首先,因為深層神經(jīng)網(wǎng)絡(luò)的表達(dá)能力太強(qiáng),很容易過擬合到訓(xùn)練數(shù)據(jù)上,導(dǎo)致其在測試數(shù)據(jù)上表現(xiàn)欠佳。為了解決這個問題,人們提出了很多方法,包括DropOut[32]、數(shù)據(jù)擴(kuò)張(Data Augmentation)[33]、批量歸一化(Batch Normalization)[34]、權(quán)值衰減(Weight Decay)[35]、提前終止(Early Stopping)[36]等,通過在訓(xùn)練過程中引入隨機(jī)性、偽訓(xùn)練樣本或限定模型空間來提高模型的泛化能力。 2. 其次,當(dāng)網(wǎng)絡(luò)很深時,輸出層的預(yù)測誤差很難順利地逐層傳遞下去,從而使得靠近輸入層的那些隱含層無法得到充分的訓(xùn)練。這個問題又稱為“梯度消減”問題\[37\]。研究表明,梯度消減主要是由神經(jīng)網(wǎng)絡(luò)的非線性激活函數(shù)帶來的,因為非線性激活函數(shù)導(dǎo)數(shù)的模都不太大,在使用梯度下降法進(jìn)行優(yōu)化的時候,非線性激活函數(shù)導(dǎo)數(shù)的逐層連乘會出現(xiàn)在梯度的計算公式中,從而使梯度的幅度逐層減小。為了解決這個問題,人們在跨層之間引入了線性直連,或者由門電路控制的線性通路[38],以期為梯度信息的順利回傳提供便利。 除了全連接神經(jīng)網(wǎng)絡(luò)以外,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[13]也是十分常用的網(wǎng)絡(luò)結(jié)構(gòu),尤其適用于處理圖像數(shù)據(jù)。 卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計是受生物視覺系統(tǒng)的啟發(fā)。研究表明每個視覺細(xì)胞只對于局部的小區(qū)域敏感,而大量視覺細(xì)胞平鋪在視野中,可以很好地利用自然圖像的空間局部相關(guān)性。與此類似,卷積神經(jīng)網(wǎng)絡(luò)也引入局部連接的概念,并且在空間上平鋪具有同樣參數(shù)結(jié)構(gòu)的濾波器(也稱為卷積核)。這些濾波器之間有很大的重疊區(qū)域,相當(dāng)于有個空域滑窗,在滑窗滑到不同空間位置時,對這個窗內(nèi)的信息使用同樣的濾波器進(jìn)行分析。這樣雖然網(wǎng)絡(luò)很大,但是由于不同位置的濾波器共享參數(shù),其實模型參數(shù)的個數(shù)并不多,參數(shù)效率很高。 圖2.10描述了一個2×2的卷積核將輸入圖像進(jìn)行卷積的例子。所謂卷積就是卷積核的各個參數(shù)和圖像中空間位置對應(yīng)的像素值進(jìn)行點乘再求和。經(jīng)過了卷積操作之后,會得到一個和原圖像類似大小的新圖層,其中的每個點都是卷積核在某空間局部區(qū)域的作用結(jié)果(可能對應(yīng)于提取圖像的邊緣或抽取更加高級的語義信息)。我們通常稱這個新圖層為特征映射(feature map)。對于一幅圖像,可以在一個卷積層里使用多個不同的卷積核,從而形成多維的特征映射;還可以把多個卷積層級聯(lián)起來,不斷抽取越來越復(fù)雜的語義信息。 ![]() 圖2.10卷積過程示意圖 除了卷積以外,池化也是卷積神經(jīng)網(wǎng)絡(luò)的重要組成部分。池化的目的是對原特征映射進(jìn)行壓縮,從而更好地體現(xiàn)圖像識別的平移不變性,并且有效擴(kuò)大后續(xù)卷積操作的感受野。池化與卷積不同,一般不是參數(shù)化的模塊,而是用確定性的方法求出局部區(qū)域內(nèi)的平均值、中位數(shù),或最大值、最小值(近年來,也有一些學(xué)者開始研究參數(shù)化的池化算子[39])。圖2.11描述了對圖像局部進(jìn)行2×2的最大值池化操作后的效果。 圖2.11池化操作示意圖 在實際操作中,可以把多個卷積層和多個池化層交替級聯(lián),從而實現(xiàn)從原始圖像中不斷抽取高層語義特征的目的。在此之后,還可以再級聯(lián)一個全連接網(wǎng)絡(luò),在這些高層語義特征的基礎(chǔ)上進(jìn)行模式識別或預(yù)測。這個過程如圖2.12所示。 圖2.12多層卷積神經(jīng)網(wǎng)絡(luò)(N1,N2,N3表示對應(yīng)單元重復(fù)的次數(shù)) 實踐中,人們開始嘗試使用越來越深的卷積神經(jīng)網(wǎng)絡(luò),以達(dá)到越來越好的圖像分類效果。圖2.13描述了近年來人們在ImageNet數(shù)據(jù)集上不斷通過增加網(wǎng)絡(luò)深度刷新錯誤率的歷程。其中2015年來自微軟研究院的深達(dá)152層的ResNet網(wǎng)絡(luò)[40],在ImageNet數(shù)據(jù)集上取得了低達(dá)3.57%的Top-5錯誤率,在特定任務(wù)上超越了普通人類的圖像識別能力。 ![]() 圖2.13卷積神經(jīng)網(wǎng)絡(luò)不斷刷新ImageNet數(shù)據(jù)集的識別結(jié)果 ![]() 圖2.14殘差學(xué)習(xí) 隨著卷積神經(jīng)網(wǎng)絡(luò)變得越來越深,前面提到的梯度消減問題也隨之變得越來越顯著,給模型的訓(xùn)練帶來了很大難度。為了解決這個問題,近年來人們提出了一系列的方法,包括殘差學(xué)習(xí)[40-41](如圖2.14所示)、高密度網(wǎng)絡(luò)[42](如圖2.15所示)等。實驗表明:這些方法可以有效地把訓(xùn)練誤差傳遞到靠近輸入層的地方,為深層卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練奠定了堅實的實踐基礎(chǔ)。 ![]() 圖2.15高密度網(wǎng)絡(luò) 很顯然,這個式子里蘊(yùn)含著對于記憶單元的循環(huán)迭代。在實際應(yīng)用中,無限長時間的循環(huán)迭代并沒有太大意義。比如,當(dāng)我們閱讀文字的時候,每個句子的平均長度可能只有十幾個字。因此,我們完全可以把循環(huán)神經(jīng)網(wǎng)絡(luò)在時域上展開,然后在展開的網(wǎng)絡(luò)上利用梯度下降法來求得參數(shù)矩陣U、W、V,如圖2.16所示。用循環(huán)神經(jīng)網(wǎng)絡(luò)的術(shù)語,我們稱之為時域反向傳播(Back Propagation Through Time,BPTT)。 ![]() 圖2.16循環(huán)神經(jīng)網(wǎng)絡(luò)的展開 和全連接神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)類似,當(dāng)循環(huán)神經(jīng)網(wǎng)絡(luò)時域展開以后,也會遇到梯度消減的問題。為了解決這個問題,人們提出了一套依靠門電路來控制信息流通的方法。也就是說,在循環(huán)神經(jīng)網(wǎng)絡(luò)的兩層之間同時存在線性和非線性通路,而哪個通路開、哪個通路關(guān)或者多大程度上開關(guān)則由一組門電路來控制。這個門電路也是帶參數(shù)并且這些參數(shù)在神經(jīng)網(wǎng)絡(luò)的優(yōu)化過程中是可學(xué)習(xí)的。比較著名的兩類方法是LSTM[43]和GRU[44](如圖2.17所示)。GRU相比LSTM更加簡單一些,LSTM有三個門電路(輸入門、忘記門、輸出門),而GRU則有兩個門電路(重置門、更新門),二者在實際中的效果類似,但GRU的訓(xùn)練速度要快一些,因此近年來有變得更加流行的趨勢。 ![]() 圖2.17循環(huán)神經(jīng)網(wǎng)絡(luò)中的門電路 循環(huán)神經(jīng)網(wǎng)絡(luò)可以對時間序列進(jìn)行有效建模,根據(jù)它所處理的序列的不同情況,可以把循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用場景分為點到序列、序列到點和序列到序列等類型(如圖2.18所示)。 ![]() 圖2.18循環(huán)神經(jīng)網(wǎng)絡(luò)的不同應(yīng)用 下面分別介紹幾種循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用場景。 (1)圖像配文字:點到序列的循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用 在這個應(yīng)用中,輸入的是圖像的編碼信息(可以通過卷積神經(jīng)網(wǎng)絡(luò)的中間層獲得,也可以直接采用卷積神經(jīng)網(wǎng)絡(luò)預(yù)測得到的類別標(biāo)簽),輸出則是靠循環(huán)神經(jīng)網(wǎng)絡(luò)來驅(qū)動產(chǎn)生的一句自然語言文本,用以描述該圖像包含的內(nèi)容。 (2)情感分類:序列到點的循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用 在這個應(yīng)用中,輸入的是一段文本信息(時序序列),而輸出的是情感分類的標(biāo)簽(正向情感或反向情感)。循環(huán)神經(jīng)網(wǎng)絡(luò)用于分析輸入的文本,其隱含節(jié)點包含了整個輸入語句的編碼信息,再通過一個全連接的分類器把該編碼信息映射到合適的情感類別之中。 (3)機(jī)器翻譯:序列到序列的循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用 在這個應(yīng)用中,輸入的是一個語言的文本(時序序列),而輸出的則是另一個語言的文本(時序序列)。循環(huán)神經(jīng)網(wǎng)絡(luò)在這個應(yīng)用中被使用了兩次:第一次是用來對輸入的源語言文本進(jìn)行分析和編碼;而第二次則是利用這個編碼信息驅(qū)動輸出目標(biāo)語言的一段文本。 在使用序列到序列的循環(huán)神經(jīng)網(wǎng)絡(luò)實現(xiàn)機(jī)器翻譯時,在實踐中會遇到一個問題。輸出端翻譯結(jié)果中的某個詞其實對于輸入端各個詞匯的依賴程度是不同的,通過把整個輸入句子編碼到一個向量來驅(qū)動輸出的句子,會導(dǎo)致信息粒度太粗糙,或者長線的依賴關(guān)系被忽視。為了解決這個問題,人們在標(biāo)準(zhǔn)的序列到序列循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入了所謂“注意力機(jī)制”。在它的幫助下,輸出端的每個詞的產(chǎn)生會利用到輸入端不同詞匯的編碼信息。而這種注意力機(jī)制也是帶參數(shù)的,可以在整個循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中自動習(xí)得。 神經(jīng)網(wǎng)絡(luò)尤其是深層神經(jīng)網(wǎng)絡(luò)是一個高速發(fā)展的研究領(lǐng)域。隨著整個學(xué)術(shù)界和工業(yè)界的持續(xù)關(guān)注,這個領(lǐng)域比其他的機(jī)器學(xué)習(xí)領(lǐng)域獲得了更多的發(fā)展機(jī)會,不斷有新的網(wǎng)絡(luò)結(jié)構(gòu)或優(yōu)化方法被提出。如果讀者對于這個領(lǐng)域感興趣,請關(guān)注每年發(fā)表在機(jī)器學(xué)習(xí)主流學(xué)術(shù)會議上的最新論文。 參考文獻(xiàn) [1]Cao Z, Qin T, Liu T Y, et al. Learning to Rank: From Pairwise Approach to Listwise Approach\[C\]//Proceedings of the 24th international conference on Machine learning. ACM, 2007: 129-136. [2]Liu T Y. Learning to rank for information retrieval\[J\]. Foundations and Trends in Information Retrieval, 2009, 3(3): 225-331. [3]Kotsiantis S B, Zaharakis I, Pintelas P. Supervised Machine Learning: A Review of Classification Techniques\[J\]. Emerging Artificial Intelligence Applications in Computer Engineering, 2007, 160: 3-24. [4]Chapelle O, Scholkopf B, Zien A. Semi-supervised Learning (chapelle, o. et al., eds.; 2006)\[J\]. IEEE Transactions on Neural Networks, 2009, 20(3): 542-542. [5]He D, Xia Y, Qin T, et al. Dual learning for machine translation\[C\]//Advances in Neural Information Processing Systems. 2016: 820-828. [6]Hastie T, Tibshirani R, Friedman J. Unsupervised Learning\[M\]//The Elements of Statistical Learning. New York: Springer, 2009: 485-585. [7]Sutton R S, Barto A G. Reinforcement Learning: An Introduction\[M\]. Cambridge: MIT press, 1998. [8]Seber G A F, Lee A J. Linear Regression Analysis\[M\]. John Wiley & Sons, 2012. [9]Harrell F E. Ordinal Logistic Regression\[M\]//Regression modeling strategies. New York: Springer, 2001: 331-343. [10]Cortes C, Vapnik V. Support-Vector Networks\[J\]. Machine Learning, 1995, 20(3): 273-297. [11]Quinlan J R. Induction of Decision Trees\[J\]. Machine Learning, 1986, 1(1): 81-106. [12]McCulloch, Warren; Walter Pitts (1943). 'A Logical Calculus of Ideas Immanent in Nervous Activity' \[EB\]. Bulletin of Mathematical Biophysics. 5(4): 115-133. [13]LeCun Y, Jackel L D, Bottou L, et al. Learning Algorithms for Classification: A Comparison on Handwritten Digit Recognition\[J\]. Neural networks: The Statistical Mechanics Perspective, 1995, 261: 276. [14]Elman J L. Finding structure in time\[J\]. Cognitive Science, 1990, 14(2): 179-211. [15]周志華. 機(jī)器學(xué)習(xí)[M]. 北京:清華大學(xué)出版社,2017. [16]Tom Mitchell. Machine Learning\[M\]. McGraw-Hill, 1997. [17]Nasrabadi N M. Pattern Recognition and Machine Learning\[J\]. Journal of Electronic Imaging, 2007, 16(4): 049901. [18]Voorhees E M. The TREC-8 Question Answering Track Report\[C\]//Trec. 1999, 99: 77-82. [19]Wang Y, Wang L, Li Y, et al. A Theoretical Analysis of Ndcg Type Ranking Measures\[C\]//Conference on Learning Theory. 2013: 25-54. [20]Devroye L, Gyrfi L, Lugosi G. A Probabilistic Theory of Pattern Recognition\[M\]. Springer Science & Business Media, 2013. [21]Breiman L, Friedman J, Olshen R A, et al. Classification and Regression Trees\[J\]. 1984. [22]Quinlan J R. C4. 5: Programs for Machine Learning\[M\]. Morgan Kaufmann, 1993. [23]Iba W, Langley P. Induction of One-level Decision Trees\[J\]//Machine Learning Proceedings 1992. 1992: 233-240. [24]Breiman L. Bagging predictors\[J\]. Machine Learning, 1996, 24(2): 123-140. [25]Schapire R E. The Strength of Weak Learnability\[J\]. Machine Learning, 1990, 5(2): 197-227. [26]Schapire R E, Freund Y, Bartlett P, et al. Boosting the Margin: A New Explanation for The Effectiveness of Voting Methods\[J\]. Annals of Statistics, 1998: 1651-1686. [27]Friedman J H. Greedy Function Approximation: A Gradient Boosting Machine\[J\]. Annals of statistics, 2001: 1189-1232. [28]Gybenko G. Approximation by Superposition of Sigmoidal Functions\[J\]. Mathematics of Control, Signals and Systems, 1989, 2(4): 303-314. [29]Csáji B C. Approximation with Artificial Neural Networks\[J\]. Faculty of Sciences, Etvs Lornd University, Hungary, 2001, 24: 48. [30]Sun S, Chen W, Wang L, et al. On the Depth of Deep Neural Networks: A Theoretical View\[C\]//AAAI. 2016: 2066-2072. [31]Kawaguchi K. Deep Learning Without Poor Local Minima\[C\]//Advances in Neural Information Processing Systems. 2016: 586-594. [32]Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: A Simple Way to Prevent Neural Networks from Overfitting\[J\]. The Journal of Machine Learning Research, 2014, 15(1): 1929-1958. [33]Tanner M A, Wong W H. The Calculation of Posterior Distributions by Data Augmentation\[J\]. Journal of the American statistical Association, 1987, 82(398): 528-540. [34]Ioffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift\[C\]//International Conference on Machine Learning. 2015: 448-456. [35]Krogh A, Hertz J A. A Simple Weight Decay Can Improve Generalization\[C\]//Advances in neural information processing systems. 1992: 950-957. [36]Prechelt L. Automatic Early Stopping Using Cross Validation: Quantifying the Criteria\[J\]. Neural Networks, 1998, 11(4): 761-767. [37]Bengio Y, Simard P, Frasconi P. Learning Long-term Dependencies with Gradient Descent is Difficult\[J\]. IEEE Transactions on Neural Networks, 1994, 5(2): 157-166. [38]Srivastava R K, Greff K, Schmidhuber J. Highway networks\[J\]. arXiv preprint arXiv:1505.00387, 2015. [39]Lin M, Chen Q, Yan S. Network in Network\[J\]. arXiv preprint arXiv:1312.4400, 2013. [40]He K, Zhang X, Ren S, et al. Deep Residual Learning for Image Recognition\[C\]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 770-778. [41]He K, Zhang X, Ren S, et al. Identity Mappings in Deep Residual Networks\[C\]//European Conference on Computer Vision. Springer, 2016: 630-645. [42]Huang G, Liu Z, Weinberger K Q, et al. Densely Connected Convolutional Networks\[C\]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017, 1(2): 3. [43]Hochreiter S, Schmidhuber J. Long Short-term Memory\[J\]. Neural Computation, 1997, 9(8): 1735-1780. [44]Cho K, Van Merrinboer B, Gulcehre C, et al. Learning Phrase Representations Using RNN Encoder-decoder for Statistical Machine Translation\[J\]. arXiv preprint arXiv:1406.1078, 2014. [45]Cauchy A. Méthode générale pour la résolution des systemes d’équations simultanées\[J\]. Comp. Rend. Sci. Paris, 1847, 25(1847): 536-538. [46]Hestenes M R, Stiefel E. Methods of Conjugate Gradients for Solving Linear Systems\[M\]. Washington, DC: NBS, 1952. [47]Wright S J. Coordinate Descent Algorithms\[J\]. Mathematical Programming, 2015, 151(1): 3-34. [48]Polyak B T. Newton’s Method and Its Use in Optimization\[J\]. European Journal of Operational Research, 2007, 181(3): 1086-1096. [49]Dennis, Jr J E, Moré J J. Quasi-Newton Methods, Motivation and Theory\[J\]. SIAM Review, 1977, 19(1): 46-89. [50]Frank M, Wolfe P. An Algorithm for Quadratic Programming\[J\]. Naval Research Logistics (NRL), 1956, 3(1-2): 95-110. [51]Nesterov, Yurii. A method of solving a convex programming problem with convergence rate O (1/k2)\[J\]. Soviet Mathematics Doklady, 1983, 27(2). [52]Karmarkar N. A New Polynomial-time Algorithm for Linear Programming\[C\]//Proceedings of the Sixteenth Annual ACM Symposium on Theory of Computing. ACM, 1984: 302-311. [53]Geoffrion A M. Duality in Nonlinear Programming: A Simplified Applications-oriented Development\[J\]. SIAM Review, 1971, 13(1): 1-37. [54]Johnson R, Zhang T. Accelerating Stochastic Gradient Descent Using Predictive Variance Reduction\[C\]//Advances in Neural Information Processing Systems. 2013: 315-323. [55]Sutskever I, Martens J, Dahl G, et al. On the Importance of Initialization and Momentum in Deep Learning\[C\]//International Conference on Machine Learning. 2013: 1139-1147. [56]Duchi J, Hazan E, Singer Y. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization\[J\]. Journal of Machine Learning Research, 2011, 12(7): 2121-2159. [57]Tieleman T, Hinton G. Lecture 6.5-rmsprop: Divide the Gradient By a Running Average of Its Recent Magnitude\[J\]. COURSERA: Neural networks for machine learning, 2012, 4(2): 26-31. [58]Zeiler M D. ADADELTA: An Adaptive Learning Rate Method\[J\]. arXiv preprint arXiv:1212.5701, 2012. [59]Kingma D P, Ba J. Adam: A Method for Stochastic Optimization\[J\]. arXiv preprint arXiv:1412.6980, 2014. [60]Reddi S, Kale S, Kumar S. On the Convergence of Adam and Beyond\[C\]// International Conference on Learning Representations, 2018. [61]Hazan E, Levy K Y, Shalev-Shwartz S. On Graduated Optimization for Stochastic Non-convex Problems\[C\]//International Conference on Machine Learning. 2016: 1833-1841. ![]() |
|
|