BP神經(jīng)網(wǎng)絡(luò)算法的深度解析和工程實例搭建

首先聲明牙捉,這篇文章不是神經(jīng)網(wǎng)絡(luò)的掃盲文竹揍,如果只想知道神經(jīng)網(wǎng)絡(luò)的概念那筆者還是推薦找一些深入淺出的文章來看。但是如果需要自己實際搭建和使用一個神經(jīng)網(wǎng)絡(luò)邪铲,同時具備一定的數(shù)學(xué)功底的話芬位,那這篇文章就是為了深入的剖析神經(jīng)網(wǎng)絡(luò)算法的工作過程和模型而寫的。這里筆者把整個神經(jīng)網(wǎng)絡(luò)的工作過程由特殊情況推廣到一般情況霜浴,讓讀者了解整個神經(jīng)網(wǎng)絡(luò)的工作過程晶衷,并且給出實際搭建一個神經(jīng)網(wǎng)絡(luò)的方法。希望有意愿了解的讀者能夠拿起筆跟著文章一起把公式寫一遍阴孟。

神經(jīng)網(wǎng)絡(luò)必備的基礎(chǔ)的數(shù)學(xué)知識:

梯度:
相較于單變量的函數(shù)晌纫,梯度和導(dǎo)數(shù)的含義是一樣的,但是對于一個多變量的向量來說永丝,其梯度的含義就是在某點處變化最快的向量場锹漱,例如對于一個三元函數(shù)t=f(x,y,z)來說,其在空間某點的梯度就是:

梯度

鏈?zhǔn)椒▌t:
鏈?zhǔn)椒▌t常用于復(fù)合函數(shù)求導(dǎo)問題


鏈?zhǔn)椒▌t

神經(jīng)網(wǎng)絡(luò)算法:

神經(jīng)網(wǎng)路算法靈感來源于生物細(xì)胞中的神經(jīng)元結(jié)構(gòu)慕嚷,神經(jīng)元具有樹狀突觸用來和其他神經(jīng)元進(jìn)行交流哥牍,在數(shù)學(xué)上突觸就可以視為信號的來源和對象毕泌。不同神經(jīng)元之間的樹狀突觸大小可能不同,不同大小的突觸對于信號的響應(yīng)程度也不同嗅辣,在數(shù)學(xué)上對于信號的響應(yīng)程度就可以用權(quán)值來表示撼泛。對于相互交流頻繁的神經(jīng)元其之間的突觸連接更加緊密,對應(yīng)的也就是其信號的權(quán)值較高澡谭。神經(jīng)元對得到的信號進(jìn)行總結(jié)愿题,在數(shù)學(xué)上就是對所有輸入信號乘以各自的權(quán)值后求和。神經(jīng)元在對總結(jié)好信號進(jìn)行處理蛙奖,判斷是否需要輸出生物電信號潘酗,在數(shù)學(xué)上就是將求和的信號作為代入到某個函數(shù)中,得到函數(shù)結(jié)果雁仲,根據(jù)結(jié)果決定輸出值仔夺。一個神經(jīng)元可以有多個輸出對象,但是只有一個輸出結(jié)果攒砖,也就是相同的輸出結(jié)果可以輸出給多個輸出對象缸兔。

image

如圖所示歸納出一個神經(jīng)元的數(shù)學(xué)模型,一個神經(jīng)元有多個輸入x1祭衩、x2......xn灶体,每個輸入對應(yīng)了各自的權(quán)值k1、k2......kn掐暮,則其輸入的加權(quán)和為

s_i=x_1*k_1+x_2*k_2+......x_n*k_n

假設(shè)其輸入的偏置為b,則實際的加權(quán)和為

s_i=x_1*k_1+x_2*k_2+......x_n*k_n+b

