誤差反向傳播算法

誤差反向傳播法是Rumelhart等在1986年提出的,即BP(error BackPropagation)法影響最為廣泛,也稱BP算法。直到今天,BP算法仍然是自動控制上最重要、套用最多的有效算法。是用於多層神經網路訓練的著名算法,有理論依據堅實、推導過程嚴謹、物理概念清楚、通用性強等優點。但是,人們在使用中發現BP算法存在收斂速度緩慢、易陷入局部極小等缺點。

基本介紹

  • 中文名:誤差反向傳播算法
  • 外文名:Error BackPropagation Algorithm
  • 提出者:Rumelhart
  • 學科:計算機、人工智慧
  • 算法:神經網路算法
  • 套用:圖形圖像、數據
簡介,動機,

簡介

自從40年代赫布(D.O. Hebb)提出的學習規則以來,人們相繼提出了各種各樣的學習算法。其中以在1986年Rumelhart等提出的誤差反向傳播法,即BP(error BackPropagation)法影響最為廣泛。直到今天,BP算法仍然是自動控制上最重要、套用最多的有效算法。是用於多層神經網路訓練的著名算法,有理論依據堅實、推導過程嚴謹、物理概念清楚、通用性強等優點。但是,人們在使用中發現BP算法存在收斂速度緩慢、易陷入局部極小等缺點。
BP算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
1)正向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層
注1:若輸出層實際輸出與期望輸出(教師信號)不符,則轉入2)(誤差反向傳播過程)。
2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層 其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差信號,進而修正各單元的權值(其過程,是一個權值調整的過程)。
注2:權值調整的過程,也就是網路的學習訓練過程(學習也就是這么的由來,權值調整)。
1)初始化
2)輸入訓練樣本對,計算各層輸出
3)計算網路輸出誤差
4)計算各層誤差信號
5)調整各層權值
6)檢查網路總誤差是否達到精度要求
滿足,則訓練結束;不滿足,則返回步驟2。
1)易形成局部極小(屬貪婪算法,局部最優)而得不到全局最優;
2)訓練次數多使得學習效率低下,收斂速度慢(需做大量運算);
3)隱節點的選取缺乏理論支持;
4)訓練時學習新樣本有遺忘舊樣本趨勢。
↑ 《數字神經網路系統》第二篇 系統模型 1.2反向傳播BP模型

動機

任何監督式學習算法的目標是找到一個能把一組輸入最好的映射到其正確的輸出的函式。例如一個簡單的分類任務,其中輸入是動物的圖像,正確的輸出將是動物的名稱。一些輸入和輸出模式可以很容易地通過單層神經網路(如感知器)學習。但是這些單層的感知機不能學習一些比較簡單的模式,例如那些非線性可分的模式。例如,人可以通過識別動物的圖像的某些特徵進行分類,例如肢的數目,皮膚的紋理(無論是毛皮,羽毛,鱗片等),該動物的體型,以及種種其他特徵。但是,單層神經網路必須僅僅使用圖像中的像素的強度來學習一個輸出一個標籤函式。因為它被限制為僅具有一個層,所以沒有辦法從輸入中學習到任何抽象特徵。多層的網路克服了這一限制,因為它可以創建內部表示,並在每一層學習不同的特徵。[1] 第一層可能負責從圖像的單個像素的輸入學習線條的走向。第二層可能就會結合第一層所學並學習識別簡單形狀(如圓形)。每升高一層就學習越來越多的抽象特徵,如上文提到的用來圖像分類。每一層都是從它下方的層中找到模式,就是這種能力創建了獨立於為多層網路提供能量的外界輸入的內部表達形式。反向傳播算法的發展的目標和動機是找到一種訓練的多層神經網路的方法,於是它可以學習合適的內部表達來讓它學習任意的輸入到輸出的映射。

相關詞條

熱門詞條

聯絡我們