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