現(xiàn)在政钟,輸入變量的表達(dá)式得到了路克,那輸入和輸出的關(guān)系,即函數(shù)f()怎么得到呢养交?一般來說精算,考慮到輸出的結(jié)果在0到1的范圍內(nèi),而輸入的結(jié)果的取值范圍則為實數(shù)域碎连,因此需要一個函數(shù)其定義域為實數(shù)域灰羽,值域為0到1,常見的函數(shù)有階躍函數(shù)鱼辙、sigmoid函數(shù)等廉嚼,將s_i帶入函數(shù)中,得到的結(jié)果就是神經(jīng)元的輸出h倒戏。這里輸出的值只有一個怠噪,但是輸出的對象可以有多個。

在了解單個神經(jīng)元的數(shù)學(xué)模型后杜跷,將多個神經(jīng)元組合起來形成網(wǎng)絡(luò)傍念,就是神經(jīng)網(wǎng)絡(luò)矫夷。神經(jīng)網(wǎng)絡(luò)的組成主要有三部分。對于沒有其他神經(jīng)元的輸入憋槐,只有輸出的神經(jīng)元双藕,往往在第一層作為感受器而存在,這一層叫做輸入層阳仔。對于沒有其他神經(jīng)元的輸出忧陪,只有別的神經(jīng)元對其輸入的神經(jīng)元往往在最后一層作為執(zhí)行器而存在,這一層叫做輸出層驳概。而中間既有神經(jīng)元的輸入又有神經(jīng)元的輸出的均為隱層赤嚼。一般來說輸入層和輸出層只有一個,但是隱層可以有多個顺又。

image

為了方便數(shù)學(xué)模型的表示更卒,我們對于各層之間的變量進(jìn)行一個命名。對于某一層的某一個神經(jīng)元稚照,與之相關(guān)的參數(shù)有:來自上一層的輸入和權(quán)值和對下一層的輸出和權(quán)值蹂空,以及其輸入的加權(quán)和,還有該神經(jīng)元的處理函數(shù)果录。

神經(jīng)元命名規(guī)則

如圖所示上枕,對于第M層的第j個神經(jīng)元,其輸入的加權(quán)和為s_j^M弱恒,表示第M層的第j個神經(jīng)元的加權(quán)和s辨萍;其輸出為x_j^M,表示第M層的第j個神經(jīng)元的輸出x返弹;而第L層的第i個神經(jīng)元和第M層的第j個神經(jīng)元之間的權(quán)值為k_{i-j}^M锈玉;而第M層的處理函數(shù)可以寫為f_M()。由此一個神經(jīng)元有關(guān)的變量就全部都能表示了义起。

根據(jù)上面所講述的神經(jīng)元的知識拉背,可以得到,對于第M層的第j個神經(jīng)元默终,有以下關(guān)系方程

1.來自上一層的輸入乘以對應(yīng)的權(quán)值得到該神經(jīng)元的加權(quán)和
s_j^M = x_1^L * k_{1-j}^L +...... x_i^L * k_{i-j}^L +...... x_l^L * k_{l-j}^L
用累加來表示椅棺,可以寫成
s_j^M = \sum_{i=1}^l (x_i^L * k_{i-j}^L )

2.對加權(quán)和進(jìn)行函數(shù)處理得到該神經(jīng)元的輸出
x_j^M=f_M(s_j^M)

由此可以類推出任意層的任意一個神經(jīng)元的關(guān)系方程。

在信號的正向傳遞中齐蔽,所有的信號經(jīng)過一個個的神經(jīng)元两疚,在上述關(guān)系方程的計算下層層累積最終對輸出造成影響。

