(1989)Generalization and Network Design Strategies

Yan Lecun在這篇論文主要討論了神經(jīng)網(wǎng)絡(luò)(或者更普遍的監(jiān)督學(xué)習(xí)模型)的泛化性能和一些針對具體問題設(shè)計神經(jīng)網(wǎng)絡(luò)的技巧。

這篇論文的一個主要觀點是:處理實際問題時,當(dāng)針對該問題的先驗知識被加入到監(jiān)督模型的設(shè)計中時,設(shè)計出的模型通常能在該問題上面獲的更好的泛化性能。

該觀點實際上要說的就是具體問題應(yīng)該具體分析,沒有一個模型能同時處理所有的問題,就算是最聰明的人類大腦,不還是由不同的區(qū)域如視覺區(qū)、聽覺區(qū)等組成嘛,每個區(qū)域負(fù)責(zé)不同類型的任務(wù)。

比如針對視覺識別問題,離得越近的區(qū)域,圖像內(nèi)容的相關(guān)性越大,先提取圖像的局部信息,然后再將局部信息進一步組合,可以得到更高級的特征,這就是視覺識別問題的先驗知識。那CNN網(wǎng)絡(luò)就是將該先驗知識加入到模型設(shè)計中的完美體現(xiàn)。

1. 監(jiān)督網(wǎng)絡(luò)的泛化性能(generalization)

泛化性能和哪些因素有關(guān)?如何提高模型的泛化性能?

通常情況下,網(wǎng)絡(luò)的泛化性能取決于假設(shè)空間的大小/網(wǎng)絡(luò)中自由參數(shù)的數(shù)量訓(xùn)練樣本的大小,減小網(wǎng)絡(luò)中自由參數(shù)的數(shù)量、增加訓(xùn)練樣本的數(shù)量,能有效提高網(wǎng)絡(luò)的泛化性能。

對此,論文中舉了曲線擬合的例子:如果用一個曲線模型(如多項式)去擬合一堆樣本點,當(dāng)模型的參數(shù)數(shù)量與樣本點數(shù)量相當(dāng)?shù)臅r候,構(gòu)造的曲線能完美地擬合所有訓(xùn)練樣本點,但是對于新的測試點,擬合出的曲線表現(xiàn)通常會很差,特別是訓(xùn)練樣本點中有很多噪聲/異常點時。

相反,當(dāng)模型的參數(shù)數(shù)量較小時,曲線不必去精確擬合每一個樣本點,而是去學(xué)習(xí)訓(xùn)練樣本通用的大致規(guī)律,從而對新的測試樣本進行大致正確的預(yù)測。

其實,將具體任務(wù)的先驗知識加入到網(wǎng)絡(luò)設(shè)計中,通常能夠有效地減少網(wǎng)絡(luò)的自由參數(shù)數(shù)量,自然也就能達到較好的泛化性能了。

2. 提高網(wǎng)絡(luò)泛化性能的常用方式

那如何減小網(wǎng)絡(luò)中自由參數(shù)的數(shù)量以提高泛化性能呢?文中提到了三種方法:

第一種方法是在網(wǎng)絡(luò)的訓(xùn)練過程中,動態(tài)地刪除掉一些無用的連接(useless connections),這可以通過在損失函數(shù)(cost function)中增加一項,用于懲罰那些擁有過多參數(shù)的網(wǎng)絡(luò)。也就是正則化思想。

第二種方法是權(quán)重共享(weight sharing),指的是使用單個參數(shù)(weight)控制多個連接(connections)。權(quán)重共享可以被解釋為在這些連接強度上面施加相同的限制(contraints)。

第三種方法實質(zhì)上是權(quán)重共享的泛化,稱作權(quán)重空間轉(zhuǎn)換(Weight-Space Transformation, WST )。WST基于這樣一個事實:在學(xué)習(xí)過程中,模型參數(shù)的優(yōu)化并不一定要在權(quán)重空間中(weight space)執(zhí)行,可以在任何適合該優(yōu)化任務(wù)的參數(shù)空間中執(zhí)行,只要權(quán)重空間可以由該參數(shù)空間通過已知的轉(zhuǎn)換公式(transformation)計算得到,同時該轉(zhuǎn)換公式的雅克比矩陣(Jacobian matrix)已知(因為在反向傳播計算損失函數(shù)關(guān)于參數(shù)空間的梯度時需要用到)。

