神经网络(NN)网络构建及模型算法介绍
概述
神經網絡最主要的作用是作為提取特征的工具,最終的分類并不是作為主要核心。
人工神經網絡也稱為多層感知機,相當于將輸入數據通過前面多個全連接層網絡將原輸入特征進行了一個非線性變換,將變換后的特征拿到最后一層的分類器去分類。
神經網絡是由多個神經元組成的拓撲結構,由多個層排列組成,每一層又堆疊了多個神經元。通常包括輸入層,N個隱藏層,和輸出層組成。
輸出層:分類任務中如果是二分類任務輸出層只需要1個神經元,如果是K個分類問題,輸出層要有K個神經元。對輸出層的每個神經元代入分類函數就可以得到每個分類的概率大小,取最大概率的作為分類結果。對于多分類問題的分類器模型常采用Softmax回歸模型,即多分類問題的Logistic回歸模型。
輸入層:以一個128x128像素的圖像為例,人工神經網絡只能處理一維的數據。所以要把圖像按順序展開為一維的像素數據。即(1,16384)1行和16384列的數據也是16384個特征。輸入層的每個神經元僅接收一個輸入特征,因此輸入層的神經元個數和圖像的特征數也即像素個數一樣有16384個。那么每個神經元的1個輸入需要求1個權重w,每個神經元要求一個參數b,因此輸入層的待求參數就有16384x2 =32768。
隱藏層:中間的每層隱藏層可以根據需求設置多個神經元。其中每個神經元都要輸入和前一層神經元的個數個輸入特征。輸入層比較特殊一個神經元只對應一個輸入X,中間隱藏層每個神經元對應輸入前一層所有神經元的個數個x。假如該隱藏層有328個神經元組成。連接的前一層是輸入層有128x128=16384個神經元。那么每個神經元都對應16384個輸入x,因此一個神經元的待求參數量為16384個w和1個b,那么該層所有的待求參數量為:(16384+1)x328=5,374,280?個待求參數。可見人工神經網絡的參數量非常多,難以計算而且很容易過擬合。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1、前饋神經網絡具有很強的擬合能力,常見的連續非線性函數都可以用前饋 神經網絡來近似.
2、根據通用近似定理,神經網絡在某種程度上可以作為一個“萬能”函數來使 用,可以用來進行復雜的特征轉換,或逼近一個復雜的條件分布
3、一般是通過經驗風險最小化和正則化來 進行參數學習.因為神經網絡的強大能力,所以容易在訓練集上過擬合.
4、神經網絡的優化問題是一個非凸優化問題,而且可能面臨梯度消失的問題。
單個神經元模型:?
神經網絡結構:?
?
主要內容
神經元的模型:
?在前饋神經網絡中,各神經元分別屬于不同的層.每一層的神經元可以接收 前一層神經元的信號,并產生信號輸出到下一層.第0層稱為輸入層,最后一層稱 為輸出層,其他中間層稱為隱藏層.整個網絡中無反饋,信號從輸入層向輸出層 單向傳播,可用一個有向無環圖表示.
前饋神經網絡結構
?
神經網絡的本質是可以對輸入特征進行任意復雜的非線性變換轉換為易分類特征
前饋神經網絡具有很強的擬合能力,常見的連續非線性函數都可以用前饋 神經網絡來近似.
根據通用近似定理,對于具有線性輸出層和至少一個使用“擠壓”性質的激 活函數的隱藏層組成的前饋神經網絡,只要其隱藏層神經元的數量足夠,它可 以以任意的精度來近似任何一個定義在實數空間 ?
通用近似定理只是說明了神經網絡的計算能力可以去近似一個給定的連續 函數,但并沒有給出如何找到這樣一個網絡,以及是否是最優的.此外,當應用到 機器學習時,真實的映射函數并不知道,一般是通過經驗風險最小化和正則化來 進行參數學習.因為神經網絡的強大能力,反而容易在訓練集上過擬合.
根據通用近似定理,神經網絡在某種程度上可以作為一個“萬能”函數來使 用,可以用來進行復雜的特征轉換,或逼近一個復雜的條件分布
在機器學習中,輸入樣本的特征對分類器的影響很大.以監督學習為例,好 的特征可以極大提高分類器的性能.因此,要取得好的分類效果,需要將樣本的 原始特征向量,這個過程叫作特征抽取.
多層前饋神經網絡可以看作一個非線性復合函數?,將輸入映射到輸出.因此,多層前饋神經網絡也可以看成是一種特 征轉換方法,其輸出
作為分類器的輸入進行分類.?
(1)網絡模型
?原輸入特征經過多層隱藏層網絡的非線性變換后? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在最后輸出層后面使用一個常用的傳統機器學習分類器進行分類
?
***以上內容講解了神經網絡的結構,以及模型公式原理,怎樣從輸入數據x構建模型到輸出y。? ? ? ? ? ?對應實戰課程中構建模型的第一步,及其原理的講解。
(2)構建損失函數,參數學習
完成了第一步,有了模型,下一步就是構建用于優化的損失函數,利用損失函數來優化出網絡中所有的待求參數w和b
常用的損失函數使用過的是交叉熵損失函數,求其最小化
?yt對應真實標簽,y_是模型預測的結果
(3)有了損失函數就可以根據實際的需要選擇合適的優化器迭代優化上面的損失函數
(4)在實戰應用中最后要構建模型評價指標如測試準確率,來監控模型訓練的狀態
優化過程采用反向傳播來逐步更新參數梯度值,實際應用中各平臺都支持自動梯度計算,這里暫不講解。
補充:
神經網絡的參數學習比線性模型要更加困難,
主要原因有兩點:1)非凸優 化問題和2)梯度消失問題.
神經網絡的優化問題是一個非凸優化問題
?
這樣,誤差經 過每一層傳遞都會不斷衰減.當網絡層數很深時,梯度就會不停衰減,甚至消 失,使得整個網絡很難訓練.這就是所謂的梯度消失問題(Vanishing Gradient Problem),也稱為梯度彌散問題.
由于 Sigmoid 型函數的飽和性,飽和區的導數更是接近于 0
在深度神經網絡中,減輕梯度消失問題的方法有很多種.一種簡單有效的方 式是使用導數比較大的激活函數,比如ReLU等.
總結
以上是生活随笔為你收集整理的神经网络(NN)网络构建及模型算法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享1个模拟各种复杂的滑动或手势操作的方
- 下一篇: 【飞鱼科技】2022届春季校园招聘火热进