這里肴熏,對于神經(jīng)網(wǎng)絡(luò)來說鬼雀,在一次神經(jīng)網(wǎng)絡(luò)計算過程中,其各個神經(jīng)元之間的權(quán)值的變化將會導(dǎo)致輸出的變化蛙吏,為了得到一個較為理想的輸出源哩,就要改變其各個神經(jīng)元之間的權(quán)值鞋吉,從而最終得到一個合適的輸出,使得該輸出和理想輸出的差值最小励烦。這就變成了一個數(shù)學(xué)上求最值的問題谓着,最值的對象是偏差值,也就是求偏差值最小值坛掠。其自變量就是神經(jīng)網(wǎng)絡(luò)中的各個神經(jīng)元之間的權(quán)值赊锚。對于這種多變量的函數(shù),求最值的問題就關(guān)系到了文章開頭所說的梯度屉栓。也就是求出在當(dāng)前權(quán)值組合下偏差對于各權(quán)值的梯度舷蒲,然后按照與梯度相反的方向,稍微修改權(quán)值友多,牲平;然后再計算該權(quán)值下的梯度,然后按照與梯度相反的方向修改權(quán)值域滥,重復(fù)上述步驟一直到輸出偏差到達(dá)最小值纵柿。這就是為什么神經(jīng)網(wǎng)絡(luò)算法又是一種學(xué)習(xí)算法的原因递递,因為它會自己不斷的趨向最優(yōu)的結(jié)果囚巴。

但是這里存在一個問題颓芭,就是有可能最終得到的結(jié)果只是一個局部最優(yōu)解略水,而不是全局最優(yōu)解。對于這種情況可以通過設(shè)定初始權(quán)值源织,慣性等來避免挤聘,這里先不進(jìn)行闡述舷手。

現(xiàn)在對上述求梯度這一過程給出數(shù)學(xué)上的表達(dá)着倾。這里也是神經(jīng)網(wǎng)絡(luò)算法反向傳遞的精髓所在刹枉。

首先以一個3-4-2的神經(jīng)網(wǎng)絡(luò)為例,然后類比成a-b-c的神經(jīng)網(wǎng)絡(luò)屈呕,然后再類比成更多層的神經(jīng)網(wǎng)絡(luò)。

3-4-2神經(jīng)網(wǎng)絡(luò)正向傳遞

首先輸入通過正向傳遞到達(dá)輸出棺亭,這里我們先一第二層的第一個和第三層的第一個為例:

第2層第1個神經(jīng)元:

s_1^2 = x_1^1 * k_{1-1}^1 + x_2^1 * k_{2-1}^1 + x_3^1 * k_{3-1}^1

x_1^2=f(s_1^2 )

類比出第2層第j個神經(jīng)元:

s_j^2 = x_1^1 * k_{1-j}^1 + ...... x_i^1 * k_{i-j}^1 + ...... x_a^1 * k_{a-j}^1 =\sum_{i=1}^a x_i^1 * k_{i-j}^1

x_j^2=f(s_j^2 )

第3層第1個神經(jīng)元:

s_1^3 = x_1^2 * k_{1-1}^2 + x_2^2 * k_{2-1}^2 + x_3^2 * k_{3-1}^2 + x_4^2 * k_{4-1}^2

x_1^3=f(s_1^3 )

類比出第3層第k個神經(jīng)元:

s_k^3 = \sum_{j=1}^b x_j^2 * k_{j-k}^2

x_k^3=f(s_k^3 )

對于輸出虎眨,這里的神經(jīng)網(wǎng)絡(luò)計算得到的輸出是x_1^3x_2^3,當(dāng)理想的輸出已知镶摘,且為y1和y2時嗽桩,我們能計算得到輸出的偏差(這里的系數(shù)1/2是為了后續(xù)求導(dǎo)的時候抵消因求平方的導(dǎo)數(shù)帶來的系數(shù)2)

E= \frac{1}{2} (x_1^3-y_1)^2 + \frac{1}{2} (x_2^3-y_2)^2

對于a-b-c的神經(jīng)網(wǎng)絡(luò),類比上式可以得到:

E= \frac{1}{2} \sum_{i=1}^c (x_k^3-y_k)^2