3. 具體問題舉例:數(shù)字識別

文中第三部分,針對一個數(shù)字識別問題,設(shè)計了5種不同的神經(jīng)網(wǎng)絡(luò)模型,每個模型擁有不同大小的模型參數(shù)數(shù)量,此外,一部分模型中加入了該任務(wù)的一些先驗知識。并通過實驗結(jié)果驗證了前面提出的主要觀點。

3.1 數(shù)據(jù)集

數(shù)字識別問題(識別數(shù)字0-9,和MNIST類似的分類問題)的數(shù)據(jù)集特點如下:

  • 包含480張數(shù)字圖片,其中320張作為訓(xùn)練集(training set)和160張測試集(test set);
  • 每張圖像大小是16x16,是由工作人員用鼠標(biāo)作畫的位圖(bitmap),部分圖片如下所示:
3.2 激活函數(shù)和損失函數(shù)

神經(jīng)網(wǎng)絡(luò)所用的激活函數(shù)是雙曲正切函數(shù)

其中A和S是超參數(shù),論文中A=1.7159,S=2/3。

雙曲正切函數(shù)的表達式和圖像如下:


網(wǎng)絡(luò)的損失函數(shù)用的是均方誤差(mean squared error):


下面是針對數(shù)字識別問題設(shè)計的5個模型的細(xì)節(jié):

Net-1: A single layer network
  • Net-1是一個單層網(wǎng)絡(luò),輸入向量和權(quán)重向量的點積,再接一個激活函數(shù),直接得到輸出結(jié)果,這實質(zhì)上是一個線性模型;
  • Net-1包含了2570個模型參數(shù)(16x16x10+10=2570,包含bias);
  • 經(jīng)過訓(xùn)練,Net-1在測試集上面的準(zhǔn)確率是72%-80%。
Net-2: A two-layer, fully connected network
  • Net-2在Net-1的基礎(chǔ)上增加了一個隱藏層H1,H1包含12個神經(jīng)元,實質(zhì)上是一個多層感知機(MLP);
  • Net-2包含3240個模型參數(shù)(按道理應(yīng)該是16x16x12+12+12x10+10=3214個模型參數(shù)???沒懂。。。);
  • 經(jīng)過訓(xùn)練,Net-2在測試集上面的準(zhǔn)確率達到了87%;
  • 文中提到,Net-2在泛化性能上面的標(biāo)準(zhǔn)偏差比Net-1要大許多,表明網(wǎng)絡(luò)處于欠定狀態(tài)(underdetermined),進一步指出Net-2模型太大,即擁有太多的自由參數(shù)。
Net-3: A fully-connected, 3-layer network

前面的兩個網(wǎng)絡(luò)都是全連接網(wǎng)絡(luò)。

文章中指出,之前在視覺識別任務(wù)方面的工作已經(jīng)證明了:對于圖像識別這類任務(wù),可以先提取局部特征,然后將其結(jié)合成更高級的特征。因此,對于數(shù)字識別的問題,網(wǎng)絡(luò)的隱藏層可以先提取輸入圖像的局部特征,然后進一步結(jié)合成更高級特征,即將數(shù)字識別任務(wù)的先驗知識加入到Net-3的設(shè)計中。

Net-1、Net-2和Net-3的模型結(jié)構(gòu)如下圖所示:


Net-3包含了兩個單通道的隱藏層H1和H2,實質(zhì)上是不共享權(quán)重的卷積操作,根據(jù)論文:

  • H1卷積層采用了3x3的卷積核,得到8x8大小的feature map;
  • H2卷積層采用5x5的卷積核,得到4x4大小的feature map;
  • H2全連接到包含10個神經(jīng)元的輸出層,整個Net-3包含1226個模型參數(shù),解釋一下,因為Net-3Z中的卷積操作不共享權(quán)重,因此總的模型參數(shù)=(3x3x8x8+8x8)+(5x5x4x4+4x4)+(4x4x10+10)=1226。
  • Net-3在測試集上面的準(zhǔn)確率比Net-2稍好,達到了88.5%。但由于Net-3比Net-2小了接近3倍,因此速度快了許多,同時Net-3的泛化標(biāo)準(zhǔn)偏差(???也不太懂)比Net-2減小了許多。
