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