到此凄敢,一個神經(jīng)網(wǎng)絡(luò)的正向傳遞已經(jīng)結(jié)束碌冶,得到了神經(jīng)網(wǎng)絡(luò)的輸出和偏差,下面就是反向調(diào)節(jié)涝缝,使得系統(tǒng)偏差最小扑庞。在簡單的函數(shù)問題中譬重,求一個函數(shù)最小值的方法通常是通過求導(dǎo),得到函數(shù)的極值點并判斷罐氨。對于多變量的函數(shù)臀规,其最小值的方法不能簡單的通過求導(dǎo)數(shù)得到,但是可以通過求梯度栅隐,并沿著梯度變化趨勢的反方向修改當(dāng)前值塔嬉,然后再次計算,直到到達(dá)最小值租悄。

求梯度通俗來說谨究,就是對各個變量求偏導(dǎo)數(shù)得到的向量。對于誤差E來說泣棋,其自變量是神經(jīng)網(wǎng)絡(luò)中的所有神經(jīng)元之間的權(quán)值k胶哲,所以下面我們以3-4-2的神經(jīng)網(wǎng)絡(luò)中的k_{1-1}^1k_{1-1}^2 為例,求其梯度外傅,同時類比推導(dǎo)出對于一個a-b-c的神經(jīng)網(wǎng)絡(luò)纪吮,其第一層i神經(jīng)元到第二層j神經(jīng)元,以及第二層j神經(jīng)元到第三層k神經(jīng)元的權(quán)值的梯度萎胰。

首先是k_{1-1}^2碾盟,對其進(jìn)行偏導(dǎo),可以得到\frac{\partial E}{\partial k_{1-1}^2}技竟,根據(jù)鏈?zhǔn)椒▌t冰肴,我們先分析一下各函數(shù)的復(fù)合函數(shù)。

首先:

E= \frac{1}{2} (x_1^3-y_1)^2 + \frac{1}{2} (x_2^3-y_2)^2 =g_1(x_1^3,x_2^3)

可以看出E是關(guān)于x_1^3榔组,x_2^3的函數(shù)熙尉,其中x_1^3=f(s_1^3)x_2^3=f(s_2^3)搓扯,又有:

s_1^3 = x_1^2 * k_{1-1}^2 + x_2^2 * k_{2-1}^2 + x_3^2 * k_{3-1}^2 + x_4^2 * k_{4-1}^2=g_2(x_1^2, x_2^2, x_3^2, x_4^2, k_{1-1}^2, k_{2-1}^2, k_{3-1}^2, k_{4-1}^2)

s_2^3 = x_1^2 * k_{1-2}^2 + x_2^2 * k_{2-2}^2 + x_3^2 * k_{3-2}^2 + x_4^2 * k_{4-2}^2=g_2(x_1^2, x_2^2, x_3^2, x_4^2, k_{1-2}^2, k_{2-2}^2, k_{3-2}^2, k_{4-2}^2)

可以看出s_1^3是關(guān)于x_1^2, x_2^2, x_3^2, x_4^2, k_{1-1}^2, k_{2-1}^2, k_{3-1}^2, k_{4-1}^2的函數(shù)检痰,s_2^3是關(guān)于x_1^2, x_2^2, x_3^2, x_4^2, k_{1-2}^2, k_{2-2}^2, k_{3-2}^2, k_{4-2}^2的函數(shù)。其中x_1^2=f(s_1^2)锨推,x_2^2=f(s_2^2)铅歼,x_3^2=f(s_3^2)x_4^2=f(s_4^2)换可,又有:

s_1^2 = x_1^1 * k_{1-1}^1 + x_2^1 * k_{2-1}^1 + x_3^1 * k_{3-1}^1=g_3(k_{1-1}^1,k_{2-1}^1,k_{3-1}^1)

其中x_1^1, x_2^1,x_3^1是系統(tǒng)給定的輸入椎椰,因此在進(jìn)行偏差計算時不認(rèn)為是一個變量,這里注意一下沾鳄。同理可以得到s_2^2,s_3^2,s_4^2的函數(shù)關(guān)系式:

s_2^2=g_3(k_{1-2}^1,k_{2-2}^1,k_{3-2}^1)

s_3^2=g_3(k_{1-3}^1,k_{2-3}^1,k_{3-3}^1)

s_4^2=g_3(k_{1-4}^1,k_{2-4}^1,k_{3-4}^1)

又上述函數(shù)關(guān)系式可以得到各變量之間的求導(dǎo)關(guān)系慨飘,并利用開始提到的鏈?zhǔn)椒▌t就能求出對任意一個變量的偏導(dǎo)數(shù):

鏈?zhǔn)椒▌t 變量傳遞圖

如圖所示得到了一個鏈?zhǔn)椒▌t的變量的傳遞圖,根據(jù)這個圖可以求出偏差E對于任意權(quán)值k的偏導(dǎo)數(shù)译荞,例如當(dāng)需要求出\frac{\partial E}{\partial k_{1-1}^2}時瓤的,根據(jù)上圖可以得到:

\frac{\partial E}{\partial k_{1-1}^2} = \frac{\partial E}{\partial x_1^3} \frac{\partial x_1^3}{\partial s_1^3} \frac{\partial s_1^3}{\partial k_{1-1}^2}

同理休弃,當(dāng)需要求出\frac{\partial E}{\partial k_{1-1}^1}時,根據(jù)上圖可以得到:

\frac{\partial E}{\partial k_{1-1}^1} = \frac{\partial E}{\partial x_1^3} \frac{\partial x_1^3}{\partial s_1^3} \frac{\partial s_1^3}{\partial x_1^2} \frac{\partial x_1^2}{\partial s_1^2} \frac{\partial s_1^2}{\partial k_{1-1}^1} + \frac{\partial E}{\partial x_2^3} \frac{\partial x_2^3}{\partial s_2^3} \frac{\partial s_2^3}{\partial x_1^2} \frac{\partial x_1^2}{\partial s_1^2} \frac{\partial s_1^2}{\partial k_{1-1}^1}

其他的權(quán)重的偏導(dǎo)數(shù)可以類比上述兩個式子得到堤瘤,當(dāng)關(guān)于所有的權(quán)值的偏導(dǎo)數(shù)都得到后玫芦,組成的向量就是偏差在當(dāng)前位置處的梯度。根據(jù)梯度就能不斷靠近偏差的最小值點本辐,從而得到滿意的輸出桥帆。

這里仔細(xì)觀察上述的鏈?zhǔn)椒▌t的變量傳遞圖,可以發(fā)現(xiàn)一個有趣的事情慎皱,當(dāng)我們把如圖所示的部分視為一個新的神經(jīng)元的話老虫,整個鏈?zhǔn)椒▌t就像是把神經(jīng)網(wǎng)絡(luò)反向一樣,變成了一個2-4-(3)的神經(jīng)網(wǎng)絡(luò)茫多。

鏈?zhǔn)椒▌t 反向傳遞示意圖

實際上反向傳遞就是這么來的祈匙,神經(jīng)網(wǎng)絡(luò)通過對誤差的反向傳遞得到對于所有權(quán)值的偏導(dǎo),即當(dāng)前的梯度天揖,然后通過反向梯度的方法得到最優(yōu)解夺欲。

讀到這里應(yīng)該已經(jīng)對3-4-2的神經(jīng)網(wǎng)絡(luò)具體怎么工作有了一個概念,那么接下來要由特殊推至一般今膊,得到任意架構(gòu)的神經(jīng)網(wǎng)絡(luò)其梯度的算法些阅。首先是對于三層的a-b-c的神經(jīng)網(wǎng)絡(luò),上述過程的描述:

上面已經(jīng)推導(dǎo)出了正向傳遞時的a-b-c的神經(jīng)網(wǎng)絡(luò)的關(guān)系方程:

第2層第j個神經(jīng)元:

