許洋
摘 要 文章介紹了人工神經網絡的模型,分別以BP神經網絡為例介紹了前饋神經網絡,并用三種方法對BP神經網絡算法進行優化改進。
關鍵詞 神經網絡;BP;優化算法
中圖分類號:TP183 文獻標識碼:A 文章編號:1671-7597(2014)13-0066-01
1 人工神經網絡模型
人工神經網絡簡稱ANN,它是一種將人類大腦的組織結構和運行機制作為其研究基礎來模擬人類大腦內部結構和其智能行為的處理系統。人工神經網絡中的神經元細胞將其接收到的所有信號進行處理,如加權求和等操作,進行操作后經軸突輸出。
2 人工神經網絡的分類
2.1 前饋型神經網絡
前饋型神經網絡通過對其網絡中的神經元之間的連接關系進行復合映射,因此這種網絡模型具有非常強的非線性處理的能力。如圖1所示,在這里前饋型神經網絡模型被分為三層,分別為輸入層、輸出層和隱含層,一般常用的前饋型神經網絡有BP神經網絡、RBF神經網絡、自組織神經網絡等。
圖1 前向神經網絡模型
2.2 反饋型神經網絡
反饋型神經網絡其結構,在這個模型中我們假設網絡總的神經元個數為N,則每個神經元節點都有N個輸入值及一個輸出值,每個神經元節點都如此,節點之間相互聯系。現在被大量使用的反饋型神經網絡一般有離散Hopfield神經網絡模型、Elman神經網絡模型等等。
3 BP神經網絡
3.1 BP神經網絡簡介
1986年,Rumelhant和McCelland提出了BP神經網絡的一般模型,BP神經網絡是一種具有多層網絡的反向傳播學習算法。BP神經網絡模型的基本思想是:整個過程主要由信號的正向傳播和誤差的反向傳播兩個過程組成。目前,BP神經網絡的應用范圍為數據壓縮、數據分類、預測分析和模式識別等領域。
3.2 BP神經網絡的結構
如圖2所示,這里是BP神經網絡的一種模型結構,在這種模型結構中輸入信號量為m,具有隱含層的數量為j,輸出信號量為q的模型結構。
BP神經網絡一般具有一個或多個隱含層單元,其差別主要體現在激活函數的不同。針對BP神經網絡所使用的激活函數一
圖2 BP神經網絡模型結構
般采用S型對數函數或者采用正切激活函數,而輸出層則一般采用線性函數作為激活函數。
3.3 BP神經網絡的改進方法
BP神經網絡作為當今對研究電力負荷預測應用最多的一種神經網絡,但標準的BP神經網絡算法存在的一些缺陷,這里就對一些經常使用的典型改進方法進行描述。
1)增加動量項。在一般的BP神經網絡算法中,其模型中的各層權值在進行更新的過程中,是按照t時刻誤差曲線進行梯度下降方式進行調整的,在這里并沒有考慮其之間的梯度下降的方向,如果使用這種方式進行調整則會造成訓練的過程不穩定,容易發生振蕩,導致收斂過程緩慢的結果。因此有些學者就為了使網絡訓練的速度提高,收斂過程加快,就在一般網絡模型的權值更新環節添加了一個動量項因子即:
(1)
在這個式子中,W表示BP神經網絡中每一層的權值矩陣,O則表示神經網絡中每一層的輸出向量矩陣,α則被稱為該神經網絡的動量系數因子,其取值范圍在0到1之間,在該網絡在進行訓練的過程中,如果其誤差梯度網線出現了局部極小值現象,雖然在這里的第一項會趨摟于零,但是這一項,
這樣就會使該訓練過程避免了限入局部極小值區域的形勢,從而加快了其訓練速度,使該神經網絡收斂速度加快,因此這種帶有動量項因子的BP神經網絡算法應用到了很多的BP網絡中。
2)學習速度的自適應調節方法。學習速度η在一個標準的BP神經網絡中是以一個常數出現的我們也稱為之步長,而在實際的運算過程中,很難找到一個數值作為最優學習速度。我們從誤差曲面圖形中可以看出,當曲面中區域處于一個平坦區域時,我們需要設置一個比較大的η值,使它能夠跳出這個平坦的區域;而當曲面中的區域處于變化比較很大的區域時,這時的η的數值我們又需要將其進行減小或者增大操作。自適應調整學習速度η則可以根據網絡的總誤差來進行自我調整,在網絡經過多次調整后,如果E總繼續上升,則表明這里的調整是無效的,且η=βη, ;而經常調整這里的E總下降了,則表明這里的調整是有效果的,且η=αη,。
3)引入陡度因子(防止飽和)。在網絡訓練的過程中,由于其誤差曲面具有平坦區,當處于這個區域時,由于S型激活函數有飽和特性,促使權值的調整速度放慢,從而影響了調整的速度。在訓練的過程中,如果算法調整進入了這個區域,我們可以減小神經元的輸入量,使其輸出值迅速脫離激活函數的飽和區域,這里誤差函數的數值則會隨之發生改變,其權值的調整也就脫離了該平坦區。想要實現以上思路則需要在激活函數中引入一個陡度因子λ。
(2)
當趨近于0時,而數值較大時,調整其進入誤差曲面中的平坦區,此時λ的值應選擇大于1的數值;而當調整脫離平坦區域后,再設置λ大于1,使激活函數能夠恢復到原始數值。
4 總結
綜上所述,設計一個人工神經網絡應用到實際問題中,可以歸結為網絡自身權值參數的學習與合理的設計網絡拓撲結構這兩大類優化問題。由于人工神經網絡的訓練是一個非常復雜的問題,使用傳統的學習算法進行訓練則要花費很長的時間,BP算法用到了梯度下降法,才只能在一定范圍內找到合適的參數值及其模型結構。因此,為了更好的提高神經網絡的泛化能力,及將網絡拓撲結構設計的更加合理,大量關于神經網絡的優化算法相繼產生。
參考文獻
[1]謝宏,陳志業,牛東曉.短期電力負荷預測的數據主成分分析[J].電網技術,2000,24(1):43-46.
[2]顏七笙,游泳,楊志輝.BP網絡結構設計與算法探討[J].科技廣場,2005(3):36-38.endprint
摘 要 文章介紹了人工神經網絡的模型,分別以BP神經網絡為例介紹了前饋神經網絡,并用三種方法對BP神經網絡算法進行優化改進。
關鍵詞 神經網絡;BP;優化算法
中圖分類號:TP183 文獻標識碼:A 文章編號:1671-7597(2014)13-0066-01
1 人工神經網絡模型
人工神經網絡簡稱ANN,它是一種將人類大腦的組織結構和運行機制作為其研究基礎來模擬人類大腦內部結構和其智能行為的處理系統。人工神經網絡中的神經元細胞將其接收到的所有信號進行處理,如加權求和等操作,進行操作后經軸突輸出。
2 人工神經網絡的分類
2.1 前饋型神經網絡
前饋型神經網絡通過對其網絡中的神經元之間的連接關系進行復合映射,因此這種網絡模型具有非常強的非線性處理的能力。如圖1所示,在這里前饋型神經網絡模型被分為三層,分別為輸入層、輸出層和隱含層,一般常用的前饋型神經網絡有BP神經網絡、RBF神經網絡、自組織神經網絡等。
圖1 前向神經網絡模型
2.2 反饋型神經網絡
反饋型神經網絡其結構,在這個模型中我們假設網絡總的神經元個數為N,則每個神經元節點都有N個輸入值及一個輸出值,每個神經元節點都如此,節點之間相互聯系。現在被大量使用的反饋型神經網絡一般有離散Hopfield神經網絡模型、Elman神經網絡模型等等。
3 BP神經網絡
3.1 BP神經網絡簡介
1986年,Rumelhant和McCelland提出了BP神經網絡的一般模型,BP神經網絡是一種具有多層網絡的反向傳播學習算法。BP神經網絡模型的基本思想是:整個過程主要由信號的正向傳播和誤差的反向傳播兩個過程組成。目前,BP神經網絡的應用范圍為數據壓縮、數據分類、預測分析和模式識別等領域。
3.2 BP神經網絡的結構
如圖2所示,這里是BP神經網絡的一種模型結構,在這種模型結構中輸入信號量為m,具有隱含層的數量為j,輸出信號量為q的模型結構。
BP神經網絡一般具有一個或多個隱含層單元,其差別主要體現在激活函數的不同。針對BP神經網絡所使用的激活函數一
圖2 BP神經網絡模型結構
般采用S型對數函數或者采用正切激活函數,而輸出層則一般采用線性函數作為激活函數。
3.3 BP神經網絡的改進方法
BP神經網絡作為當今對研究電力負荷預測應用最多的一種神經網絡,但標準的BP神經網絡算法存在的一些缺陷,這里就對一些經常使用的典型改進方法進行描述。
1)增加動量項。在一般的BP神經網絡算法中,其模型中的各層權值在進行更新的過程中,是按照t時刻誤差曲線進行梯度下降方式進行調整的,在這里并沒有考慮其之間的梯度下降的方向,如果使用這種方式進行調整則會造成訓練的過程不穩定,容易發生振蕩,導致收斂過程緩慢的結果。因此有些學者就為了使網絡訓練的速度提高,收斂過程加快,就在一般網絡模型的權值更新環節添加了一個動量項因子即:
(1)
在這個式子中,W表示BP神經網絡中每一層的權值矩陣,O則表示神經網絡中每一層的輸出向量矩陣,α則被稱為該神經網絡的動量系數因子,其取值范圍在0到1之間,在該網絡在進行訓練的過程中,如果其誤差梯度網線出現了局部極小值現象,雖然在這里的第一項會趨摟于零,但是這一項,
這樣就會使該訓練過程避免了限入局部極小值區域的形勢,從而加快了其訓練速度,使該神經網絡收斂速度加快,因此這種帶有動量項因子的BP神經網絡算法應用到了很多的BP網絡中。
2)學習速度的自適應調節方法。學習速度η在一個標準的BP神經網絡中是以一個常數出現的我們也稱為之步長,而在實際的運算過程中,很難找到一個數值作為最優學習速度。我們從誤差曲面圖形中可以看出,當曲面中區域處于一個平坦區域時,我們需要設置一個比較大的η值,使它能夠跳出這個平坦的區域;而當曲面中的區域處于變化比較很大的區域時,這時的η的數值我們又需要將其進行減小或者增大操作。自適應調整學習速度η則可以根據網絡的總誤差來進行自我調整,在網絡經過多次調整后,如果E總繼續上升,則表明這里的調整是無效的,且η=βη, ;而經常調整這里的E總下降了,則表明這里的調整是有效果的,且η=αη,。
3)引入陡度因子(防止飽和)。在網絡訓練的過程中,由于其誤差曲面具有平坦區,當處于這個區域時,由于S型激活函數有飽和特性,促使權值的調整速度放慢,從而影響了調整的速度。在訓練的過程中,如果算法調整進入了這個區域,我們可以減小神經元的輸入量,使其輸出值迅速脫離激活函數的飽和區域,這里誤差函數的數值則會隨之發生改變,其權值的調整也就脫離了該平坦區。想要實現以上思路則需要在激活函數中引入一個陡度因子λ。
(2)
當趨近于0時,而數值較大時,調整其進入誤差曲面中的平坦區,此時λ的值應選擇大于1的數值;而當調整脫離平坦區域后,再設置λ大于1,使激活函數能夠恢復到原始數值。
4 總結
綜上所述,設計一個人工神經網絡應用到實際問題中,可以歸結為網絡自身權值參數的學習與合理的設計網絡拓撲結構這兩大類優化問題。由于人工神經網絡的訓練是一個非常復雜的問題,使用傳統的學習算法進行訓練則要花費很長的時間,BP算法用到了梯度下降法,才只能在一定范圍內找到合適的參數值及其模型結構。因此,為了更好的提高神經網絡的泛化能力,及將網絡拓撲結構設計的更加合理,大量關于神經網絡的優化算法相繼產生。
參考文獻
[1]謝宏,陳志業,牛東曉.短期電力負荷預測的數據主成分分析[J].電網技術,2000,24(1):43-46.
[2]顏七笙,游泳,楊志輝.BP網絡結構設計與算法探討[J].科技廣場,2005(3):36-38.endprint
摘 要 文章介紹了人工神經網絡的模型,分別以BP神經網絡為例介紹了前饋神經網絡,并用三種方法對BP神經網絡算法進行優化改進。
關鍵詞 神經網絡;BP;優化算法
中圖分類號:TP183 文獻標識碼:A 文章編號:1671-7597(2014)13-0066-01
1 人工神經網絡模型
人工神經網絡簡稱ANN,它是一種將人類大腦的組織結構和運行機制作為其研究基礎來模擬人類大腦內部結構和其智能行為的處理系統。人工神經網絡中的神經元細胞將其接收到的所有信號進行處理,如加權求和等操作,進行操作后經軸突輸出。
2 人工神經網絡的分類
2.1 前饋型神經網絡
前饋型神經網絡通過對其網絡中的神經元之間的連接關系進行復合映射,因此這種網絡模型具有非常強的非線性處理的能力。如圖1所示,在這里前饋型神經網絡模型被分為三層,分別為輸入層、輸出層和隱含層,一般常用的前饋型神經網絡有BP神經網絡、RBF神經網絡、自組織神經網絡等。
圖1 前向神經網絡模型
2.2 反饋型神經網絡
反饋型神經網絡其結構,在這個模型中我們假設網絡總的神經元個數為N,則每個神經元節點都有N個輸入值及一個輸出值,每個神經元節點都如此,節點之間相互聯系。現在被大量使用的反饋型神經網絡一般有離散Hopfield神經網絡模型、Elman神經網絡模型等等。
3 BP神經網絡
3.1 BP神經網絡簡介
1986年,Rumelhant和McCelland提出了BP神經網絡的一般模型,BP神經網絡是一種具有多層網絡的反向傳播學習算法。BP神經網絡模型的基本思想是:整個過程主要由信號的正向傳播和誤差的反向傳播兩個過程組成。目前,BP神經網絡的應用范圍為數據壓縮、數據分類、預測分析和模式識別等領域。
3.2 BP神經網絡的結構
如圖2所示,這里是BP神經網絡的一種模型結構,在這種模型結構中輸入信號量為m,具有隱含層的數量為j,輸出信號量為q的模型結構。
BP神經網絡一般具有一個或多個隱含層單元,其差別主要體現在激活函數的不同。針對BP神經網絡所使用的激活函數一
圖2 BP神經網絡模型結構
般采用S型對數函數或者采用正切激活函數,而輸出層則一般采用線性函數作為激活函數。
3.3 BP神經網絡的改進方法
BP神經網絡作為當今對研究電力負荷預測應用最多的一種神經網絡,但標準的BP神經網絡算法存在的一些缺陷,這里就對一些經常使用的典型改進方法進行描述。
1)增加動量項。在一般的BP神經網絡算法中,其模型中的各層權值在進行更新的過程中,是按照t時刻誤差曲線進行梯度下降方式進行調整的,在這里并沒有考慮其之間的梯度下降的方向,如果使用這種方式進行調整則會造成訓練的過程不穩定,容易發生振蕩,導致收斂過程緩慢的結果。因此有些學者就為了使網絡訓練的速度提高,收斂過程加快,就在一般網絡模型的權值更新環節添加了一個動量項因子即:
(1)
在這個式子中,W表示BP神經網絡中每一層的權值矩陣,O則表示神經網絡中每一層的輸出向量矩陣,α則被稱為該神經網絡的動量系數因子,其取值范圍在0到1之間,在該網絡在進行訓練的過程中,如果其誤差梯度網線出現了局部極小值現象,雖然在這里的第一項會趨摟于零,但是這一項,
這樣就會使該訓練過程避免了限入局部極小值區域的形勢,從而加快了其訓練速度,使該神經網絡收斂速度加快,因此這種帶有動量項因子的BP神經網絡算法應用到了很多的BP網絡中。
2)學習速度的自適應調節方法。學習速度η在一個標準的BP神經網絡中是以一個常數出現的我們也稱為之步長,而在實際的運算過程中,很難找到一個數值作為最優學習速度。我們從誤差曲面圖形中可以看出,當曲面中區域處于一個平坦區域時,我們需要設置一個比較大的η值,使它能夠跳出這個平坦的區域;而當曲面中的區域處于變化比較很大的區域時,這時的η的數值我們又需要將其進行減小或者增大操作。自適應調整學習速度η則可以根據網絡的總誤差來進行自我調整,在網絡經過多次調整后,如果E總繼續上升,則表明這里的調整是無效的,且η=βη, ;而經常調整這里的E總下降了,則表明這里的調整是有效果的,且η=αη,。
3)引入陡度因子(防止飽和)。在網絡訓練的過程中,由于其誤差曲面具有平坦區,當處于這個區域時,由于S型激活函數有飽和特性,促使權值的調整速度放慢,從而影響了調整的速度。在訓練的過程中,如果算法調整進入了這個區域,我們可以減小神經元的輸入量,使其輸出值迅速脫離激活函數的飽和區域,這里誤差函數的數值則會隨之發生改變,其權值的調整也就脫離了該平坦區。想要實現以上思路則需要在激活函數中引入一個陡度因子λ。
(2)
當趨近于0時,而數值較大時,調整其進入誤差曲面中的平坦區,此時λ的值應選擇大于1的數值;而當調整脫離平坦區域后,再設置λ大于1,使激活函數能夠恢復到原始數值。
4 總結
綜上所述,設計一個人工神經網絡應用到實際問題中,可以歸結為網絡自身權值參數的學習與合理的設計網絡拓撲結構這兩大類優化問題。由于人工神經網絡的訓練是一個非常復雜的問題,使用傳統的學習算法進行訓練則要花費很長的時間,BP算法用到了梯度下降法,才只能在一定范圍內找到合適的參數值及其模型結構。因此,為了更好的提高神經網絡的泛化能力,及將網絡拓撲結構設計的更加合理,大量關于神經網絡的優化算法相繼產生。
參考文獻
[1]謝宏,陳志業,牛東曉.短期電力負荷預測的數據主成分分析[J].電網技術,2000,24(1):43-46.
[2]顏七笙,游泳,楊志輝.BP網絡結構設計與算法探討[J].科技廣場,2005(3):36-38.endprint