導航:首頁 > 源碼編譯 > BP演算法深度神經網路

BP演算法深度神經網路

發布時間:2022-05-01 06:59:02

① BP人工神經網路方法

(一)方法原理

人工神經網路是由大量的類似人腦神經元的簡單處理單元廣泛地相互連接而成的復雜的網路系統。理論和實踐表明,在信息處理方面,神經網路方法比傳統模式識別方法更具有優勢。人工神經元是神經網路的基本處理單元,其接收的信息為x1,x2,…,xn,而ωij表示第i個神經元到第j個神經元的連接強度或稱權重。神經元的輸入是接收信息X=(x1,x2,…,xn)與權重W={ωij}的點積,將輸入與設定的某一閾值作比較,再經過某種神經元激活函數f的作用,便得到該神經元的輸出Oi。常見的激活函數為Sigmoid型。人工神經元的輸入與輸出的關系為

地球物理勘探概論

式中:xi為第i個輸入元素,即n維輸入矢量X的第i個分量;ωi為第i個輸入與處理單元間的互聯權重;θ為處理單元的內部閾值;y為處理單元的輸出。

常用的人工神經網路是BP網路,它由輸入層、隱含層和輸出層三部分組成。BP演算法是一種有監督的模式識別方法,包括學習和識別兩部分,其中學習過程又可分為正向傳播和反向傳播兩部分。正向傳播開始時,對所有的連接權值置隨機數作為初值,選取模式集的任一模式作為輸入,轉向隱含層處理,並在輸出層得到該模式對應的輸出值。每一層神經元狀態隻影響下一層神經元狀態。此時,輸出值一般與期望值存在較大的誤差,需要通過誤差反向傳遞過程,計算模式的各層神經元權值的變化量

。這個過程不斷重復,直至完成對該模式集所有模式的計算,產生這一輪訓練值的變化量Δωij。在修正網路中各種神經元的權值後,網路重新按照正向傳播方式得到輸出。實際輸出值與期望值之間的誤差可以導致新一輪的權值修正。正向傳播與反向傳播過程循環往復,直到網路收斂,得到網路收斂後的互聯權值和閾值。

(二)BP神經網路計算步驟

(1)初始化連接權值和閾值為一小的隨機值,即W(0)=任意值,θ(0)=任意值。

(2)輸入一個樣本X。

(3)正向傳播,計算實際輸出,即根據輸入樣本值、互聯權值和閾值,計算樣本的實際輸出。其中輸入層的輸出等於輸入樣本值,隱含層和輸出層的輸入為

地球物理勘探概論

輸出為

地球物理勘探概論

式中:f為閾值邏輯函數,一般取Sigmoid函數,即

地球物理勘探概論

式中:θj表示閾值或偏置;θ0的作用是調節Sigmoid函數的形狀。較小的θ0將使Sigmoid函數逼近於閾值邏輯單元的特徵,較大的θ0將導致Sigmoid函數變平緩,一般取θ0=1。

(4)計算實際輸出與理想輸出的誤差

地球物理勘探概論

式中:tpk為理想輸出;Opk為實際輸出;p為樣本號;k為輸出節點號。

(5)誤差反向傳播,修改權值

地球物理勘探概論

式中:

地球物理勘探概論

地球物理勘探概論

(6)判斷收斂。若誤差小於給定值,則結束,否則轉向步驟(2)。

(三)塔北雅克拉地區BP神經網路預測實例

以塔北雅克拉地區S4井為已知樣本,取氧化還原電位,放射性元素Rn、Th、Tc、U、K和地震反射

構造面等7個特徵為識別的依據。

構造面反映了局部構造的起伏變化,其局部隆起部位應是油氣運移和富集的有利部位,它可以作為判斷含油氣性的諸種因素之一。在該地區投入了高精度重磁、土壤微磁、頻譜激電等多種方法,一些參數未入選為判別的特徵參數,是因為某些參數是相關的。在使用神經網路方法判別之前,還採用K-L變換(Karhaem-Loeve)來分析和提取特徵。

