本文是作者這幾天翻譯的一篇經典的ELM文章,是第一稿,所以有很多錯誤以及不足之處。
另外由於此編輯器不支援MathType所以好多公式沒有顯示出來,原稿是word文件。
聯絡:250101249@qq.com可以獲得原稿。
轉載請註明出處
2019-01-20 22:50:33
極限學習機:一個新的前饋神經網路的學習方案
摘要:很明顯,前饋神經網路的學習速度通常遠遠低於要求,並且在過去幾十年中它一直是其應用的主要瓶頸。其中兩個主要的原因是:1)緩慢的基於梯度下降的演算法被廣泛用於訓練神經網路。2)網路中所有的引數都是使用這種演算法迭代求解。不同於傳統的實踐方案,本文提出了一個針對前饋神經網路中單一隱含層的極限學習機演算法,其可以自動選擇輸入權重,並分析決定該演算法的輸出權重。理論上,該演算法可以以極快的學習速度提供最佳的泛化表現。基於真實世界基準函式逼近和分類問題(包括大型複雜應用)的實驗結果表明,新演算法在某些情況下可以產生最佳的泛化效能,並且可以比傳統的前饋神經網路學習演算法學得更快。
第一部分:介紹
從數學的角度,關於前饋神經網路近似能力主要集中在兩方面:在緊集上的通用逼近以及在有限集上的近似。許多研究者已經探索了在多層前饋神經網路的通用近似。在實際例子中,神經網路通常使用有限集進行訓練。為了在有限訓練集上的功能近似,Huang 和Babri展示了一個有著N個隱含神經以及幾乎都是非線性啟用函式的單一隱含層前饋神經網路在零誤差下可以學習N個不同的觀測物件。應該指出的是輸入權重(連線輸入層至第一個隱含層)需要在所有先前理論研究工作以及所有前饋神經網路的實際演算法中調整。
傳統地,所有的前饋神經網路的引數都應該被調整,以及不同層之間的引數存在著相互依賴。過去幾十年中,基於梯度下降的方法被廣泛應用於各種前饋神經網路的學習演算法。但是,基於梯度下降的學習演算法由於不正確的學習步驟,速度通常較慢。並且它容易收斂到區域性最小值。同時為了獲得更好的學習效果,通常需要多次的迭代學習步驟。
研究表明,有著隨機選擇輸入權重的SLFNs演算法可以以極小的誤差學習N個不同的觀測值。不同於所有的前饋神經網路的引數都需要被調整這種傳統的認知以及實際的操作,也許不需要調整輸入權重和第一個隱含層偏至在實際應用中。實際上一些模擬顯示,在我們實際運用中已經證明了這種方式不僅提高了學習速度還產生了很好的泛化能力。最近,我們研究進一步證明了有著隨機分配的輸入權重、隱含層的偏置以及幾乎所有非零啟用函式的SLFNs演算法可以廣泛的近似所有連續的函式在緊緻輸入集中。這些研究表明在前饋神經網路的實際運用中輸入權重也許不需要調整。
在輸入權重以及隱含層偏置被隨機選擇後,SLFNs演算法可以簡單的認為一個線性的系統,其輸出權重可以通過隱含層輸出矩陣的反轉操作來決定。基於這種概念,本文為SLFNs提出一個簡單的學習演算法稱為極限學習機及演算法(ELM)。它的學習速度是傳統的通過獲得更好的泛化能力的反饋演算法前饋神經網路學習演算法的幾千倍。不同於傳統的學習演算法,本文提出的演算法不僅可以達到最小的訓練誤差同時可以獲得最小的權值範數。BARTLETT的關於前饋神經網路泛化表現的理論指出前饋伸進網路為了得到最小的訓練誤差,權重範數越小,網路就越能獲得更好的泛化表現。因此,本文提出的學習演算法對前饋神經網路有著更好的泛化能力。
當新提出的學習演算法趨向達到最小的訓練誤差,獲得最小的權值範數以及最優的泛化能力,同時保持快速運算。為了同其他常見的SLFN演算法區別,本文中稱這種演算法為極限學習機演算法(ELM)。
本文的結構如下:第二部分介紹了Moore-Penrose廣義逆以及一般線系統的最小化範數的最小二乘方法,這種方法在發揮我們新的ELM學習演算法中扮演著重要作用。第三部分給單一隱含層前饋神經網路提出了新的ELM演算法。效能評估在第四部分展示,第五部分為討論和總結。
第二部分 初始
本章介紹Moore-Penrose廣義逆。我們同時在本章考慮Euclidean空間中一般線性系統 的最小范數化最小二乘法的解法,其中 、 。如參考文獻找【5】,【6】
中,SLFNs實際上是一個線性系統,如果輸入權值以及隱含層偏置可以被隨機選擇。
A. Moore-Penrose 廣義逆
線性方程 的解可以簡單地使用Moore-Penrose廣義逆表示出來,其中A是奇異的甚至不是平方的。
定義2.1 階矩陣G是 階矩陣A的Moore-Penrose廣義逆,如果:
(1)
簡便得緣故,Moore-Penrose廣義逆A定義為 。
B.一般線性方程的最小范數的最小二乘解
一個線性方程 ,如果:
我們稱 為最小二乘的解。其中 為Euclidean空間下的範數。
定義2.2: 如果對所有的 ,滿足
則 是線性方程 最小化範數的最小二乘解。
這意味著,解 是線性方程 最小范數的最小二乘解,如果它在所有最小二乘解中的範數是最小的。
理論2.1 如果存在矩陣 ,其中 是線性方程 最小范數的最小二乘解。則 是充分且必要的條件,且是矩陣 的Moore-Penrose廣義逆矩陣。
三、極限學習機
在第二部分我們簡單介紹了Moore-Penrose廣義逆矩陣以及線性方程 的最小范數的最小二乘解。我們現在給有N個神經元的單一隱含層前饋神經網路提出一個速度極快的學習演算法,其中 ,訓練資料的個數。
A、SLFNs的近似問題
N個隨機不同的例子 ,其中 和 ,將有 個隱含神經元的標準SLFNs以及啟用函式 組合為:
其中 是連線第i個隱含層和輸入層的權值向量, 是連線第i個隱含神經元和輸出神經元的權值向量,同時 是第i個隱含神經元的閾值, 表示 和 的內積。本文的輸出神經元選取為線性。
標準SLFNs 有 個隱含神經元以及啟用函式 可以零誤差近似這N個樣例,意味著 ,存在著 , 以及
上式N個方程可以寫成:
其中:
以及
B.基於梯度下降的學習演算法
正如在文獻【4】、【5】、【6】中分析的,如果隱含神經網路的數量等於不同訓練資料的數量,即 ,矩陣 是二次方的以及可逆的,SLFNs可以近似這些樣本以零誤差。但是,大多是情況下,隱含神經元的數量時少於獨特樣本數量的, , 是非二次方的矩陣以及可能不存在 , , 使得 。因此,可能需要發現特定的 使得
其等於最小化下列損失函式
當 是未知的基於梯度的學習演算法是,通常採用尋找最小化 。在最小化步驟中,通過使用基於梯度下降的演算法,向量 是 的集合,同時偏置 引數通過下列迭代調整:
這裡 是學習速率。在前饋神經網路中流行的學習演算法是反饋學習,該演算法中的梯度可以通過從輸出到輸入的傳播有效的計算出來。關於反向傳播學習演算法有以下幾個問題:
1)當學習速率 太小時,該學習演算法收斂的太慢。但是當 太大時,該演算法變得不穩點以及發散。
2)該誤差平面的另一個影響著該反向傳播演算法效能的特性是存在區域性最小值。該學習演算法如果在一個距離全域性最小值較遠的區域性最小值停下來是不令人滿意的。
3)神經網路有可能過訓練當使用反向傳播學習演算法時,並且獲得較差的泛化表現。因此,驗證以及何時的停止策略在最小化損失函式時是必要的。
4)基於梯度下降的學習在大多數運用中是十分耗時的。
本篇文章的目的是解決上述關於基於梯度下降演算法的問題,以及提出一種有效率的針對前饋神經網路的學習演算法。
C.SLFN的最小范數的最小二乘的解
正如在第一部分提到的,不同於大多數關於SLFNs的所有引數都需要被調整的傳統理解,輸入權重 以及隱含層偏置 實際上不需要被調整,同時隱含層輸出矩陣 可以保持在開始學習時分配給這些引數隨機的值不變。
我們最近的研究表明SLFNs演算法在輸入權重隨機選擇情況下,其可以學習不同的觀測物件以隨機的小誤差。實際上,人工模擬、現實世界中例子以及本文進一步描述的表明,通過調整輸入權重以及隱含層偏置情況下,沒有增益是有可能的。最近,這一點被進一步嚴格的證明了在我們的文章中,不同於傳統的近似理論,其通常需要調整輸入權重以及隱含層偏置。前饋神經網路可以隨機的分配輸入權重和隱含層偏置,以及幾乎所有的非零啟用函式可以廣泛的近似任何連續的函式在緊緻的輸入空間上。
這些研究結果展示了SLFNs的輸入權重以及隱含層偏置根本不需要被調整,可以被隨機給定。修訂的輸入權重w以及隱含層偏置B,見方程9,為了訓練一個SLFN等效於發現一個最小二乘解B關於線性系統 :
根據理論2.1,最小的最小二乘解的範數得解關於上述線性系統的是:
強調:正如在第二部分討論的我們有一下重要的特性:
1)最小化訓練誤差。特殊解 是線性系統 最小二乘解的一個,意味著最小訓練誤差可以通過這個特殊方式達到:
儘管大多數學習演算法期望達到最小訓練誤差,但是,大部分都達不到因為區域性最小值以及無限的訓練迭代在實際運用中是不允許的。
2)權值的最小范數和最佳泛化表現。進一步,在 的所有最小二乘解中,特解 有著最小范數。
正如Bartlett指出的,針對有許多小權重但是在訓練集上有小平方誤差得前饋神經網路,Vapnike-Chervonenkis 維度與泛化表現是不相關的。相反,網路中權值的數量級是更重要的。權值越小,網路的泛化能力就越佳。正如上面分析的,我們的方法不僅在訓練集上達到最小的平方誤差,而且獲得了最小的權重。因此,此方法有更好的泛化能力是合理的。需要指出的是像反饋傳播這種基於梯度下降的學習演算法達到最佳的泛化能力是困難的,因為他們只能獲得最小的訓練誤差而沒有考慮權值的數量級。
3) 的最小二乘解的小范數解時唯一的,即
D.SLFNs的學習演算法
針對SLFNs一個簡單的學習演算法稱作極限學習機,其可以總結為:
ELM:給定一個訓練集 ,啟用函式g(x),以及 個隱含神經元。
步驟1:隨機分配輸入權值 ,偏置 ,
步驟2:計算隱含層輸出矩陣
步驟3:計算輸出權重 :
四、表現評估
在本章,ELM的效能將會和傳統的前饋神經網路演算法如BP演算法,在近似以及分類領域的標記問題進行比較。本文主要關注與前饋神經網路,以及提出一個新的訓練前饋神經網路的有效演算法。儘管支援向量機不同於標準的前饋神經網路。同時系統的比較SVM和前饋神經網路的差異也不是本文的目標,因此SVMs和ELM的比較只在本文簡單的列出。
關於BP和ELM演算法比較的模擬都是在MATLAB6.5環境下,以及Pentium 4,1.9GHZ CUP下執行的。儘管有許多不同的BP演算法,本文使用的是一個更快的Levenberg-Marquardt 演算法。
關於SVM的模擬是在基於C程式設計的SVM包:LIBSVM,其執行在相同的電腦配置上。當比計較ELM和SVMs的執行速度時,讀者應知道基於c實施的演算法要比基於MATLAB的速度更快。所以使用LIBSVM的SVM演算法更有優勢。SVM中使用的核函式是徑向基函式,同時 我們提出的演算法中使用的啟用函式時簡單的S型函式 ,為了比較BP和ELM 演算法,這兩者通常都被分配相同的數量的隱含神經元。
A. 函式逼近問題的基準測試
加利福尼亞房價是一組來自StatLib庫的資料。裡面有20640組觀測資料用來預測加利福尼亞房價。有關這些變數的資訊是從1990年的人口普查中使用加州所有街區組收集的。這組樣例中一個街區平均包括1425.5個住在地理上靠近的住戶。自然地,地理區域隨人口密度變化。每各街區的中心點之間的距離通過維度和經度進行計算。所有報告為零實體的獨立變數以及因變數都被排除。最後一組資料包含20640個資料,每各資料包含9個變數,其中8個是連續輸入(收入中位數、房齡中位數、房間數總和、臥室數總和、人口、花園、維度和經度)以及以1個連續輸出。在我們模擬中,8000組訓練資料以及12640組測試資料從加利福尼亞房價資料庫中每一次測試中隨機產生。
為了簡化,這八個輸入變數以及一個輸出變數被標準化為【0,1】。引數C可以被調整並且在SVR演算法中被設定為500。針對所有的演算法已經進行了50次測試,平均結果展示在表格1中。從表格1中看出,ELM演算法的速率要比BP和SVM快1000到2000倍。LEM演算法的泛化能力接近於BP和SVMs演算法。
表格1
關於加利福尼亞房價預測的表現比較
演算法 |
時間/秒 |
訓練RMS |
測試RMS |
神經元的數量 |
|
訓練 |
測試 |
||||
ELM |
0.272 |
0.143 |
0.1358 |
0.1365 |
20 |
BP |
295.23 |
0.286 |
0.1369 |
0.1426 |
20 |
SVM |
558.4137 |
20.9763 |
0.267 |
0.1275 |
2534.0 |
B、基於真實醫療診斷應用的基準測試
新提出的ELM演算法和其他流行的演算法效能比較通過一個世紀的醫療診斷問題來比較:糖尿病,使用“Pima Indians Diabetes Database”產生於1988年 Johns Hopkins 大學應用物理實驗室。診斷是一個二值變數,即該病人是否有糖尿病的症狀根據世界衛生組織的標準(兩小時內的post-load血糖量至少在200mg/dl在任何調查實驗中或者如果在唱過醫療檢查中被發現患有糖尿病)。這組資料包含768個在Phoenix,Arizona地區各年齡段的女性。所有的樣例屬於陽性或者陰性類別。所有的輸入值介於【0,1】之間。針對這個問題,在每次各自的訓練中75%樣例被選為訓練集,25%樣例被選為測試集。演算法SVM的引數C可以調整,同時將其設定為10,其餘引數都被設定為預設值。
針對所有的演算法已經進行了50次測試,平均結果展示在表格2中。從表格2中可以看出,SVM演算法可以達到測試比率為77.31%在平均317.16個支援向量下。Ratsch etal 獲得了一個測試率為76.50%的SVM,它比我們獲得的SVM測試結果稍低。但是新的ELM學習演算法可以達到一個76.54%測試率在只有20個神經元數量下,其結果要高於許多其他的流行演算法如bagging and boosting方法,c4.5,以及RBF。BP演算法在這個樣例中表現很差。同時可以看出在這個小問題中,ELM演算法比BP演算法快1000倍,比SVM快12倍在沒有考慮基於C的演算法要比基於MATLAB的演算法更快條件下。
表格2
各演算法關於實際醫療診斷糖尿病的效能比較
演算法 |
訓練時間/s |
成功率 |
No of SVs/Neurons |
|
訓練集 |
測試集 |
|||
ELM |
0.015 |
78.71% |
76.54% |
20 |
BP |
16.196 |
92.86% |
63.45% |
20 |
SVM |
0.1860 |
78.76% |
77.31% |
317.16 |
表格3
各演算法關於實際醫療診斷糖尿病的效能比較
演算法 |
測試率 |
ELM |
76.54% |
SVM |
76.50% |
AdaBoost |
75.60% |
C4.5 |
71.60% |
RBF |
76.30% |
C. 使用實際的大型複雜應用程式進行基準測試
我們同時也測試了一些針對複雜運用下的ELM演算法的效能,如森林覆蓋型別的預測。
森林覆蓋型別預測是一個有7個型別複雜的分類問題,森林覆蓋型別分類基礎是30*30m^2的方格,資料來自美國森林服務局地區2的資訊。這裡有581012組資料,每組有5個特性。為了和先前的工作對比,類似地將它調整為二分類問題,其目標是將兩類從其它6類中區分出來。這裡有100000組訓練資料和481012組測試資料。SVM演算法的引數是C=10和 。
ELM演算法已經測試了50組,而SVM演算法只測試了1組因為使用SVM演算法訓練SLFNs這種複雜的例子需要花費很長時間。但是,所提出的ELM學習演算法只花費了1.5分鐘進行訓練而SVM演算法需要12小時,學習速度提高了430倍。另一方面,因為通過SVM獲得的支援向量要比ELM演算法中需要的隱藏神經元要大的多,因而對於這種大測試資料集,SVMs的測試時間是ELM演算法的480倍。SVM演算法處理481012組測試樣例需要花費超過5.5小時。但是,對於ELM演算法只需要1分鐘不到的時間處理這些測試樣例。這要比,在實際運用中通過訓練開發ELM演算法處理新的觀測資料要比SVMs演算法更快。需要強調的是,為了使SVMs演算法獲得更好的效能,已經花費了很長時間尋找SVM合適的引數。實際上,針對本文中我們模擬的例子,SVM演算法的泛化能力要比文獻【17】中的要好。
第五部分 討論和結論
本文提出了一個新的關於單層隱含前饋神經網路(SLFNs)的學習演算法,稱作極限學習機(ELM)。ELM有幾個有趣且重要特點,區別於其他傳統流行的基於梯度下降的關於前饋神經網路的演算法:
1)ELM演算法的學習速度非常快。它訓練SLFNs的速度要比經典的學習演算法更快。以往,似乎存在著一個大多數經典學習演算法不能打破的實際速度極限,通常使用經典學習演算法即使是一個簡單的運用也需要花費很長時間來訓練一個前饋網路。
2)不同於為了達到訓練誤差最小值,但是不考慮權值的大小這種傳統典型的基於梯度下降的學習演算法,ELM演算法傾向於找到最小的訓練誤差以及最小的權值範數。因此,對於前饋神經網路ELM演算法有著更好的泛化能力。
3)不同於只能作用於可微的啟用函式這種傳統經典的基於梯度下降的學習演算法那,ELM演算法可以用於訓練不是可微的啟用函式的SLFNs模型。
4)不同於面臨著諸如區域性最小值、不合適的學習速率和過擬合等許多問題的傳統經典的基於梯度下降的學習演算法。ELM演算法可以在沒有上述問題下直接求得其解。ELM演算法要比其他針對前饋神經網路的學習演算法更簡單。
需要強調的是基於梯度下降的學習演算法比如:反向傳播演算法可以用來處理有多層隱含層的前饋神經網路,而目前形式的ELM演算法只對單層隱含前饋神經網咯有效。幸運的是,已經證明SLFNs可以近似任何連續的函式,並且實施任何分類任務。因此合理的說,ELM演算法可以運用到許多例子中,同時接下來需要對其進行進一步研究。另一方面,ELM演算法關於不同仿造和實際生活中的分類問題的更加複雜的實驗結果,可以在我們技術報告中找到。