❶ 神經網路的分類
神經網路有多種分類方式,例如,按網路性能可分為連續型與離散型網路,確專定型與隨機型網路屬:按網路拓撲結構可分為前向神經網路與反饋神經網路。本章土要簡介前向神經網路、反饋神經網路和自組織特徵映射神經網路。
前向神經網路是數據挖掘中廣為應用的一種網路,其原理或演算法也是很多神經網路模型的基礎。徑向基函數神經網路就是一種前向型神經網路。
Hopfield神經網路是反饋網路的代表。Hvpfi}ld網路的原型是一個非線性動力學系統,目前,已經在聯想記憶和優化計算中得到成功應用。
模擬退火演算法是為解決優化計算中局部極小問題提出的。Baltzmann機是具有隨機輸出值單元的隨機神經網路,串列的Baltzmann機可以看作是對二次組合優化問題的模擬退火演算法的具體實現,同時它還可以模擬外界的概率分布,實現概率意義上的聯想記憶。
自組織競爭型神經網路的特點是能識別環境的特徵並自動聚類。自組織竟爭型神經網路已成功應用於特徵抽取和大規模數據處理。
❷ BP神經網路
神經網路能很好地解決不同的機器學習問題。神經網路模型是許多邏輯單元按照不同層級組織起來的網路,每一層的輸出變數都是下一層的輸入變數。
上圖顯示了人工神經網路是一個分層模型,邏輯上可以分為三層:
輸入層 :輸入層接收特徵向量 x
輸出層 :輸出層產出最終的預測 h
隱含層 :隱含層介於輸入層與輸出層之間,之所以稱之為隱含層,是因為當中產生的值並不像輸入層使用的樣本矩陣 X或者輸出層用到的標簽矩陣 y 那樣直接可見。
下面引入一些標記法來幫助描述模型:
!$ a^{(j)}_{i} $ 代表第j層的第i個激活單元。 !$ heta^{(j)} $ 代表從第 j 層映射到第 j+1 層時的權重的矩陣,例如 !$ heta^{(1)} $ 代表從第一層映射到第二層的權重的矩陣。其尺寸為:以第 j+1層的激活單元數量為行數,以第 j 層的激活單元數加一為列數的矩陣。例如:上圖所示的神經網路中 !$ heta^{(1)} $ 的尺寸為 3*4。
對於上圖所示的模型,激活單元和輸出分別表達為:
!$ a^{(2)}_{1} = g( heta^{(1)}_{10}x_0 + heta^{(1)}_{11}x_1 + heta^{(1)}_{12}x_2 + heta^{(1)}_{13}x_3 ) $
!$a^{(2)}_{2} = g( heta^{(1)}_{20}x_0 + heta^{(1)}_{21}x_1 + heta^{(1)}_{22}x_2 + heta^{(1)}_{23}x_3 ) $
!$a^{(2)}_{3} = g( heta^{(1)}_{30}x_0 + heta^{(1)}_{31}x_1 + heta^{(1)}_{32}x_2 + heta^{(1)}_{33}x_3 ) $
!$h_{ heta}{(x)} = g( heta^{(2)}_{10}a^{2}_{0} + heta^{(2)}_{11}a^{2}_{1} + heta^{(2)}_{12}a^{2}_{2} + heta^{(2)}_{13}a^{2}_{3} ) $
下面用向量化的方法以上面的神經網路為例,試著計算第二層的值:
對於多類分類問題來說:
我們可將神經網路的分類定義為兩種情況:二類分類和多類分類。
二類分類: !$ S_{L} = 0,y = 0,y = 1$
多類分類: !$ S_{L} = k, y_{i} = 1表示分到第i類;(k>2)$
在神經網路中,我們可以有很多輸出變數,我們的 !$h_{ heta}{(x)} $ 是一個維度為K的向量,並且我們訓練集中的因變數也是同樣維度的一個向量,因此我們的代價函數會比邏輯回歸更加復雜一些,為: !$ h_{ heta}{(x)} in R^{K}(h_{ heta}{(x)})_{i} = i^{th} output$
我們希望通過代價函數來觀察演算法預測的結果與真實情況的誤差有多大,唯一不同的是,對於每一行特徵,我們都會給出K個預測,基本上我們可以利用循環,對每一行特徵都預測K個不同結果,然後在利用循環在K個預測中選擇可能性最高的一個,將其與y中的實際數據進行比較。
正則化的那一項只是排除了每一層 !$ heta_0$ 後,每一層的 矩陣的和。最里層的循環j循環所有的行(由 +1 層的激活單元數決定),循環i則循環所有的列,由該層( !$ s_l$ 層)的激活單元數所決定。即: !$h_{ heta}{(x)}$ 與真實值之間的距離為每個樣本-每個類輸出的加和,對參數進行 regularization 的 bias 項處理所有參數的平方和。
由於神經網路允許多個隱含層,即各層的神經元都會產出預測,因此,就不能直接利用傳統回歸問題的梯度下降法來最小化 !$J( heta)$ ,而需要逐層考慮預測誤差,並且逐層優化。為此,在多層神經網路中,使用反向傳播演算法(Backpropagation Algorithm)來優化預測,首先定義各層的預測誤差為向量 !$ δ^{(l)} $
訓練過程:
當我們對一個較為復雜的模型(例如神經網路)使用梯度下降演算法時,可能會存在一些不容易察覺的錯誤,意味著,雖然代價看上去在不斷減小,但最終的結果可能並不是最優解。
為了避免這樣的問題,我們採取一種叫做梯度的數值檢驗( Numerical Gradient Checking )方法。這種方法的思想是通過估計梯度值來檢驗我們計算的導數值是否真的是我們要求的。
對梯度的估計採用的方法是在代價函數上沿著切線的方向選擇離兩個非常近的點然後計算兩個點的平均值用以估計梯度。即對於某個特定的 ,我們計算出在 !$ heta - epsilon$ 處和 !$ heta + epsilon$ 的代價值(是一個非常小的值,通常選取 0.001),然後求兩個代價的平均,用以估計在 !$ heta$ 處的代價值。
當 !$ heta$ 是一個向量時,我們則需要對偏導數進行檢驗。因為代價函數的偏導數檢驗只針對一個參數的改變進行檢驗,下面是一個只針對 !$ heta_1$ 進行檢驗的示例:
如果上式成立,則證明網路中BP演算法有效,此時關閉梯度校驗演算法(因為梯度的近似計算效率很慢),繼續網路的訓練過程。
❸ 2.前饋型神經網路與反饋型神經網路
隨著神經網路的不斷發展,越來越多的人工神經網路模型也被創造出來了,其中,具有代表性的就是前饋型神經網路模型以及反饋型神經網路模型。 1.前饋型神經網路模型 前饋神經網路(Feedforward Neural Network),簡稱前饋網路,是人工神經網路的一種。在此種神經網路中,各神經元從輸入層開始,接收前一級輸入,並輸出到下一級,直至輸出層。整個網路中無反饋,可用一個有向無環圖表示。 前饋神經網路採用一種單向多層結構,其拓撲結構如圖1所示。其中每一層包含若干個神經元,同一層的神經元之間沒有互相連接,層間信息的傳送只沿一個方向進行。其中第一層稱為輸入層。最後一層為輸出層.中間為隱含層,簡稱隱層。隱層可以是一層。也可以是多層 2.反饋型神經神經網路 反饋神經網路是一種反饋動力學系統。在這種網路中,每個神經元同時將自身的輸出信號作為輸入信號反饋給其他神經元,它需要工作一段時間才能達到穩定。Hopfield神經網路是反饋網路中最簡單且應用廣泛的模型,它具有聯想記憶的功能,如果將李雅普諾夫函數定義為巡遊函數,Hopfield神經網路還可以用來解決快速尋優問題,Hopfield網路可以分為離散型Hopfield網路和連續型Hopfield網路,其中,離散型Hopfield網路拓撲結構如圖2所示。❹ 神經網路BP模型
一、BP模型概述
誤差逆傳播(Error Back-Propagation)神經網路模型簡稱為BP(Back-Propagation)網路模型。
Pall Werbas博士於1974年在他的博士論文中提出了誤差逆傳播學習演算法。完整提出並被廣泛接受誤差逆傳播學習演算法的是以Rumelhart和McCelland為首的科學家小組。他們在1986年出版「Parallel Distributed Processing,Explorations in the Microstructure of Cognition」(《並行分布信息處理》)一書中,對誤差逆傳播學習演算法進行了詳盡的分析與介紹,並對這一演算法的潛在能力進行了深入探討。
BP網路是一種具有3層或3層以上的階層型神經網路。上、下層之間各神經元實現全連接,即下層的每一個神經元與上層的每一個神經元都實現權連接,而每一層各神經元之間無連接。網路按有教師示教的方式進行學習,當一對學習模式提供給網路後,神經元的激活值從輸入層經各隱含層向輸出層傳播,在輸出層的各神經元獲得網路的輸入響應。在這之後,按減小期望輸出與實際輸出的誤差的方向,從輸入層經各隱含層逐層修正各連接權,最後回到輸入層,故得名「誤差逆傳播學習演算法」。隨著這種誤差逆傳播修正的不斷進行,網路對輸入模式響應的正確率也不斷提高。
BP網路主要應用於以下幾個方面:
1)函數逼近:用輸入模式與相應的期望輸出模式學習一個網路逼近一個函數;
2)模式識別:用一個特定的期望輸出模式將它與輸入模式聯系起來;
3)分類:把輸入模式以所定義的合適方式進行分類;
4)數據壓縮:減少輸出矢量的維數以便於傳輸或存儲。
在人工神經網路的實際應用中,80%~90%的人工神經網路模型採用BP網路或它的變化形式,它也是前向網路的核心部分,體現了人工神經網路最精華的部分。
二、BP模型原理
下面以三層BP網路為例,說明學習和應用的原理。
1.數據定義
P對學習模式(xp,dp),p=1,2,…,P;
輸入模式矩陣X[N][P]=(x1,x2,…,xP);
目標模式矩陣d[M][P]=(d1,d2,…,dP)。
三層BP網路結構
輸入層神經元節點數S0=N,i=1,2,…,S0;
隱含層神經元節點數S1,j=1,2,…,S1;
神經元激活函數f1[S1];
權值矩陣W1[S1][S0];
偏差向量b1[S1]。
輸出層神經元節點數S2=M,k=1,2,…,S2;
神經元激活函數f2[S2];
權值矩陣W2[S2][S1];
偏差向量b2[S2]。
學習參數
目標誤差ϵ;
初始權更新值Δ0;
最大權更新值Δmax;
權更新值增大倍數η+;
權更新值減小倍數η-。
2.誤差函數定義
對第p個輸入模式的誤差的計算公式為
中國礦產資源評價新技術與評價新模型
y2kp為BP網的計算輸出。
3.BP網路學習公式推導
BP網路學習公式推導的指導思想是,對網路的權值W、偏差b修正,使誤差函數沿負梯度方向下降,直到網路輸出誤差精度達到目標精度要求,學習結束。
各層輸出計算公式
輸入層
y0i=xi,i=1,2,…,S0;
隱含層
中國礦產資源評價新技術與評價新模型
y1j=f1(z1j),
j=1,2,…,S1;
輸出層
中國礦產資源評價新技術與評價新模型
y2k=f2(z2k),
k=1,2,…,S2。
輸出節點的誤差公式
中國礦產資源評價新技術與評價新模型
對輸出層節點的梯度公式推導
中國礦產資源評價新技術與評價新模型
E是多個y2m的函數,但只有一個y2k與wkj有關,各y2m間相互獨立。
其中
中國礦產資源評價新技術與評價新模型
則
中國礦產資源評價新技術與評價新模型
設輸出層節點誤差為
δ2k=(dk-y2k)·f2′(z2k),
則
中國礦產資源評價新技術與評價新模型
同理可得
中國礦產資源評價新技術與評價新模型
對隱含層節點的梯度公式推導
中國礦產資源評價新技術與評價新模型
E是多個y2k的函數,針對某一個w1ji,對應一個y1j,它與所有的y2k有關。因此,上式只存在對k的求和,其中
中國礦產資源評價新技術與評價新模型
則
中國礦產資源評價新技術與評價新模型
設隱含層節點誤差為
中國礦產資源評價新技術與評價新模型
則
中國礦產資源評價新技術與評價新模型
同理可得
中國礦產資源評價新技術與評價新模型
4.採用彈性BP演算法(RPROP)計算權值W、偏差b的修正值ΔW,Δb
1993年德國 Martin Riedmiller和Heinrich Braun 在他們的論文「A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm」中,提出Resilient Backpropagation演算法——彈性BP演算法(RPROP)。這種方法試圖消除梯度的大小對權步的有害影響,因此,只有梯度的符號被認為表示權更新的方向。
權改變的大小僅僅由權專門的「更新值」
中國礦產資源評價新技術與評價新模型
其中
權更新遵循規則:如果導數是正(增加誤差),這個權由它的更新值減少。如果導數是負,更新值增加。
中國礦產資源評價新技術與評價新模型
RPROP演算法是根據局部梯度信息實現權步的直接修改。對於每個權,我們引入它的
各自的更新值
於在誤差函數E上的局部梯度信息,按照以下的學習規則更新
中國礦產資源評價新技術與評價新模型
其中0<η-<1<η+。
在每個時刻,如果目標函數的梯度改變它的符號,它表示最後的更新太大,更新值
為了減少自由地可調參數的數目,增大倍數因子η+和減小倍數因子η–被設置到固定值
η+=1.2,
η-=0.5,
這兩個值在大量的實踐中得到了很好的效果。
RPROP演算法採用了兩個參數:初始權更新值Δ0和最大權更新值Δmax
當學習開始時,所有的更新值被設置為初始值Δ0,因為它直接確定了前面權步的大小,它應該按照權自身的初值進行選擇,例如,Δ0=0.1(默認設置)。
為了使權不至於變得太大,設置最大權更新值限制Δmax,默認上界設置為
Δmax=50.0。
在很多實驗中,發現通過設置最大權更新值Δmax到相當小的值,例如
Δmax=1.0。
我們可能達到誤差減小的平滑性能。
5.計算修正權值W、偏差b
第t次學習,權值W、偏差b的的修正公式
W(t)=W(t-1)+ΔW(t),
b(t)=b(t-1)+Δb(t),
其中,t為學習次數。
6.BP網路學習成功結束條件每次學習累積誤差平方和
中國礦產資源評價新技術與評價新模型
每次學習平均誤差
中國礦產資源評價新技術與評價新模型
當平均誤差MSE<ε,BP網路學習成功結束。
7.BP網路應用預測
在應用BP網路時,提供網路輸入給輸入層,應用給定的BP網路及BP網路學習得到的權值W、偏差b,網路輸入經過從輸入層經各隱含層向輸出層的「順傳播」過程,計算出BP網的預測輸出。
8.神經元激活函數f
線性函數
f(x)=x,
f′(x)=1,
f(x)的輸入范圍(-∞,+∞),輸出范圍(-∞,+∞)。
一般用於輸出層,可使網路輸出任何值。
S型函數S(x)
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍(0,1)。
f′(x)=f(x)[1-f(x)],
f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,
一般用於隱含層,可使范圍(-∞,+∞)的輸入,變成(0,1)的網路輸出,對較大的輸入,放大系數較小;而對較小的輸入,放大系數較大,所以可用來處理和逼近非線性的輸入/輸出關系。
在用於模式識別時,可用於輸出層,產生逼近於0或1的二值輸出。
雙曲正切S型函數
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍(-1,1)。
f′(x)=1-f(x)·f(x),
f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,1]。
一般用於隱含層,可使范圍(-∞,+∞)的輸入,變成(-1,1)的網路輸出,對較大的輸入,放大系數較小;而對較小的輸入,放大系數較大,所以可用來處理和逼近非線性的輸入/輸出關系。
階梯函數
類型1
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
f′(x)=0。
類型2
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍{-1,1}。
f′(x)=0。
斜坡函數
類型1
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍[0,1]。
中國礦產資源評價新技術與評價新模型
f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
類型2
中國礦產資源評價新技術與評價新模型
f(x)的輸入范圍(-∞,+∞),輸出范圍[-1,1]。
中國礦產資源評價新技術與評價新模型
f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
三、總體演算法
1.三層BP網路(含輸入層,隱含層,輸出層)權值W、偏差b初始化總體演算法
(1)輸入參數X[N][P],S0,S1,f1[S1],S2,f2[S2];
(2)計算輸入模式X[N][P]各個變數的最大值,最小值矩陣 Xmax[N],Xmin[N];
(3)隱含層的權值W1,偏差b1初始化。
情形1:隱含層激活函數f( )都是雙曲正切S型函數
1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];
2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9))輸出W1[S1][S0],b1[S1]。
情形2:隱含層激活函數f( )都是S型函數
1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];
2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
情形3:隱含層激活函數f( )為其他函數的情形
1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];
2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];
3)計算W,b的幅度因子Wmag;
4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];
5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];
6)計算W[S1][S0],b[S1];
7)計算隱含層的初始化權值W1[S1][S0];
8)計算隱含層的初始化偏差b1[S1];
9)輸出W1[S1][S0],b1[S1]。
(4)輸出層的權值W2,偏差b2初始化
1)產生[-1,1]之間均勻分布的S2×S1維隨機數矩陣W2[S2][S1];
2)產生[-1,1]之間均勻分布的S2×1維隨機數矩陣b2[S2];
3)輸出W2[S2][S1],b2[S2]。
2.應用彈性BP演算法(RPROP)學習三層BP網路(含輸入層,隱含層,輸出層)權值W、偏差b總體演算法
函數:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)
(1)輸入參數
P對模式(xp,dp),p=1,2,…,P;
三層BP網路結構;
學習參數。
(2)學習初始化
1)
2)各層W,b的梯度值
(3)由輸入模式X求第一次學習各層輸出y0,y1,y2及第一次學習平均誤差MSE
(4)進入學習循環
epoch=1
(5)判斷每次學習誤差是否達到目標誤差要求
如果MSE<ϵ,
則,跳出epoch循環,
轉到(12)。
(6)保存第epoch-1次學習產生的各層W,b的梯度值
(7)求第epoch次學習各層W,b的梯度值
1)求各層誤差反向傳播值δ;
2)求第p次各層W,b的梯度值
3)求p=1,2,…,P次模式產生的W,b的梯度值
(8)如果epoch=1,則將第epoch-1次學習的各層W,b的梯度值
(9)求各層W,b的更新
1)求權更新值Δij更新;
2)求W,b的權更新值
3)求第epoch次學習修正後的各層W,b。
(10)用修正後各層W、b,由X求第epoch次學習各層輸出y0,y1,y2及第epoch次學習誤差MSE
(11)epoch=epoch+1,
如果epoch≤MAX_EPOCH,轉到(5);
否則,轉到(12)。
(12)輸出處理
1)如果MSE<ε,
則學習達到目標誤差要求,輸出W1,b1,W2,b2。
2)如果MSE≥ε,
則學習沒有達到目標誤差要求,再次學習。
(13)結束
3.三層BP網路(含輸入層,隱含層,輸出層)預測總體演算法
首先應用Train3lBP_RPROP( )學習三層BP網路(含輸入層,隱含層,輸出層)權值W、偏差b,然後應用三層BP網路(含輸入層,隱含層,輸出層)預測。
函數:Simu3lBP( )。
1)輸入參數:
P個需預測的輸入數據向量xp,p=1,2,…,P;
三層BP網路結構;
學習得到的各層權值W、偏差b。
2)計算P個需預測的輸入數據向量xp(p=1,2,…,P)的網路輸出 y2[S2][P],輸出預測結果y2[S2][P]。
四、總體演算法流程圖
BP網路總體演算法流程圖見附圖2。
五、數據流圖
BP網數據流圖見附圖1。
六、實例
實例一 全國銅礦化探異常數據BP 模型分類
1.全國銅礦化探異常數據准備
在全國銅礦化探數據上用穩健統計學方法選取銅異常下限值33.1,生成全國銅礦化探異常數據。
2.模型數據准備
根據全國銅礦化探異常數據,選取7類33個礦點的化探數據作為模型數據。這7類分別是岩漿岩型銅礦、斑岩型銅礦、矽卡岩型、海相火山型銅礦、陸相火山型銅礦、受變質型銅礦、海相沉積型銅礦,另添加了一類沒有銅異常的模型(表8-1)。
3.測試數據准備
全國化探數據作為測試數據集。
4.BP網路結構
隱層數2,輸入層到輸出層向量維數分別為14,9、5、1。學習率設置為0.9,系統誤差1e-5。沒有動量項。
表8-1 模型數據表
續表
5.計算結果圖
如圖8-2、圖8-3。
圖8-2
圖8-3 全國銅礦礦床類型BP模型分類示意圖
實例二 全國金礦礦石量品位數據BP 模型分類
1.模型數據准備
根據全國金礦儲量品位數據,選取4類34個礦床數據作為模型數據,這4類分別是綠岩型金礦、與中酸性浸入岩有關的熱液型金礦、微細浸染型型金礦、火山熱液型金礦(表8-2)。
2.測試數據准備
模型樣本點和部分金礦點金屬量、礦石量、品位數據作為測試數據集。
3.BP網路結構
輸入層為三維,隱層1層,隱層為三維,輸出層為四維,學習率設置為0.8,系統誤差1e-4,迭代次數5000。
表8-2 模型數據
4.計算結果
結果見表8-3、8-4。
表8-3 訓練學習結果
表8-4 預測結果(部分)
續表
❺ 人工神經網路的網路模型
人工神經網路模型主要考慮網路連接的拓撲結構、神經元的特徵、學習規則等。目前,已有近40種神經網路模型,其中有反傳網路、感知器、自組織映射、Hopfield網路、波耳茲曼機、適應諧振理論等。根據連接的拓撲結構,神經網路模型可以分為:
網路內神經元間有反饋,可以用一個無向的完備圖表示。這種神經網路的信息處理是狀態的變換,可以用動力學系統理論處理。系統的穩定性與聯想記憶功能有密切關系。Hopfield網路、波耳茲曼機均屬於這種類型。
❻ 有哪些深度神經網路模型
卷積神經元(Convolutional cells)和前饋神經元非常相似,除了它們只跟前一神經細胞層的部分神經元有連接。因為它們不是和某些神經元隨機連接的,而是與特定范圍內的神經元相連接,通常用來保存空間信息。這讓它們對於那些擁有大量局部信息,比如圖像數據、語音數據(但多數情況下是圖像數據),會非常實用。
解卷積神經元恰好相反:它們是通過跟下一神經細胞層的連接來解碼空間信息。這兩種神經元都有很多副本,它們都是獨立訓練的;每個副本都有自己的權重,但連接方式卻完全相同。可以認為,這些副本是被放在了具備相同結構的不同的神經網路中。這兩種神經元本質上都是一般意義上的神經元,但是,它們的使用方式卻不同。
池化神經元和插值神經元(Pooling and interpolating cells)經常和卷積神經元結合起來使用。它們不是真正意義上的神經元,只能進行一些簡單的操作。
池化神經元接受到來自其它神經元的輸出過後,決定哪些值可以通過,哪些值不能通過。在圖像領域,可以理解成是把一個圖像縮小了(在查看圖片的時候,一般軟體都有一個放大、縮小的功能;這里的圖像縮小,就相當於軟體上的縮小圖像;也就是說我們能看到圖像的內容更加少了;在這個池化的過程當中,圖像的大小也會相應地減少)。這樣,你就再也不能看到所有的像素了,池化函數會知道什麼像素該保留,什麼像素該舍棄。
插值神經元恰好是相反的操作:它們獲取一些信息,然後映射出更多的信息。額外的信息都是按照某種方式製造出來的,這就好像在一張小解析度的圖片上面進行放大。插值神經元不僅僅是池化神經元的反向操作,而且,它們也是很常見,因為它們運行非常快,同時,實現起來也很簡單。池化神經元和插值神經元之間的關系,就像卷積神經元和解卷積神經元之間的關系。
均值神經元和標准方差神經元(Mean and standard deviation cells)(作為概率神經元它們總是成對地出現)是一類用來描述數據概率分布的神經元。均值就是所有值的平均值,而標准方差描述的是這些數據偏離(兩個方向)均值有多遠。比如:一個用於圖像處理的概率神經元可以包含一些信息,比如:在某個特定的像素裡面有多少紅色。舉個例來說,均值可能是0.5,同時標准方差是0.2。當要從這些概率神經元取樣的時候,你可以把這些值輸入到一個高斯隨機數生成器,這樣就會生成一些分布在0.4和0.6之間的值;值離0.5越遠,對應生成的概率也就越小。它們一般和前一神經元層或者下一神經元層是全連接,而且,它們沒有偏差(bias)。
循環神經元(Recurrent cells )不僅僅在神經細胞層之間有連接,而且在時間軸上也有相應的連接。每一個神經元內部都會保存它先前的值。它們跟一般的神經元一樣更新,但是,具有額外的權重:與當前神經元之前值之間的權重,還有大多數情況下,與同一神經細胞層各個神經元之間的權重。當前值和存儲的先前值之間權重的工作機制,與非永久性存儲器(比如RAM)的工作機制很相似,繼承了兩個性質:
第一,維持一個特定的狀態;
第二:如果不對其持續進行更新(輸入),這個狀態就會消失。
由於先前的值是通過激活函數得到的,而在每一次的更新時,都會把這個值和其它權重一起輸入到激活函數,因此,信息會不斷地流失。實際上,信息的保存率非常的低,以至於僅僅四次或者五次迭代更新過後,幾乎之前所有的信息都會流失掉。
❼ 神經網路模型-27種神經網路模型們的簡介
【1】Perceptron(P) 感知機
【1】感知機
感知機是我們知道的最簡單和最古老的神經元模型,它接收一些輸入,然後把它們加總,通過激活函數並傳遞到輸出層。
【2】Feed Forward(FF)前饋神經網路
【2】前饋神經網路
前饋神經網路(FF),這也是一個很古老的方法——這種方法起源於50年代。它的工作原理通常遵循以下規則:
1.所有節點都完全連接
2.激活從輸入層流向輸出,無回環
3.輸入和輸出之間有一層(隱含層)
在大多數情況下,這種類型的網路使用反向傳播方法進行訓練。
【3】Radial Basis Network(RBF) RBF神經網路
【3】RBF神經網路
RBF 神經網路實際上是 激活函數是徑向基函數 而非邏輯函數的FF前饋神經網路(FF)。兩者之間有什麼區別呢?
邏輯函數--- 將某個任意值映射到[0 ,... 1]范圍內來,回答「是或否」問題。適用於分類決策系統,但不適用於連續變數。
相反, 徑向基函數--- 能顯示「我們距離目標有多遠」。 這完美適用於函數逼近和機器控制(例如作為PID控制器的替代)。
簡而言之,RBF神經網路其實就是, 具有不同激活函數和應用方向的前饋網路 。
【4】Deep Feed Forword(DFF)深度前饋神經網路
【4】DFF深度前饋神經網路
DFF深度前饋神經網路在90年代初期開啟了深度學習的潘多拉盒子。 這些依然是前饋神經網路,但有不止一個隱含層 。那麼,它到底有什麼特殊性?
在訓練傳統的前饋神經網路時,我們只向上一層傳遞了少量的誤差信息。由於堆疊更多的層次導致訓練時間的指數增長,使得深度前饋神經網路非常不實用。 直到00年代初,我們開發了一系列有效的訓練深度前饋神經網路的方法; 現在它們構成了現代機器學習系統的核心 ,能實現前饋神經網路的功能,但效果遠高於此。
【5】Recurrent Neural Network(RNN) 遞歸神經網路
【5】RNN遞歸神經網路
RNN遞歸神經網路引入不同類型的神經元——遞歸神經元。這種類型的第一個網路被稱為約旦網路(Jordan Network),在網路中每個隱含神經元會收到它自己的在固定延遲(一次或多次迭代)後的輸出。除此之外,它與普通的模糊神經網路非常相似。
當然,它有許多變化 — 如傳遞狀態到輸入節點,可變延遲等,但主要思想保持不變。這種類型的神經網路主要被使用在上下文很重要的時候——即過去的迭代結果和樣本產生的決策會對當前產生影響。最常見的上下文的例子是文本——一個單詞只能在前面的單詞或句子的上下文中進行分析。
【6】Long/Short Term Memory (LSTM) 長短時記憶網路
【6】LSTM長短時記憶網路
LSTM長短時記憶網路引入了一個存儲單元,一個特殊的單元,當數據有時間間隔(或滯後)時可以處理數據。遞歸神經網路可以通過「記住」前十個詞來處理文本,LSTM長短時記憶網路可以通過「記住」許多幀之前發生的事情處理視頻幀。 LSTM網路也廣泛用於寫作和語音識別。
存儲單元實際上由一些元素組成,稱為門,它們是遞歸性的,並控制信息如何被記住和遺忘。
【7】Gated Recurrent Unit (GRU)
【7】GRU是具有不同門的LSTM
GRU是具有不同門的LSTM。
聽起來很簡單,但缺少輸出門可以更容易基於具體輸入重復多次相同的輸出,目前此模型在聲音(音樂)和語音合成中使用得最多。
實際上的組合雖然有點不同:但是所有的LSTM門都被組合成所謂的更新門(Update Gate),並且復位門(Reset Gate)與輸入密切相關。
它們比LSTM消耗資源少,但幾乎有相同的效果。
【8】Auto Encoder (AE) 自動編碼器
【8】AE自動編碼器
Autoencoders自動編碼器用於分類,聚類和特徵壓縮。
當您訓練前饋(FF)神經網路進行分類時,您主要必須在Y類別中提供X個示例,並且期望Y個輸出單元格中的一個被激活。 這被稱為「監督學習」。
另一方面,自動編碼器可以在沒有監督的情況下進行訓練。它們的結構 - 當隱藏單元數量小於輸入單元數量(並且輸出單元數量等於輸入單元數)時,並且當自動編碼器被訓練時輸出盡可能接近輸入的方式,強制自動編碼器泛化數據並搜索常見模式。
【9】Variational AE (VAE) 變分自編碼器
【9】VAE變分自編碼器
變分自編碼器,與一般自編碼器相比,它壓縮的是概率,而不是特徵。
盡管如此簡單的改變,但是一般自編碼器只能回答當「我們如何歸納數據?」的問題時,變分自編碼器回答了「兩件事情之間的聯系有多強大?我們應該在兩件事情之間分配誤差還是它們完全獨立的?」的問題。
【10】Denoising AE (DAE) 降噪自動編碼器
【10】DAE降噪自動編碼器
雖然自動編碼器很酷,但它們有時找不到最魯棒的特徵,而只是適應輸入數據(實際上是過擬合的一個例子)。
降噪自動編碼器(DAE)在輸入單元上增加了一些雜訊 - 通過隨機位來改變數據,隨機切換輸入中的位,等等。通過這樣做,一個強制降噪自動編碼器從一個有點嘈雜的輸入重構輸出,使其更加通用,強制選擇更常見的特徵。
【11】Sparse AE (SAE) 稀疏自編碼器
【11】SAE稀疏自編碼器
稀疏自編碼器(SAE)是另外一個有時候可以抽離出數據中一些隱藏分組樣試的自動編碼的形式。結構和AE是一樣的,但隱藏單元的數量大於輸入或輸出單元的數量。
【12】Markov Chain (MC) 馬爾科夫鏈
【12】Markov Chain (MC) 馬爾科夫鏈
馬爾可夫鏈(Markov Chain, MC)是一個比較老的圖表概念了,它的每一個端點都存在一種可能性。過去,我們用它來搭建像「在單詞hello之後有0.0053%的概率會出現dear,有0.03551%的概率出現you」這樣的文本結構。
這些馬爾科夫鏈並不是典型的神經網路,它可以被用作基於概率的分類(像貝葉斯過濾),用於聚類(對某些類別而言),也被用作有限狀態機。
【13】Hopfield Network (HN) 霍普菲爾網路
【13】HN霍普菲爾網路
霍普菲爾網路(HN)對一套有限的樣本進行訓練,所以它們用相同的樣本對已知樣本作出反應。
在訓練前,每一個樣本都作為輸入樣本,在訓練之中作為隱藏樣本,使用過之後被用作輸出樣本。
在HN試著重構受訓樣本的時候,他們可以用於給輸入值降噪和修復輸入。如果給出一半圖片或數列用來學習,它們可以反饋全部樣本。
【14】Boltzmann Machine (BM) 波爾滋曼機
【14】 BM 波爾滋曼機
波爾滋曼機(BM)和HN非常相像,有些單元被標記為輸入同時也是隱藏單元。在隱藏單元更新其狀態時,輸入單元就變成了輸出單元。(在訓練時,BM和HN一個一個的更新單元,而非並行)。
這是第一個成功保留模擬退火方法的網路拓撲。
多層疊的波爾滋曼機可以用於所謂的深度信念網路,深度信念網路可以用作特徵檢測和抽取。
【15】Restricted BM (RBM) 限制型波爾滋曼機
【15】 RBM 限制型波爾滋曼機
在結構上,限制型波爾滋曼機(RBM)和BM很相似,但由於受限RBM被允許像FF一樣用反向傳播來訓練(唯一的不同的是在反向傳播經過數據之前RBM會經過一次輸入層)。
【16】Deep Belief Network (DBN) 深度信念網路
【16】DBN 深度信念網路
像之前提到的那樣,深度信念網路(DBN)實際上是許多波爾滋曼機(被VAE包圍)。他們能被連在一起(在一個神經網路訓練另一個的時候),並且可以用已經學習過的樣式來生成數據。
【17】Deep Convolutional Network (DCN) 深度卷積網路
【17】 DCN 深度卷積網路
當今,深度卷積網路(DCN)是人工神經網路之星。它具有卷積單元(或者池化層)和內核,每一種都用以不同目的。
卷積核事實上用來處理輸入的數據,池化層是用來簡化它們(大多數情況是用非線性方程,比如max),來減少不必要的特徵。
他們通常被用來做圖像識別,它們在圖片的一小部分上運行(大約20x20像素)。輸入窗口一個像素一個像素的沿著圖像滑動。然後數據流向卷積層,卷積層形成一個漏斗(壓縮被識別的特徵)。從圖像識別來講,第一層識別梯度,第二層識別線,第三層識別形狀,以此類推,直到特定的物體那一級。DFF通常被接在卷積層的末端方便未來的數據處理。
【18】Deconvolutional Network (DN) 去卷積網路
【18】 DN 去卷積網路
去卷積網路(DN)是將DCN顛倒過來。DN能在獲取貓的圖片之後生成像(狗:0,蜥蜴:0,馬:0,貓:1)一樣的向量。DNC能在得到這個向量之後,能畫出一隻貓。
【19】Deep Convolutional Inverse Graphics Network (DCIGN) 深度卷積反轉圖像網路
【19】 DCIGN 深度卷積反轉圖像網路
深度卷積反轉圖像網路(DCIGN),長得像DCN和DN粘在一起,但也不完全是這樣。
事實上,它是一個自動編碼器,DCN和DN並不是作為兩個分開的網路,而是承載網路輸入和輸出的間隔區。大多數這種神經網路可以被用作圖像處理,並且可以處理他們以前沒有被訓練過的圖像。由於其抽象化的水平很高,這些網路可以用於將某個事物從一張圖片中移除,重畫,或者像大名鼎鼎的CycleGAN一樣將一匹馬換成一個斑馬。
【20】Generative Adversarial Network (GAN) 生成對抗網路
【20】 GAN 生成對抗網路
生成對抗網路(GAN)代表了有生成器和分辨器組成的雙網路大家族。它們一直在相互傷害——生成器試著生成一些數據,而分辨器接收樣本數據後試著分辨出哪些是樣本,哪些是生成的。只要你能夠保持兩種神經網路訓練之間的平衡,在不斷的進化中,這種神經網路可以生成實際圖像。
【21】Liquid State Machine (LSM) 液體狀態機
【21】 LSM 液體狀態機
液體狀態機(LSM)是一種稀疏的,激活函數被閾值代替了的(並不是全部相連的)神經網路。只有達到閾值的時候,單元格從連續的樣本和釋放出來的輸出中積累價值信息,並再次將內部的副本設為零。
這種想法來自於人腦,這些神經網路被廣泛的應用於計算機視覺,語音識別系統,但目前還沒有重大突破。
【22】Extreme Learning Machine (ELM) 極端學習機
【22】ELM 極端學習機
極端學習機(ELM)是通過產生稀疏的隨機連接的隱藏層來減少FF網路背後的復雜性。它們需要用到更少計算機的能量,實際的效率很大程度上取決於任務和數據。
【23】Echo State Network (ESN) 回聲狀態網路
【23】 ESN 回聲狀態網路
回聲狀態網路(ESN)是重復網路的細分種類。數據會經過輸入端,如果被監測到進行了多次迭代(請允許重復網路的特徵亂入一下),只有在隱藏層之間的權重會在此之後更新。
據我所知,除了多個理論基準之外,我不知道這種類型的有什麼實際應用。。。。。。。
【24】Deep Resial Network (DRN) 深度殘差網路
【24】 DRN 深度殘差網路
深度殘差網路(DRN)是有些輸入值的部分會傳遞到下一層。這一特點可以讓它可以做到很深的層級(達到300層),但事實上它們是一種沒有明確延時的RNN。
【25】Kohonen Network (KN) Kohonen神經網路
【25】 Kohonen神經網路
Kohonen神經網路(KN)引入了「單元格距離」的特徵。大多數情況下用於分類,這種網路試著調整它們的單元格使其對某種特定的輸入作出最可能的反應。當一些單元格更新了, 離他們最近的單元格也會更新。
像SVM一樣,這些網路總被認為不是「真正」的神經網路。
【26】Support Vector Machine (SVM)
【26】 SVM 支持向量機
支持向量機(SVM)用於二元分類工作,無論這個網路處理多少維度或輸入,結果都會是「是」或「否」。
SVM不是所有情況下都被叫做神經網路。
【27】Neural Turing Machine (NTM) 神經圖靈機
【27】NTM 神經圖靈機
神經網路像是黑箱——我們可以訓練它們,得到結果,增強它們,但實際的決定路徑大多數我們都是不可見的。
神經圖靈機(NTM)就是在嘗試解決這個問題——它是一個提取出記憶單元之後的FF。一些作者也說它是一個抽象版的LSTM。
記憶是被內容編址的,這個網路可以基於現狀讀取記憶,編寫記憶,也代表了圖靈完備神經網路。
❽ 人工神經網路的分類 ann和bp是什麼意思
人工神經網路模型主要考慮網路連接的拓撲結構、神經元的特徵、學習規則等.目前,已有近40種神經網路模型,其中有反傳網路、感知器、自組織映射、Hopfield網路、波耳茲曼機、適應諧振理論等. ann:人工神經網路(Artificial Neural Networks) bp:Back Propagation網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一.BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程.它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小.BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer).❾ 神經網路的分類
網路分類人工神經網路按其模型結構大體可以分為前饋型網路也稱為多層感知機網路)和反饋型網路(也稱為Hopfield網路)兩大類,前者在數學上可以看作是一類大規模的非線性映射系統,後者則是一類大規模的非線性動力學系統。它們的結構模型如圖1、圖2所示,圖中圓圏代表神經元,其間的有向連線代表神經元突觸。按照學習方式,人工神經網路又可分為有導師學習和無導師學習兩類;按工作方式則可分為確定性和隨機性兩類;按時間特性還可分為連續型或離散型兩類,等等。
❿ 神經網路演算法的三大類分別是
神經網路演算法的三大類分別是:
1、前饋神經網路:
這是實際應用中最常見的神經網路類型。第一層是輸入,最後一層是輸出。如果有多個隱藏層,我們稱之為「深度」神經網路。他們計算出一系列改變樣本相似性的變換。各層神經元的活動是前一層活動的非線性函數。
2、循環網路:
循環網路在他們的連接圖中定向了循環,這意味著你可以按照箭頭回到你開始的地方。他們可以有復雜的動態,使其很難訓練。他們更具有生物真實性。
循環網路的目的是用來處理序列數據。在傳統的神經網路模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層之間的節點是無連接的。但是這種普通的神經網路對於很多問題卻無能無力。
循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。
3、對稱連接網路:
對稱連接網路有點像循環網路,但是單元之間的連接是對稱的(它們在兩個方向上權重相同)。比起循環網路,對稱連接網路更容易分析。
這個網路中有更多的限制,因為它們遵守能量函數定律。沒有隱藏單元的對稱連接網路被稱為「Hopfield 網路」。有隱藏單元的對稱連接的網路被稱為玻爾茲曼機。
(10)神經網路模型分類擴展閱讀:
應用及發展:
心理學家和認知科學家研究神經網路的目的在於探索人腦加工、儲存和搜索信息的機制,弄清人腦功能的機理,建立人類認知過程的微結構理論。
生物學、醫學、腦科學專家試圖通過神經網路的研究推動腦科學向定量、精確和理論化體系發展,同時也寄希望於臨床醫學的新突破;信息處理和計算機科學家研究這一問題的目的在於尋求新的途徑以解決不能解決或解決起來有極大困難的大量問題,構造更加逼近人腦功能的新一代計算機。