讀書期間對于深度學(xué)習(xí)也有涉及,不過只是皮毛,在這個數(shù)據(jù)和算法的時代,也需要更加貼近算法。于是從一名工程師角度出發(fā),希望通過幾篇文章,將深度學(xué)習(xí)基礎(chǔ)記錄下來,同時也是對于自己學(xué)習(xí)的總結(jié)和積累。
這是一張典型的人工神經(jīng)網(wǎng)絡(luò)的圖,圖中的節(jié)點稱為神經(jīng)元,圖共分為三層,第一層為輸入層,第二層為隱藏層,第三層為輸出層。輸入層接受外部世界的輸入,具像化為圖像的像素值,實體的特征值等,輸出層概率預(yù)測結(jié)果,具像化為該圖像是人像,該實體為潛在商家。
神經(jīng)元一個神經(jīng)元將多個輸入及其權(quán)值統(tǒng)一為下層節(jié)點的一個輸入。例如:
而神經(jīng)元一般都使用sigmoid函數(shù),至于為什么使用sigmoid函數(shù),也是個很有探討意義的問題,具體可以看這篇文章了解sigmoid的特性。
其中,w表示權(quán)重向量,x表示輸入向量,b為該節(jié)點的閾值。
那么下面問題就是如何選擇合適的權(quán)重和閾值,構(gòu)建出來合適的網(wǎng)絡(luò)。
構(gòu)建合適的網(wǎng)絡(luò)
網(wǎng)絡(luò)結(jié)構(gòu)往往決定了算法復(fù)雜度和模型可調(diào)度,輸出層主要由向量決定,輸出層主要由預(yù)測類型決定,主要問題就在中間層數(shù)和節(jié)點數(shù)的選擇上,節(jié)點數(shù)和層數(shù)越多意味著模型可調(diào)節(jié)性越強,預(yù)測結(jié)果的粒度越細,但同時也意味著計算復(fù)雜度越高。經(jīng)驗中間層一般選1-2層,節(jié)點數(shù)作為可調(diào)參數(shù)。
選擇合適權(quán)重和閾值
首先,定義損失函數(shù),損失函數(shù)的意義在于對于訓(xùn)練集評價預(yù)測結(jié)果和真實結(jié)果之間的差異
該損失函數(shù)其實是預(yù)測結(jié)果與真實結(jié)果之間的方差
我們希望通過調(diào)整權(quán)重w和閾值b的值來使預(yù)測結(jié)果和真實結(jié)果之間的差更小。相當(dāng)于在一個解空間中尋找最優(yōu)解。解法有很多,如梯度下降法,擬牛頓法等。
梯度下降法
通過上述公式可以看出,對于損失函數(shù)的變化可以描述為損失在每個維度v上的變化值之和,用向量表示為
為了是損失更小而不是更大,損失的變化應(yīng)該小于0,于是取
則,損失的下降可以表示為反向傳播
反向傳播其實是對于當(dāng)一次預(yù)測結(jié)束后,評估每個參數(shù)對于預(yù)測結(jié)果誤差的貢獻,并對其進行調(diào)整,調(diào)整方法可以通過損失函數(shù)對于權(quán)值的求導(dǎo)得到:
通過多次迭代,獲得損失函數(shù)的極小值。步長決定了函數(shù)的收斂速度。
小結(jié)下:
人工神經(jīng)網(wǎng)絡(luò)就好像一個在陌生的城市迷路的孩子,每走一步都對該步進行評估,計算其到達目的地的可能性,并逐漸走到目的地。人工神經(jīng)網(wǎng)絡(luò)比較重要的有三部分:
1. 結(jié)構(gòu):層級網(wǎng)絡(luò)
2. 求解方法:梯度下降
3. 求解思想:反向傳播
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4764瀏覽量
100542 -
ANN
+關(guān)注
關(guān)注
0文章
21瀏覽量
9185
發(fā)布評論請先 登錄
相關(guān)推薦
評論