神经网络的基本工作原理
神經(jīng)網(wǎng)絡(luò)的基本工作原理
一、總結(jié)
一句話總結(jié):先給一個初始值,然后依賴正確值(真實值)進行修復模型(訓練模型),直到模型和真實值的誤差可接受
初始值 真實值 修復模型
?
1、神經(jīng)網(wǎng)絡(luò)由基本的神經(jīng)元組成,那么神經(jīng)元的模型是怎樣的?
神經(jīng)網(wǎng)絡(luò)由基本的神經(jīng)元組成,下圖就是一個神經(jīng)元的數(shù)學/計算模型,便于我們用程序來實現(xiàn)。
輸入
(x1,x2,x3) 是外界輸入信號,一般是一個訓練數(shù)據(jù)樣本的多個屬性,比如,我們要識別手寫數(shù)字0~9,那么在手寫圖片樣本中,x1可能代表了筆畫是直的還是有彎曲,x2可能代表筆畫所占面積的寬度,x3可能代表筆畫上下兩部分的復雜度。
(W1,W2,W3) 是每個輸入信號的權(quán)重值,以上面的 (x1,x2,x3) 的例子來說,x1的權(quán)重可能是0.5,x2的權(quán)重可能是0.2,x3的權(quán)重可能是0.3。當然權(quán)重值相加之后可以不是1。
還有個b是干嗎的?一般的書或者博客上會告訴你那是因為\(y=wx+b\),b是偏移值,使得直線能夠沿Y軸上下移動。這是用結(jié)果來解釋原因,并非b存在的真實原因。從生物學上解釋,在腦神經(jīng)細胞中,一定是輸入信號的電平/電流大于某個臨界值時,神經(jīng)元細胞才會處于興奮狀態(tài),這個b實際就是那個臨界值。亦即當:
\[w1*x1 + w2*x2 + w3*x3 >= t\]
時,該神經(jīng)元細胞才會興奮。我們把t挪到等式左側(cè)來,變成\((-t)\),然后把它寫成b,變成了:
\[w1*x1 + w2*x2 + w3*x3 + b >= 0\]
于是b誕生了!
?
2、神經(jīng)元模型中的偏移b到底是什么?
偏移量 興奮 臨界值
一般的書或者博客上會告訴你那是因為\(y=wx+b\),b是偏移值,使得直線能夠沿Y軸上下移動。這是用結(jié)果來解釋原因,并非b存在的真實原因。從生物學上解釋,在腦神經(jīng)細胞中,一定是輸入信號的電平/電流大于某個臨界值時,神經(jīng)元細胞才會處于興奮狀態(tài),這個b實際就是那個臨界值。亦即當:
\[w1*x1 + w2*x2 + w3*x3 >= t\]
時,該神經(jīng)元細胞才會興奮。我們把t挪到等式左側(cè)來,變成\((-t)\),然后把它寫成b,變成了:
\[w1*x1 + w2*x2 + w3*x3 + b >= 0\]
于是b誕生了!
?
3、神經(jīng)元模型中的輸入代表什么意思?
問題 決定要素
具體要解決問題的決定要素
(x1,x2,x3) 是外界輸入信號,一般是一個訓練數(shù)據(jù)樣本的多個屬性,比如,我們要識別手寫數(shù)字0~9,那么在手寫圖片樣本中,x1可能代表了筆畫是直的還是有彎曲,x2可能代表筆畫所占面積的寬度,x3可能代表筆畫上下兩部分的復雜度。
(W1,W2,W3) 是每個輸入信號的權(quán)重值,以上面的 (x1,x2,x3) 的例子來說,x1的權(quán)重可能是0.5,x2的權(quán)重可能是0.2,x3的權(quán)重可能是0.3。當然權(quán)重值相加之后可以不是1。
?
4、為什么需要激活函數(shù),為什么神經(jīng)細胞需要處于激活狀態(tài)?
傳遞信號
求和之后,神經(jīng)細胞已經(jīng)處于興奮狀態(tài)了,已經(jīng)決定要向下一個神經(jīng)元傳遞信號了,但是要傳遞多強烈的信號,要由激活函數(shù)來確定:
\[A=\sigma{(Z)}\]
如果激活函數(shù)是一個階躍信號的話,那受不了啊,你會覺得腦子里總是一跳一跳的,像繼電器開合一樣咔咔亂響,所以一般激活函數(shù)都是有一個漸變的過程,也就是說是個曲線。
?
5、為什么激活函數(shù)是個曲線(漸變過程)?
漸變
如果激活函數(shù)是一個階躍信號的話,那受不了啊,你會覺得腦子里總是一跳一跳的,像繼電器開合一樣咔咔亂響,所以一般激活函數(shù)都是有一個漸變的過程,也就是說是個曲線。
?
6、神經(jīng)網(wǎng)絡(luò)訓練流程是怎樣的?
初始值 真實值 修復模型
先給一個初始值,然后依賴正確值進行修復模型(訓練模型),直到模型和真實值的誤差可接受
?
7、神經(jīng)網(wǎng)絡(luò)為什么能普遍適用?
單層 直線 兩層 任意函數(shù)
單層的神經(jīng)網(wǎng)絡(luò)能夠模擬一條二維平面上的直線,從而可以完成線性分割任務(wù)。而理論證明,兩層神經(jīng)網(wǎng)絡(luò)可以無限逼近任意連續(xù)函數(shù)。
比如下面這張圖,二維平面中有兩類點,紅色的和藍色的,用一條直線肯定不能把兩者分開了。
我們使用一個兩層的神經(jīng)網(wǎng)絡(luò)可以得到一個非常近似的結(jié)果,使得分類誤差在滿意的范圍之內(nèi)。而這個真實的連續(xù)函數(shù)的原型是:
\[y=0.4x^2 + 0.3xsin(15x) + 0.01cos(50x)-0.3\]
哦,my god(我靠)! 這么復雜的函數(shù),一個兩層的神經(jīng)網(wǎng)絡(luò)是如何做到的呢?其實從輸入層到隱藏層的矩陣計算,就是對輸入數(shù)據(jù)進行了空間變換,使其可以被線性可分,然后輸出層畫出了一個分界線。而訓練的過程,就是確定那個空間變換矩陣的過程。因此,多層神經(jīng)網(wǎng)絡(luò)的本質(zhì)就是對復雜函數(shù)的擬合。我們可以在后面的試驗中來學習如何擬合上述的復雜函數(shù)的。
?
8、為什么我們不能在沒有激活輸入信號的情況下完成神經(jīng)網(wǎng)絡(luò)的學習呢?
線性函數(shù) 線性回歸模型
復雜功能
如果我們不運用激活函數(shù)的話,則輸出信號將僅僅是一個簡單的線性函數(shù)。線性函數(shù)一個一級多項式。現(xiàn)如今,線性方程是很容易解決的,但是它們的復雜性有限,并且從數(shù)據(jù)中學習復雜函數(shù)映射的能力更小。一個沒有激活函數(shù)的神經(jīng)網(wǎng)絡(luò)將只不過是一個線性回歸模型(Linear regression Model)罷了,它功率有限,并且大多數(shù)情況下執(zhí)行得并不好。我們希望我們的神經(jīng)網(wǎng)絡(luò)不僅僅可以學習和計算線性函數(shù),而且還要比這復雜得多。同樣是因為沒有激活函數(shù),我們的神經(jīng)網(wǎng)絡(luò)將無法學習和模擬其他復雜類型的數(shù)據(jù),例如圖像、視頻、音頻、語音等。這就是為什么我們要使用人工神經(jīng)網(wǎng)絡(luò)技術(shù),諸如深度學習(Deep learning),來理解一些復雜的事情,一些相互之間具有很多隱藏層的非線性問題,而這也可以幫助我們了解復雜的數(shù)據(jù)。
?
9、神經(jīng)網(wǎng)絡(luò)中為什么我們需要非線性函數(shù)?
需求 任意
非線性函數(shù)是那些一級以上的函數(shù),而且當繪制非線性函數(shù)時它們具有曲率。現(xiàn)在我們需要一個可以學習和表示幾乎任何東西的神經(jīng)網(wǎng)絡(luò)模型,以及可以將輸入映射到輸出的任意復雜函數(shù)。神經(jīng)網(wǎng)絡(luò)被認為是通用函數(shù)近似器(Universal Function Approximators)。這意味著他們可以計算和學習任何函數(shù)。幾乎我們可以想到的任何過程都可以表示為神經(jīng)網(wǎng)絡(luò)中的函數(shù)計算。
而這一切都歸結(jié)于這一點,我們需要應用激活函數(shù)f(x),以便使網(wǎng)絡(luò)更加強大,增加它的能力,使它可以學習復雜的事物,復雜的表單數(shù)據(jù),以及表示輸入輸出之間非線性的復雜的任意函數(shù)映射。因此,使用非線性激活函數(shù),我們便能夠從輸入輸出之間生成非線性映射。
激活函數(shù)的另一個重要特征是:它應該是可以區(qū)分的。我們需要這樣做,以便在網(wǎng)絡(luò)中向后推進以計算相對于權(quán)重的誤差(丟失)梯度時執(zhí)行反向優(yōu)化策略,然后相應地使用梯度下降或任何其他優(yōu)化技術(shù)優(yōu)化權(quán)重以減少誤差。
?
10、深度神經(jīng)網(wǎng)絡(luò)與深度學習?
神經(jīng)元 數(shù)量
層 數(shù)量
兩層的神經(jīng)網(wǎng)絡(luò)雖然強大,但可能只能完成二維空間上的一些曲線擬合的事情。如果對于圖片、語音、文字序列這些復雜的事情,就需要更復雜的網(wǎng)絡(luò)來理解和處理。第一個方式是增加每一層中神經(jīng)元的數(shù)量,但這是線性的,不夠有效。另外一個方式是增加層的數(shù)量,每一層都處理不同的事情。
淺神經(jīng)網(wǎng)絡(luò)雖然具備了反向傳播機制,但是仍存在問題:
?
11、Deep Learning的訓練過程簡介?
自下上升 非監(jiān)督學習
自頂向下 監(jiān)督學習
使用自下上升非監(jiān)督學習(就是從底層開始,一層一層的往頂層訓練)
自頂向下的監(jiān)督學習(就是通過帶標簽的數(shù)據(jù)去訓練,誤差自頂向下傳輸,對網(wǎng)絡(luò)進行微調(diào))
?
?
?
?
二、神經(jīng)網(wǎng)絡(luò)的基本工作原理(轉(zhuǎn))
轉(zhuǎn)自:神經(jīng)網(wǎng)絡(luò)的基本工作原理 - UniversalAIPlatform - 博客園
https://www.cnblogs.com/ms-uap/p/9928254.html
看過很多博客、文章,東一榔頭西一棒子的,總覺得沒有一個系列的文章把問題從頭到尾說清楚,找東西很困難。有的博客、文章的質(zhì)量還不算很理想,似是而非,或者重點不明確,或者直接把別人的博客抄襲過來......種種不靠譜,讓小白們學習起來很困難,增加了學習曲線的陡峭程度。當然也有很多博主非常非常負責任,文章質(zhì)量很高,只是連續(xù)度不夠,正看得過癮的時候,沒有后續(xù)章節(jié)了。
從本文開始,我們試圖用一系列博客,講解現(xiàn)代神經(jīng)網(wǎng)絡(luò)的基本知識,使大家能夠從真正的“零”開始,對神經(jīng)網(wǎng)絡(luò)、深度學習有基本的了解,并能動手實踐。這是本系列的第一篇,我們先從神經(jīng)網(wǎng)絡(luò)的基本工作原理開始講解。
神經(jīng)元細胞的數(shù)學計算模型
神經(jīng)網(wǎng)絡(luò)由基本的神經(jīng)元組成,下圖就是一個神經(jīng)元的數(shù)學/計算模型,便于我們用程序來實現(xiàn)。
輸入
(x1,x2,x3) 是外界輸入信號,一般是一個訓練數(shù)據(jù)樣本的多個屬性,比如,我們要識別手寫數(shù)字0~9,那么在手寫圖片樣本中,x1可能代表了筆畫是直的還是有彎曲,x2可能代表筆畫所占面積的寬度,x3可能代表筆畫上下兩部分的復雜度。
(W1,W2,W3) 是每個輸入信號的權(quán)重值,以上面的 (x1,x2,x3) 的例子來說,x1的權(quán)重可能是0.5,x2的權(quán)重可能是0.2,x3的權(quán)重可能是0.3。當然權(quán)重值相加之后可以不是1。
還有個b是干嗎的?一般的書或者博客上會告訴你那是因為\(y=wx+b\),b是偏移值,使得直線能夠沿Y軸上下移動。這是用結(jié)果來解釋原因,并非b存在的真實原因。從生物學上解釋,在腦神經(jīng)細胞中,一定是輸入信號的電平/電流大于某個臨界值時,神經(jīng)元細胞才會處于興奮狀態(tài),這個b實際就是那個臨界值。亦即當:
\[w1*x1 + w2*x2 + w3*x3 >= t\]
時,該神經(jīng)元細胞才會興奮。我們把t挪到等式左側(cè)來,變成\((-t)\),然后把它寫成b,變成了:
\[w1*x1 + w2*x2 + w3*x3 + b >= 0\]
于是b誕生了!
求和計算
\[Z = w1*x1 + w2*x2 + w3*x3 + b = \sum_{i=1}^m(w_i*x_i) + b\]
在上面的例子中m=3。我們把\(w_i*x_i\)變成矩陣運算的話,就變成了:
\[Z = W*X + b\]
激活函數(shù)
求和之后,神經(jīng)細胞已經(jīng)處于興奮狀態(tài)了,已經(jīng)決定要向下一個神經(jīng)元傳遞信號了,但是要傳遞多強烈的信號,要由激活函數(shù)來確定:
\[A=\sigma{(Z)}\]
如果激活函數(shù)是一個階躍信號的話,那受不了啊,你會覺得腦子里總是一跳一跳的,像繼電器開合一樣咔咔亂響,所以一般激活函數(shù)都是有一個漸變的過程,也就是說是個曲線。
激活函數(shù)的更多描述在后續(xù)的博客中。
至此,一個神經(jīng)元的工作過程就在電光火石般的一瞬間結(jié)束了。
神經(jīng)網(wǎng)絡(luò)的基本訓練過程
單層神經(jīng)網(wǎng)絡(luò)模型
這是一個單層的神經(jīng)網(wǎng)絡(luò),有m個輸入 (這里m=3),有n個輸出 (這里n=2)。在單個神經(jīng)元里,b是個值。但是在神經(jīng)網(wǎng)絡(luò)中,我們把b的值永遠設(shè)置為1,而用b到每個神經(jīng)元的權(quán)值來表示實際的偏移值,亦即(b1,b2),這樣便于矩陣運算。也有些作者把b寫成x0,其實是同一個意思,只不過x0用于等于1。
- (x1,x2,x3)是一個樣本數(shù)據(jù)的三個特征值
- (w11,w12,w13)是(x1,x2,x3)到n1的權(quán)重
- (w21,w22,w23)是(x1,x2,x3)到n2的權(quán)重
- b1是n1的偏移
- b2是n2的偏移
從這里大家可以意識到,同一個特征x1,對于n1、n2來說,權(quán)重是不相同的,因為n1、n2是兩個神經(jīng)元,它們完成不同的任務(wù)(特征識別)。這就如同老師講同樣的課,不同的學生有不同的理解。
而對于n1來說,x1,x2,x3輸入的權(quán)重也是不相同的,因為它要對不同特征有選擇地接納。這就如同一個學生上三門課,但是側(cè)重點不同,第一門課花50%的精力,第二門課30%,第三門課20%。
訓練流程
從真正的“零”開始學習神經(jīng)網(wǎng)絡(luò)時,我沒有看到過一個流程圖來講述訓練過程,大神們寫書或者博客時都忽略了這一點,我在這里給大家畫一個簡單的流程圖:
損失函數(shù)和反向傳播的更多內(nèi)容在后續(xù)的博客中。
前提條件
步驟
假設(shè)我們有以下訓練數(shù)據(jù)樣本:
| 1 | 0.5 | 1.4 | 2.7 | 3 |
| 2 | 0.4 | 1.3 | 2.5 | 5 |
| 3 | 0.1 | 1.5 | 2.3 | 9 |
| 4 | 0.5 | 1.7 | 2.9 | 1 |
其中,x1,x2,x3是每一個樣本數(shù)據(jù)的三個特征值,Y是樣本的真實結(jié)果值,
訓練完成后,我們會把這個神經(jīng)網(wǎng)絡(luò)中的結(jié)構(gòu)和權(quán)重矩陣的值導出來,形成一個計算圖(就是矩陣運算加上激活函數(shù))模型,然后嵌入到任何可以識別/調(diào)用這個模型的應用程序中,根據(jù)輸入的值進行運算,輸出預測值。
神經(jīng)網(wǎng)絡(luò)中的矩陣運算
下面這個圖就是一個兩層的神經(jīng)網(wǎng)絡(luò),包含隱藏層和輸出層:
其中,w1-m,n(應該寫作\(w^1_{1,1},w^1_{1,2},w^1_{1,3}\),上面的角標1表示第1層,但是visio里不支持這種格式)表示第一層神經(jīng)網(wǎng)絡(luò)的權(quán)重矩陣,w2-m,n(應該寫作\(w^2_{1,1},w^2_{1,2},w^2_{1,3}\))表示第二層神經(jīng)網(wǎng)絡(luò)的權(quán)重矩陣。
\[Z^1_1 = w^1_{1,1}x_1+w^1_{1,2}x_2+w^1_{1,784}x_{784}+b_1^1\\ ......\\ Z^1_{10} = w^1_{10,1}x_1+w^1_{10,2}x_2+w^1_{10,784}x_{784}+b_{10}^{1}\]
變成矩陣運算:
\[ Z_1^1=\begin{pmatrix}w^1_{1,1}&w^1_{1,2}&...&w^1_{1,784}\end{pmatrix} \begin{pmatrix}x_1\\x_2\\...\\x_{784}\end{pmatrix} +b^1_1\\ .....\\ Z_{10}^1= \begin{pmatrix}w^1_{10,1}&w^1_{10,2}&...&w^1_{10,784}\end{pmatrix} \begin{pmatrix}x_1\\x_2\\...\\x_{784}\end{pmatrix} +b^1_{10} \]
再變成大矩陣:
\[Z_1 = \begin{pmatrix} w^1_{1,1}&w^1_{1,2}&...&w^1_{1,784} \\ w^1_{2,1}&w^1_{2,2}&...&w^1_{2,784}\\ ......\\ w^1_{10,1}&w^1_{10,2}&...&w^1_{10,784} \end{pmatrix} \begin{pmatrix}x_1\\x_2\\...\\x_{784}\end{pmatrix} +\begin{pmatrix}b^1_1\\b^1_2\\...\\ b^1_{10} \end{pmatrix}\]
最后變成矩陣符號:
\[Z_1 = W_1X + B_1\]
然后是激活函數(shù)運算:
\[A_1=\sigma{(Z_1)}\]
同理可得:
\[Z_2 = W_2A_1 + B_2\]
\[A_2=\sigma{(Z_2)}\]
神經(jīng)網(wǎng)絡(luò)為什么能普遍適用
單層的神經(jīng)網(wǎng)絡(luò)能夠模擬一條二維平面上的直線,從而可以完成線性分割任務(wù)。而理論證明,兩層神經(jīng)網(wǎng)絡(luò)可以無限逼近任意連續(xù)函數(shù)。
比如下面這張圖,二維平面中有兩類點,紅色的和藍色的,用一條直線肯定不能把兩者分開了。
我們使用一個兩層的神經(jīng)網(wǎng)絡(luò)可以得到一個非常近似的結(jié)果,使得分類誤差在滿意的范圍之內(nèi)。而這個真實的連續(xù)函數(shù)的原型是:
\[y=0.4x^2 + 0.3xsin(15x) + 0.01cos(50x)-0.3\]
哦,my god(我靠)! 這么復雜的函數(shù),一個兩層的神經(jīng)網(wǎng)絡(luò)是如何做到的呢?其實從輸入層到隱藏層的矩陣計算,就是對輸入數(shù)據(jù)進行了空間變換,使其可以被線性可分,然后輸出層畫出了一個分界線。而訓練的過程,就是確定那個空間變換矩陣的過程。因此,多層神經(jīng)網(wǎng)絡(luò)的本質(zhì)就是對復雜函數(shù)的擬合。我們可以在后面的試驗中來學習如何擬合上述的復雜函數(shù)的。
為什么需要激活函數(shù)
為什么我們不能在沒有激活輸入信號的情況下完成神經(jīng)網(wǎng)絡(luò)的學習呢?
如果我們不運用激活函數(shù)的話,則輸出信號將僅僅是一個簡單的線性函數(shù)。線性函數(shù)一個一級多項式。現(xiàn)如今,線性方程是很容易解決的,但是它們的復雜性有限,并且從數(shù)據(jù)中學習復雜函數(shù)映射的能力更小。一個沒有激活函數(shù)的神經(jīng)網(wǎng)絡(luò)將只不過是一個線性回歸模型(Linear regression Model)罷了,它功率有限,并且大多數(shù)情況下執(zhí)行得并不好。我們希望我們的神經(jīng)網(wǎng)絡(luò)不僅僅可以學習和計算線性函數(shù),而且還要比這復雜得多。同樣是因為沒有激活函數(shù),我們的神經(jīng)網(wǎng)絡(luò)將無法學習和模擬其他復雜類型的數(shù)據(jù),例如圖像、視頻、音頻、語音等。這就是為什么我們要使用人工神經(jīng)網(wǎng)絡(luò)技術(shù),諸如深度學習(Deep learning),來理解一些復雜的事情,一些相互之間具有很多隱藏層的非線性問題,而這也可以幫助我們了解復雜的數(shù)據(jù)。
那么為什么我們需要非線性函數(shù)?
非線性函數(shù)是那些一級以上的函數(shù),而且當繪制非線性函數(shù)時它們具有曲率。現(xiàn)在我們需要一個可以學習和表示幾乎任何東西的神經(jīng)網(wǎng)絡(luò)模型,以及可以將輸入映射到輸出的任意復雜函數(shù)。神經(jīng)網(wǎng)絡(luò)被認為是通用函數(shù)近似器(Universal Function Approximators)。這意味著他們可以計算和學習任何函數(shù)。幾乎我們可以想到的任何過程都可以表示為神經(jīng)網(wǎng)絡(luò)中的函數(shù)計算。
而這一切都歸結(jié)于這一點,我們需要應用激活函數(shù)f(x),以便使網(wǎng)絡(luò)更加強大,增加它的能力,使它可以學習復雜的事物,復雜的表單數(shù)據(jù),以及表示輸入輸出之間非線性的復雜的任意函數(shù)映射。因此,使用非線性激活函數(shù),我們便能夠從輸入輸出之間生成非線性映射。
激活函數(shù)的另一個重要特征是:它應該是可以區(qū)分的。我們需要這樣做,以便在網(wǎng)絡(luò)中向后推進以計算相對于權(quán)重的誤差(丟失)梯度時執(zhí)行反向優(yōu)化策略,然后相應地使用梯度下降或任何其他優(yōu)化技術(shù)優(yōu)化權(quán)重以減少誤差。
深度神經(jīng)網(wǎng)絡(luò)與深度學習
兩層的神經(jīng)網(wǎng)絡(luò)雖然強大,但可能只能完成二維空間上的一些曲線擬合的事情。如果對于圖片、語音、文字序列這些復雜的事情,就需要更復雜的網(wǎng)絡(luò)來理解和處理。第一個方式是增加每一層中神經(jīng)元的數(shù)量,但這是線性的,不夠有效。另外一個方式是增加層的數(shù)量,每一層都處理不同的事情。
淺神經(jīng)網(wǎng)絡(luò)雖然具備了反向傳播機制,但是仍存在問題:
Deep Learning的訓練過程簡介
使用自下上升非監(jiān)督學習(就是從底層開始,一層一層的往頂層訓練):
采用無標簽數(shù)據(jù)(有標簽數(shù)據(jù)也可)分層訓練各層參數(shù),這一步可以看作是一個無監(jiān)督訓練過程,是和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)區(qū)別最大的部分(這個過程可以看作是feature learning過程)。
具體的,先用無標定數(shù)據(jù)訓練第一層,訓練時先學習第一層的參數(shù)(這一層可以看作是得到一個使得輸出和輸入差別最小的三層神經(jīng)網(wǎng)絡(luò)的隱層),由于模型capacity的限制以及稀疏性約束,使得得到的模型能夠?qū)W習到數(shù)據(jù)本身的結(jié)構(gòu),從而得到比輸入更具有表示能力的特征;在學習得到第n-1層后,將n-1層的輸出作為第n層的輸入,訓練第n層,由此分別得到各層的參數(shù);
自頂向下的監(jiān)督學習(就是通過帶標簽的數(shù)據(jù)去訓練,誤差自頂向下傳輸,對網(wǎng)絡(luò)進行微調(diào)):
基于第一步得到的各層參數(shù)進一步fine-tune整個多層模型的參數(shù),這一步是一個有監(jiān)督訓練過程;第一步類似神經(jīng)網(wǎng)絡(luò)的隨機初始化初值過程,由于DL的第一步不是隨機初始化,而是通過學習輸入數(shù)據(jù)的結(jié)構(gòu)得到的,因而這個初值更接近全局最優(yōu),從而能夠取得更好的效果;所以deep learning效果好很大程度上歸功于第一步的feature learning過程。
總結(jié)
以上是生活随笔為你收集整理的神经网络的基本工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PC,移动端H5实现实现小球加入购物车效
- 下一篇: 02-print的用法