s_j^2 =\sum_{i=1}^a x_i^1 * k_{i-j}^1

x_j^2=f(s_j^2 )

第3層第k個神經(jīng)元:

s_k^3 = \sum_{j=1}^b x_j^2 * k_{j-k}^2

x_k^3=f(s_k^3 )

偏差:

E= \frac{1}{2} \sum_{k=1}^c (x_k^3-y_k)^2

對于任意的第二層第j個神經(jīng)元到第三層第k個神經(jīng)元的權(quán)值k_{j-k}^2的偏導(dǎo)數(shù)\frac{\partial E}{\partial k_{j-k}^2}斑唬,有:

\frac{\partial E}{\partial k_{j-k}^2} = \frac{\partial E}{\partial x_k^3} \frac{\partial x_k^3}{\partial s_k^3} \frac{\partial s_k^3}{\partial k_{j-k}^2}

這里已知:

\frac{\partial E}{\partial x_k^3} = x_k^3-y_k

\frac{\partial x_k^3}{\partial s_k^3}=f'(s_k^3 )

\frac{\partial s_k^3}{\partial k_{j-k}^2}= x_j^2

帶入到上式中可以得到:

\frac{\partial E}{\partial k_{j-k}^2} = ( x_k^3-y_k)*f'(s_k^3 )*x_j^2

同理對于第一層的第i個神經(jīng)元到第二層的第j個神經(jīng)元的權(quán)值k_{i-j}^1的偏導(dǎo)數(shù)市埋,有:

\frac{\partial E}{\partial k_{i-j}^1} = \sum_{k=1}^c ( \frac{\partial E}{\partial x_k^3} \frac{\partial x_k^3}{\partial s_k^3} \frac{\partial s_k^3}{\partial x_j^2} \frac{\partial x_j^2}{\partial s_j^2} \frac{\partial s_j^2}{\partial k_{i-j}^1})

這里已知:

\frac{\partial s_k^3}{\partial x_j^2}=k_{j-k}^2

\frac{\partial x_j^2}{\partial s_j^2}=f'(s_j^2 )

\frac{\partial s_j^2}{\partial k_{i-j}^1}=x_i^1

帶入上式可以得到:

\frac{\partial E}{\partial k_{i-j}^1} = \sum_{k=1}^c [ (x_k^3-y_k)*f'(s_k^3 )*k_{j-k}^2*f'(s_j^2 )*x_i^1]

到這里,仔細(xì)觀察上述得到的兩個一般情況下的權(quán)值的偏導(dǎo)數(shù)恕刘,可以看出來缤谎,假設(shè)將(x_k^3-y_k)看成輸入,將f'(s_k^3 )看成函數(shù)處理褐着,將k_{j-k}^2看成兩細(xì)胞之間的權(quán)值坷澡,那么整個方程就可以看做是:

上一層的某一個神經(jīng)元輸入是(x_k^3-y_k),經(jīng)過該神經(jīng)元f'(s_k^3 )的函數(shù)處理后含蓉,得到該神經(jīng)元的輸出洋访,輸出結(jié)果乘兩神經(jīng)元之間的權(quán)值k_{j-k}^2是加權(quán)后的輸出,所有加權(quán)后的輸出結(jié)果的和就是\sum_{k=1}^c [ (x_k^3-y_k)*f'(s_k^3 )*k_{j-k}^2]谴餐,也就是下一層的某個神經(jīng)元的輸入,再經(jīng)過該神經(jīng)元f'(s_j^2 )的處理得到\sum_{k=1}^c [ (x_k^3-y_k)*f'(s_k^3 )*k_{j-k}^2]*f'(s_j^2 )......這個過程和前面所提到的神經(jīng)網(wǎng)絡(luò)的正向傳遞的步驟很相似呆抑,所以可以想到通過什么方法將正向和反向兩個過程結(jié)合在一個神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)下岂嗓。