Net-4: A constrained network

Net-4的設(shè)計依據(jù)是:圖像的目標(biāo)在不同位置通常包含多個不同的特征,因此有必要同時使用一組特征檢測器(feature detectors)用于檢測輸入圖像中的不同特征。

另外,對于圖像分類問題,目標(biāo)特征的精確位置信息不太重要,只需要保留特征的大致位置信息,以便接下來的卷積層用于進一步組合,得到更高級的特征。這其實就是每一個卷積層都進行了下采樣操作的原因(16-->8,8-->4),因為逐漸的下采樣能保留特征大致的位置信息,更重要的是,隨著每一層的feature map逐漸減小,后面的全連接層的權(quán)重參數(shù)數(shù)量會大大減?。ㄓ兄谔岣吣P偷姆夯阅埽?。

Net-4的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:


Net-4采用了和Net-3相似的設(shè)計,包括每個卷積層的卷積核大小,以及feature map的大小。相比于Net-3,Net-4具有如下改進:

  • 在H1卷積層使用了兩組卷積,得到2個8x8的feature map,試圖捕獲輸入圖像的不同特征;
  • H1中,同一張feature map中的所有單元(units)分享同一組卷積權(quán)重(權(quán)重共享),用于檢測圖像中不同位置的相同特征,但是使用不同的bias。
  • H2中的卷積不共享卷積權(quán)重;
  • 這樣,總的模型參數(shù)=(3x3x2 + 8x8x2) + (4x4x(5x5+5x5+1)) + (4x4x10+10) =1132;
  • Net-4在測試集上面的準(zhǔn)確率達到了94%。
Net-5: A network with hierarchical feature extractors

既然Net-4中的卷積權(quán)重共享和多個特征檢測器(多通道的feature map)效果不錯,那Net-5在Net-4基礎(chǔ)上更進一步:

  • H1和H2的卷積操作都采用權(quán)重共享,H1還是采用2個feature map,但H2使用了4個feature map;
  • 這樣,總的模型參數(shù)=(3x3x2 + 8x8x2) +(5x5x2x4 + 64) + (4x4x4x10 + 10)=1060。
  • Net-5在測試集上面的準(zhǔn)確率達到了98.4%,而且訓(xùn)練速度比前面的版本更快,表明使用多個層級、多組權(quán)重共享的特征檢測器的效果相當(dāng)不錯。

5個模型的信息總結(jié)在下面表格中:


4. 總結(jié)

當(dāng)設(shè)計監(jiān)督學(xué)習(xí)模型來解決具體問題時,重復(fù)這篇論文的主要觀點:處理實際問題時,當(dāng)針對該問題的先驗知識被加入到監(jiān)督模型的設(shè)計中時,設(shè)計出的模型通常能在該問題上面獲的更好的泛化性能。

當(dāng)然,某個問題的先驗知識具體指什么?如何將先驗知識加入到監(jiān)督學(xué)習(xí)模型的設(shè)計中,這不是一個簡單的問題。

但論文中至少證明了,針對圖像識別任務(wù),作者Yan LeCun大神成功將圖像識別任務(wù)的先驗知識(先提取局部特征,再進一步可以結(jié)合成更高級特征這一先驗知識)加入到了神經(jīng)網(wǎng)絡(luò)的設(shè)計中,即實驗中的Net-3、Net-4、和Net-5,并且獲得了優(yōu)秀的泛化性能。這可能就是CNN網(wǎng)絡(luò)最初的設(shè)計初衷吧。

從這篇論文中大致可以了解到,現(xiàn)在火的不行的CNN網(wǎng)絡(luò),在大約30年前(1989)是如何被一步步探索出來的。而且,當(dāng)時就出現(xiàn)的專業(yè)術(shù)語如權(quán)重共享(weight sharing)、感受野(receptive field)等,一直被沿用至今。另外還有如激活函數(shù)(tanh)、反向傳播(Back-Propagation)算法、損失函數(shù)(cost function)、數(shù)據(jù)集劃分時的訓(xùn)練集(training set)、測試集(test set),甚至還有數(shù)據(jù)增強(data augmentation)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容