S4井位於測區西南部5線25點,是區內唯一已知井。該井在5390.6m的侏羅系地層獲得40.6m厚的油氣層,在5482m深的震旦系地層中獲58m厚的油氣層。取S4井周圍9個點,即4~6線的23~25 點作為已知油氣的訓練樣本;由於區內沒有未見油的鑽井,只好根據地質資料分析,選取14~16線的55~57點作為非油氣的訓練樣本。BP網路學習迭代17174次,總誤差為0.0001,學習效果相當滿意。以學習後的網路進行識別,得出結果如圖6-2-4所示。

圖6-2-4 塔北雅克拉地區BP神經網路聚類結果

(據劉天佑等,1997)

由圖6-2-4可見,由預測值大於0.9可得5個大封閉圈遠景區,其中測區南部①號遠景區對應著已知油井S4井;②、③號油氣遠景區位於地震勘探所查明的托庫1、2號構造,該兩個構造位於沙雅隆起的東段,其西段即為1984年鑽遇高產油氣流的Sch2井,應是含油氣性好的遠景區;④、⑤號遠景區位於大澇壩構造,是yh油田的組成部分。

② BP演算法、BP神經網路、遺傳演算法、神經網路這四者之間的關系

這四個都屬於人工智慧演算法的范疇。其中BP演算法、BP神經網路和神經網路
屬於神經網路這個大類。遺傳演算法為進化演算法這個大類。
神經網路模擬人類大腦神經計算過程,可以實現高度非線性的預測和計算,主要用於非線性擬合,識別,特點是需要「訓練」,給一些輸入,告訴他正確的輸出。若干次後,再給新的輸入,神經網路就能正確的預測對於的輸出。神經網路廣泛的運用在模式識別,故障診斷中。BP演算法和BP神經網路是神經網路的改進版,修正了一些神經網路的缺點。
遺傳演算法屬於進化演算法,模擬大自然生物進化的過程:優勝略汰。個體不斷進化,只有高質量的個體(目標函數最小(大))才能進入下一代的繁殖。如此往復,最終找到全局最優值。遺傳演算法能夠很好的解決常規優化演算法無法解決的高度非線性優化問題,廣泛應用在各行各業中。差分進化,蟻群演算法,粒子群演算法等都屬於進化演算法,只是模擬的生物群體對象不一樣而已。

③ bp演算法在深度神經網路上為什麼行不通

BP演算法作為傳統訓練多層網路的典型演算法,實際上對僅含幾層網路,該訓練方法就已經很不理想,不再往下進行計算了,所以不適合深度神經網路。

BP演算法存在的問題:

(1)梯度越來越稀疏:從頂層越往下,誤差校正信號越來越小。

(2)收斂到局部最小值:尤其是從遠離最優區域開始的時候(隨機值初始化會導致這種情況的發生)。

(3)一般,我們只能用有標簽的數據來訓練:但大部分的數據是沒標簽的,而大腦可以從沒有標簽的的數據中學習。

深度神經網路的特點:

多層的好處是可以用較少的參數表示復雜的函數。

在監督學習中,以前的多層神經網路的問題是容易陷入局部極值點。如果訓練樣本足夠充分覆蓋未來的樣本,那麼學到的多層權重可以很好的用來預測新的測試樣本。

非監督學習中,以往沒有有效的方法構造多層網路。多層神經網路的頂層是底層特徵的高級表示,比如底層是像素點,上一層的結點可能表示橫線,三角; 而頂層可能有一個結點表示人臉。一個成功的演算法應該能讓生成的頂層特徵最大化的代表底層的樣例。

如果對所有層同時訓練,時間復雜度會太高; 如果每次訓練一層,偏差就會逐層傳遞。這會面臨跟上面監督學習中相反的問題,會嚴重欠擬合。



④ 深入淺出BP神經網路演算法的原理