這里仔細(xì)觀察上一段話的描述,可以發(fā)現(xiàn)鹊碍,如果我在神經(jīng)元細(xì)胞中增加一個反向的通道厌殉,通道的輸入是誤差(對于輸出層的神經(jīng)元來說)或者上一層神經(jīng)元的輸出的加權(quán)和(對于隱層的神經(jīng)元來說)食绿,函數(shù)處理是該神經(jīng)元的f'( ),那么可以得到以下神經(jīng)元的模型:

神經(jīng)元模型

如圖所示公罕,虛線表示兩個神經(jīng)元之間的聯(lián)系程度器紧,即權(quán)值,s表示正向通道的加權(quán)和楼眷,即該神經(jīng)元正向通道的輸入铲汪,x表示正向通道的輸出;t表示反向通道的加權(quán)和罐柳,即該神經(jīng)元反向通道的輸入掌腰,y表示反向通道的輸出,則有一個神經(jīng)元細(xì)胞有如下關(guān)系式:

正向通道:

s_j^M=\sum_{i=1}^a x_i^L k_{i-j}^{L-M}

x_j^M=f( s_j^M )

反向通道:

t_j^M=\sum_{k=1}^c y_k^N k_{j-k}^{M-N}

y_j^M=f'( s_j^M )*t_j^M

該神經(jīng)元左邊任意一個權(quán)值的偏導(dǎo)數(shù)(因為反向傳遞時假如每一層都能得到該層左邊的權(quán)值的偏導(dǎo)數(shù)张吉,從輸出層一層一層依次計算齿梁,就能得到全部的權(quán)值的偏導(dǎo)數(shù)):

\frac{\partial E}{\partial k_{i-j}^{L-M}}=y_j^M * x_i^L

到這里,一個神經(jīng)元已經(jīng)可以搭建了肮蛹,只要每個神經(jīng)元都能實現(xiàn)上述正向通道勺择、反向通道、權(quán)值偏導(dǎo)數(shù)計算即是一個合格的神經(jīng)元伦忠,再將多個神經(jīng)元組合成一層層的神經(jīng)元層省核,再將各層之間進(jìn)行連接,就得到了一個神經(jīng)網(wǎng)絡(luò)缓苛。這就是一個神經(jīng)網(wǎng)絡(luò)搭建的過程芳撒。那下面將通過代碼實例來給出一個神經(jīng)網(wǎng)絡(luò)的搭建過程。

(后面筆者還在更新......)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末未桥,一起剝皮案震驚了整個濱河市笔刹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冬耿,老刑警劉巖舌菜,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亦镶,居然都是意外死亡日月,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門缤骨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爱咬,“玉大人,你說我怎么就攤上這事绊起【猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蜂绎。 經(jīng)常有香客問我栅表,道長,這世上最難降的妖魔是什么师枣? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任怪瓶,我火速辦了婚禮,結(jié)果婚禮上践美,老公的妹妹穿的比我還像新娘洗贰。我一直安慰自己,他們只是感情好拨脉,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布哆姻。 她就那樣靜靜地躺著,像睡著了一般玫膀。 火紅的嫁衣襯著肌膚如雪矛缨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天帖旨,我揣著相機與錄音箕昭,去河邊找鬼。 笑死解阅,一個胖子當(dāng)著我的面吹牛落竹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播货抄,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼述召,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蟹地?” 一聲冷哼從身側(cè)響起积暖,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怪与,沒想到半個月后夺刑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡分别,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年遍愿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耘斩。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡沼填,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出括授,到底是詐尸還是另有隱情倾哺,我是刑警寧澤轧邪,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站羞海,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏曲管。R本人自食惡果不足惜却邓,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望院水。 院中可真熱鬧腊徙,春花似錦、人聲如沸檬某。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恢恼。三九已至民傻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間场斑,已是汗流浹背漓踢。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留漏隐,地道東北人喧半。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像青责,于是被迫代替她去往敵國和親挺据。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355