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

人工神經(jīng)網(wǎng)絡基礎描述詳解

卷積神經(jīng)網(wǎng)絡CNN架構分析-LeNet

什么是模糊神經(jīng)網(wǎng)絡_模糊神經(jīng)網(wǎng)絡原理詳解

神經(jīng)網(wǎng)絡的復習資料免費下載
人工神經(jīng)網(wǎng)絡和bp神經(jīng)網(wǎng)絡的區(qū)別
ANN神經(jīng)網(wǎng)絡——器件建模

評論