深入淺出BP神經網路演算法的原理
相信每位剛接觸神經網路的時候都會先碰到BP演算法的問題,如何形象快速地理解BP神經網路就是我們學習的高級樂趣了(畫外音:樂趣?你在跟我談樂趣?)
本篇博文就是要簡單粗暴地幫助各位童鞋快速入門採取BP演算法的神經網路。
BP神經網路是怎樣的一種定義?看這句話:一種按「誤差逆傳播演算法訓練」的多層前饋網路。
BP的思想就是:利用輸出後的誤差來估計輸出層前一層的誤差,再用這層誤差來估計更前一層誤差,如此獲取所有各層誤差估計。這里的誤差估計可以理解為某種偏導數,我們就是根據這種偏導數來調整各層的連接權值,再用調整後的連接權值重新計算輸出誤差。直到輸出的誤差達到符合的要求或者迭代次數溢出設定值。
說來說去,「誤差」這個詞說的很多嘛,說明這個演算法是不是跟誤差有很大的關系?
沒錯,BP的傳播對象就是「誤差」,傳播目的就是得到所有層的估計誤差。
它的學習規則是:使用最速下降法,通過反向傳播(就是一層一層往前傳)不斷調整網路的權值和閾值,最後使全局誤差系數最小。
它的學習本質就是:對各連接權值的動態調整。

拓撲結構如上圖:輸入層(input),隱藏層(hide layer),輸出層(output)
BP網路的優勢就是能學習和儲存大量的輸入輸出的關系,而不用事先指出這種數學關系。那麼它是如何學習的?
BP利用處處可導的激活函數來描述該層輸入與該層輸出的關系,常用S型函數δ來當作激活函數。

我們現在開始有監督的BP神經網路學習演算法:
1、正向傳播得到輸出層誤差e
=>輸入層輸入樣本=>各隱藏層=>輸出層
2、判斷是否反向傳播
=>若輸出層誤差與期望不符=>反向傳播
3、誤差反向傳播
=>誤差在各層顯示=>修正各層單元的權值,直到誤差減少到可接受程度。
演算法闡述起來比較簡單,接下來通過數學公式來認識BP的真實面目。
假設我們的網路結構是一個含有N個神經元的輸入層,含有P個神經元的隱層,含有Q個神經元的輸出層。

這些變數分別如下:

認識好以上變數後,開始計算:
一、用(-1,1)內的隨機數初始化誤差函數,並設定精度ε,最多迭代次數M
二、隨機選取第k個輸入樣本及對應的期望輸出

重復以下步驟至誤差達到要求:
三、計算隱含層各神經元的輸入和輸出

四、計算誤差函數e對輸出層各神經元的偏導數,根據輸出層期望輸出和實際輸出以及輸出層輸入等參數計算。

五、計算誤差函數對隱藏層各神經元的偏導數,根據後一層(這里即輸出層)的靈敏度(稍後介紹靈敏度)δo(k),後一層連接權值w,以及該層的輸入值等參數計算
六、利用第四步中的偏導數來修正輸出層連接權值

七、利用第五步中的偏導數來修正隱藏層連接權值

八、計算全局誤差(m個樣本,q個類別)

比較具體的計算方法介紹好了,接下來用比較簡潔的數學公式來大致地概括這個過程,相信看完上述的詳細步驟都會有些了解和領悟。
假設我們的神經網路是這樣的,此時有兩個隱藏層。
我們先來理解靈敏度是什麼?
看下面一個公式:

這個公式是誤差對b的一個偏導數,這個b是怎麼?它是一個基,靈敏度δ就是誤差對基的變化率,也就是導數。
因為?u/?b=1,所以?E/?b=?E/?u=δ,也就是說bias基的靈敏度?E/?b=δ等於誤差E對一個節點全部輸入u的導數?E/?u。
也可以認為這里的靈敏度等於誤差E對該層輸入的導數,注意了,這里的輸入是上圖U級別的輸入,即已經完成層與層權值計算後的輸入。
每一個隱藏層第l層的靈敏度為:

這里的「?」表示每個元素相乘,不懂的可與上面詳細公式對比理解
而輸出層的靈敏度計算方法不同,為:

而最後的修正權值為靈敏度乘以該層的輸入值,注意了,這里的輸入可是未曾乘以權值的輸入,即上圖的Xi級別。

對於每一個權值(W)ij都有一個特定的學習率ηIj,由演算法學習完成。

⑤ 前饋神經網路、BP神經網路、卷積神經網路的區別與聯系

一、計算方法不同

1、前饋神經網路:一種最簡單的神經網路,各神經元分層排列。每個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層.各層間沒有反饋。

2、BP神經網路:是一種按照誤差逆向傳播演算法訓練的多層前饋神經網路。

3、卷積神經網路:包含卷積計算且具有深度結構的前饋神經網路。

二、用途不同

1、前饋神經網路:主要應用包括感知器網路、BP網路和RBF網路。

2、BP神經網路:

(1)函數逼近:用輸入向量和相應的輸出向量訓練一個網路逼近一個函數;

(2)模式識別:用一個待定的輸出向量將它與輸入向量聯系起來;

(3)分類:把輸入向量所定義的合適方式進行分類;

(4)數據壓縮:減少輸出向量維數以便於傳輸或存儲。

3、卷積神經網路:可應用於圖像識別、物體識別等計算機視覺、自然語言處理、物理學和遙感科學等領域。

聯系:

BP神經網路和卷積神經網路都屬於前饋神經網路,三者都屬於人工神經網路。因此,三者原理和結構相同。

三、作用不同

1、前饋神經網路:結構簡單,應用廣泛,能夠以任意精度逼近任意連續函數及平方可積函數.而且可以精確實現任意有限訓練樣本集。

2、BP神經網路:具有很強的非線性映射能力和柔性的網路結構。網路的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨著結構的差異其性能也有所不同。

3、卷積神經網路:具有表徵學習能力,能夠按其階層結構對輸入信息進行平移不變分類。

(5)BP演算法深度神經網路擴展閱讀

1、BP神經網路優劣勢

BP神經網路無論在網路理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網路結構。網路的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨著結構的差異其性能也有所不同。但是BP神經網路也存在以下的一些主要缺陷。

①學習速度慢,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學習才能收斂。

②容易陷入局部極小值。

③網路層數、神經元個數的選擇沒有相應的理論指導。

④網路推廣能力有限。

2、人工神經網路的特點和優越性,主要表現在以下三個方面

①具有自學習功能。例如實現圖像識別時,只在先把許多不同的圖像樣板和對應的應識別的結果輸入人工神經網路,網路就會通過自學習功能,慢慢學會識別類似的圖像。自學習功能對於預測有特別重要的意義。預期未來的人工神經網路計算機將為人類提供經濟預測、效益預測,其應用前途是很遠大的。

②具有聯想存儲功能。用人工神經網路的反饋網路就可以實現這種聯想。

③具有高速尋找優化解的能力。尋找一個復雜問題的優化解,往往需要很大的計算量,利用一個針對某問題而設計的反饋型人工神經網路,發揮計算機的高速運算能力,可能很快找到優化解。

⑥ bp神經網路,把它分為很多層,可以算深度學習嘛

不能算深度,而且多層單純的bp神經網路會出現梯度擴散問題,深度網路不光是指層數增加,還添加了卷積層,降緯層等不同於一般隱藏層的神經元。

⑦ bp神經網路用啥演算法

自己找個例子算一下,推導一下,這個回答起來比較復雜

神經網路對模型的表達能力依賴於優化演算法,優化是一個不斷計算梯度並調整可學習參數的過程,Fluid中的優化演算法可參考優化器。

在網路的訓練過程中,梯度計算分為兩個步驟:前向計算與反向傳播。

BP演算法

隱層的引入使網路具有很大的潛力。但正像Minskey和Papert當時所指出的.雖然對所有那些能用簡單(無隱層)網結解決的問題有非常簡單的學習規則,即簡單感知器的收斂程序(主要歸功於Widrow和HMf於1960年提出的Delta規剛),


BP演算法

