1. 反向傳播演算法 為什麼 誤差 那麼定義
自從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)訓練時學習新樣本有遺忘舊樣本趨勢。
2. 如何理解CNN神經網路里的反向傳播backpropagation,bp演算法
類比來說類似於
幾個人站成一排
第一個人看一幅畫(輸入數據),描述給第二個人(隱層)……依此類推,到最後一個人(輸出)的時候,畫出來的畫肯定不能看了(誤差較大)。
反向傳播就是,把畫拿給最後一個人看(求取誤差),然後最後一個人就會告訴前面的人下次描述時需要注意哪裡(權值修正)。
3. 誤差反向傳播演算法解決XNOR問題
你這個問題要分開問,先,反向傳播,下這個基礎上,構造三層網路,用輸入輸出對應xnor的數據訓練,出來的數據模型就是xnor的
4. 反向傳播演算法的權重更新
對於每個突觸上的權重,按照以下步驟進行更新: 將輸入激勵和響應誤差相乘,從而獲得權重的梯度; 將這個梯度乘上一個比例並取反後加到權重上。 這個比例將會影響到訓練過程的速度和效果,因此稱為「訓練因子」。梯度的方向指明了誤差擴大的方向,因此在更新權重的時候需要對其取反,從而減小權重引起的誤差。
5. 什麼是BP演算法
誤差反向傳播(Error Back Propagation, BP)演算法
1、BP演算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
1)正向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層
注1:若輸出層實際輸出與期望輸出(教師信號)不符,則轉入2)(誤差反向傳播過程)
2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層
其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差信號,進而修正各單元的權值(其過程,是一個權值調整的過程)。
BP演算法基本介紹
含有隱層的多層前饋網路能大大提高神經網路的分類能力,但長期以來沒有提出解決權值調整問題的游戲演算法。1986年,Rumelhart和McCelland領導的科學家小組在《Parallel Distributed Processing》一書中,對具有非線性連續轉移函數的多層前饋網路的誤差反向傳播(Error Back Proragation,簡稱BP)演算法進行了詳盡的分析,實現了Minsky關於多層網路的設想。由於多層前饋網路的訓練經常採用誤差反向傳播演算法,人們也常把將多層前饋網路直接稱為BP網路。
BP演算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳人,經各隱層逐層處理後,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,並將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。這種信號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也就是網路的學習訓練過程。此過程一直進行到網路輸出的誤差減少到可接受的程度,或進行到預先設定的學習次數為止。
6. 反向傳播演算法的介紹
反向傳播演算法(英:Backpropagation algorithm,簡稱:BP演算法)是一種監督學習演算法,常被用來訓練多層感知機。 於1974年,Paul Werbos[1]首次給出了如何訓練一般網路的學習演算法,而人工神經網路只是其中的特例。不巧的,在當時整個人工神經網路社群中卻無人知曉Paul所提出的學習演算法。直到80年代中期,BP演算法才重新被David Rumelhart、Geoffrey Hinton及Ronald Williams[2][3]、David Parker[4]和Yann LeCun[5]獨立發現,並獲得了廣泛的注意,引起了人工神經網路領域研究的第二次熱潮。BP演算法是Delta規則的推廣,要求每個人工神經元(節點)所使用的激勵函數必須是可微的。BP演算法特別適合用來訓練前向神經網路。
7. 為什麼說反向傳播演算法很高效
反向傳播演算法(Backpropagation)是目前用來訓練人工神經網路(ArtificialNeuralNetwork,ANN)的最常用且最有效的演算法。其主要思想是:(1)將訓練集數據輸入到ANN的輸入層,經過隱藏層,最後達到輸出層並輸出結果,這是ANN的前向傳播過程;
8. 反向傳播演算法的激勵傳播
每次迭代中的傳播環節包含兩步: (前向傳播階段)將訓練輸入送入網路以獲得激勵響應; (反向傳播階段)將激勵響應同訓練輸入對應的目標輸出求差,從而獲得隱層和輸出層的響應誤差。
9. 什麼是反向傳播演算法
反向傳播演算法適合於多層神經元網路的一種學習演算法,它建立在梯度下降法的基礎上。反向傳播演算法網路的輸入輸出關系實質上是一種映射關系:一個n輸入m輸出的BP神經網路所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。
反向傳播演算法主要由兩個環節(激勵傳播、權重更新)反復循環迭代,直到網路的對輸入的響應達到預定的目標范圍為止。
反向傳播演算法的信息處理能力來源於簡單非線性函數的多次復合,因此具有很強的函數復現能力。這是BP演算法得以應用的基礎。反向傳播演算法被設計為減少公共子表達式的數量而不考慮存儲的開銷。反向傳播避免了重復子表達式的指數爆炸。
(9)反向傳播演算法擴展閱讀:
BP演算法(即反向傳播演算法)適合於多層神經元網路的一種學習演算法,它建立在梯度下降法的基礎上。BP網路的輸入輸出關系實質上是一種映射關系:一個n輸入m輸出的BP神經網路所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。它的信息處理能力來源於簡單非線性函數的多次復合,因此具有很強的函數復現能力。這是BP演算法得以應用的基礎。
10. 什麼是反向傳播
反向傳播演算法(BP演算法)主要由兩個環節(激勵傳播、權重更新)反復循環迭代,直到網路的對輸入的響應達到預定的目標范圍為止。