日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

神经网络:全连接神经网络

發布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 神经网络:全连接神经网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

      • 1 簡介
        • 1.1 神經元
        • 1.2 網絡結構
        • 1.3 正向傳播
        • 1.4 反向傳播

1 簡介

全連接神經網絡 也稱作多層感知機(MLP)

1.1 神經元

神經元接收輸入向量xxx
神經元節點有權重向量w和偏置項b 輸出值為f(wTx+b)f(w^Tx+b)f(wTx+b)
在經過類似線性回歸之后 使用激活函數對得到值進行操作

1.2 網絡結構

  • 輸入層:[特征維度,n]
  • 隱含層:權重矩陣 [輸出維度,輸入維度] 或者說[這層維度,上層維度]
  • 輸出層:[類別數,n]

個人對于每一層的理解就是 使用[這層維度,上層維度]的權重矩陣
將輸入轉化為其他維度 并且使用非線性的激活函數 得到輸出

1.3 正向傳播

確定網絡結構之后
假設有m層網絡 第 lll 層的權重矩陣 WlW^lWl 偏置為 blb^lbl
整個網絡從輸入到輸出的流程為

  • x1=xx^1=xx1=x
  • 對于l=2,3,...ml=2,3,...ml=2,3,...m每一層
    ul=Wlxl?1+blu^l=W^lx^{l-1}+b^lul=Wlxl?1+bl(線性回歸)
    xl=f(ul)x^l=f(u^l)xl=f(ul)(非線性激活函數)
  • 得到xmx^mxm 即為輸出 可能是每個類別的概率組成的向量 也可能是回歸值

1.4 反向傳播

如何訓練每一層的W和b 就需要反向傳播算法
假設單個樣本的損失函數是:
L=12(h(x)?y)2L=\cfrac12(h(x)-y)^2L=21?(h(x)?y)2
目標優化函數:
L=12m∑i=1m(h(xi)?yi)2L=\cfrac1{2m}\sum_{i=1}^m(h(x_i)-y_i)^2L=2m1?i=1m?(h(xi?)?yi?)2
反向傳播算法的流程是:

  • ①正向傳播 計算每一層的輸出值
  • ②反向傳播:對輸出層計算 損失函數對uuu的梯度 ▽ulL=(xl?y)?f′(ul)\bigtriangledown _{u^l}L=(x^l-y) \bigodot f^{\prime}(u^l)ul?L=(xl?y)?f(ul)(因為損失函數用的歐式距離 所以是xl?yx^l-yxl?y)
  • ③對于l=nl?1,nl?2....2l=n_l-1,n_l-2....2l=nl??1,nl??2....2的各層 計算每層 損失函數對uuu的梯度
    ▽ulL=(Wl+1)T[▽ul+1L]?f′(ul)\bigtriangledown _{u^l}L=(W^{l+1})^T[\bigtriangledown _{u^{l+1}}L]\bigodot f^{\prime}(u^l)ul?L=(Wl+1)T[ul+1?L]?f(ul)
  • ④計算損失函數對WWWbbb的梯度
    ▽WlL=[▽ulL](xl?1)T\bigtriangledown _{W^l}L=[\bigtriangledown _{u^l}L] (x^{l-1})^TWl?L=[ul?L](xl?1)T
    ▽blL=▽ulL\bigtriangledown _{b^l}L=\bigtriangledown _{u^l}Lbl?L=ul?L
  • ⑤梯度下降更新WWWbbb
    Wl=Wl?η[▽WlL]W^l=W^l-\eta [\bigtriangledown _{W^l}L]Wl=Wl?η[Wl?L]
    bl=bl?η[▽blL]b^l=b^l-\eta [\bigtriangledown _{b^l}L]bl=bl?η[bl?L]

需要推導出每一層都適用的結論是
▽WlL=[▽ulL](xl?1)T\bigtriangledown _{W^l}L=[\bigtriangledown _{u^l}L] (x^{l-1})^TWl?L=[ul?L](xl?1)T
▽blL=▽ulL\bigtriangledown _{b^l}L=\bigtriangledown _{u^l}Lbl?L=ul?L
可見需要每一層 損失函數對u的梯度
然后只有輸出層的這個梯度是可以直接求出來的
隱藏層的這個梯度都依靠于下一層才能求出來
所以按順序計算nl,nl?1,nl?2,....,2n_l,n_l-1,n_l-2,....,2nl?,nl??1,nl??2,....,2層的梯度

如果訓練時使用多個樣本 對每個樣本求出梯度 求出梯度的均值 進行梯度下降即可
反向傳播算法的證明還需掌握 (復合函數求導)

總結

以上是生活随笔為你收集整理的神经网络:全连接神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。