但當時並沒有找到同樣有技的含隱層的同培的學習規則。對此問題的研究有三個基本的結果。一種是使用簡單無監督學習規則的競爭學習方法.但它缺乏外部信息.難以確定適台映射的隱層結構。第二條途徑是假設一十內部(隱層)的表示方法,這在一些先約條件下是台理的。另一種方法是利用統計手段設計一個學習過程使之能有技地實現適當的內部表示法,Hinton等人(1984年)提出的Bolzmann機是這種方法的典型例子.它要求網路在兩個不同的狀態下達到平衡,並且只局限於對稱網路。Barto和他的同事(1985年)提出了另一條利用統計手段的學習方法。但迄今為止最有教和最實用的方瑤是Rumelhart、Hinton和Williams(1986年)提出的一般Delta法則,即反向傳播(BP)演算法。Parter(1985年)也獨立地得出過相似的演算法,他稱之為學習邏輯。此外, Lecun(1985年)也研究出大致相似的學習法則。

⑧ BP神經網路演算法的介紹

BP(Back Propagation)網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。

⑨ 什麼是BP神經網路

BP演算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調整信號逐層反向回傳,對神經元之間的連接權矩陣做出處理,使誤差減小。經反復學習,最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓練集中取出某一樣本,把信息輸入網路中。
2、通過各節點間的連接情況正向逐層處理後,得到神經網路的實際輸出。
3、計算網路實際輸出與期望輸出的誤差。
4、將誤差逐層反向回傳至之前各層,並按一定原則將誤差信號載入到連接權值上,使整個神經網路的連接權值向誤差減小的方向轉化。
5、対訓練集中每一個輸入—輸出樣本對重復以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。

⑩ BP神經網路和感知器有什麼區別

1、發展背景不同:

感知器是Frank Rosenblatt在1957年所發明的一種人工神經網路,可以被視為一種最簡單形式的前饋式人工神經網路,是一種二元線性分類器。

而BP神經網路發展於20世紀80年代中期,David Runelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分別獨立發現了誤差反向傳播演算法,簡稱BP,系統解決了多層神經網路隱含層連接權學習問題,並在數學上給出了完整推導。

2、結構不同:

BP網路是在輸入層與輸出層之間增加若干層(一層或多層)神經元,這些神經元稱為隱單元,它們與外界沒有直接的聯系,但其狀態的改變,則能影響輸入與輸出之間的關系,每一層可以有若干個節點。

感知器也被指為單層的人工神經網路,以區別於較復雜的多層感知器(Multilayer Perceptron)。 作為一種線性分類器,(單層)感知器可說是最簡單的前向人工神經網路形式。

3、演算法不同:

BP神經網路的計算過程由正向計算過程和反向計算過程組成。正向傳播過程,輸入模式從輸入層經隱單元層逐層處理,並轉向輸出層,每層神經元的狀態隻影響下一層神經元的狀態。感知器使用特徵向量來表示的前饋式人工神經網路,它是一種二元分類器,輸入直接經過權重關系轉換為輸出。

閱讀全文

與BP演算法深度神經網路相關的資料

熱點內容
安卓手機如何進行文件處理 瀏覽:61
mysql執行系統命令 瀏覽:920
php支持curlhttps 瀏覽:133
新預演算法責任 瀏覽:434
伺服器如何處理5萬人同時在線 瀏覽:241
哈夫曼編碼數據壓縮 瀏覽:414
鎖定伺服器是什麼意思 瀏覽:375
場景檢測演算法 瀏覽:607
解壓手機軟體觸屏 瀏覽:338
方舟pv怎麼轉伺服器 瀏覽:99
數據挖掘中誤差值演算法函數 瀏覽:118
php開發套件 瀏覽:190
伺服器的spi板是什麼 瀏覽:896
解壓縮全能王中文密碼是什麼 瀏覽:80
javaftp伺服器上傳文件 瀏覽:103
演算法設計中文版pdf 瀏覽:81
視頻壓縮形式怎麼改 瀏覽:368
perl程序員 瀏覽:789
電子表格對比命令 瀏覽:610
php循環輸出數組內容 瀏覽:750