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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

学习笔记9--深度前馈网络

發布時間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记9--深度前馈网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本系列博客包括6個專欄,分別為:《自動駕駛技術概覽》、《自動駕駛汽車平臺技術基礎》、《自動駕駛汽車定位技術》、《自動駕駛汽車環境感知》、《自動駕駛汽車決策與控制》、《自動駕駛系統設計及應用》,筆者不是自動駕駛領域的專家,只是一個在探索自動駕駛路上的小白,此系列叢書尚未閱讀完,也是邊閱讀邊總結邊思考,歡迎各位小伙伴,各位大牛們在評論區給出建議,幫筆者這個小白挑出錯誤,謝謝!
此專欄是關于《自動駕駛汽車環境感知》書籍的筆記



2.深度前饋網絡

2.1 神經元

  • 人工神經元(artificial neuron)簡稱神經元(neuron),是構成神經網絡的基本單元,主要是模擬生物神經元的結構和特性,接收一組輸入信號并產出輸出;

  • 神經元模型:

    f(∑iωixi+b)f(\sum_i\omega_ix_i+b)f(i?ωi?xi?+b)
    其中:fff為激活函數;為了增強網絡的表達能力及學習能力,一般使用連續非線性激活函數(activation function);

  • sigmoid激活函數
    sigmoid激活函數的兩種形式:logistic函數和tanh函數;
    logistic函數定義為:σ(x)\sigma(x)σ(x)
    σ(x)=11+e?x\sigma(x)=\frac{1}{1+e^{-x}}σ(x)=1+e?x1?

    logistic函數圖像如上,可以看成一個"擠壓"函數,把一個實數域的輸入"擠壓"到(0,1);當輸入值在0附近時,sigmoid函數近似線性函數;當輸入值靠近兩端時,對輸入進行抑制;輸入越小,其值越接近0;輸入越大,其值越接近1;
    tanh函數定義為tanh(x):
    tanh(x)=ex?e?xex+e?x=2σ(2x)?1tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}=2\sigma(2x)-1tanh(x)=ex+e?xex?e?x?=2σ(2x)?1
  • Hard-Logistic和Hard-tanh函數
    logistic函數的導數為:σ′(x)=σ(x)(1?σ(x))\sigma'(x)=\sigma(x)(1-\sigma(x))σ(x)=σ(x)(1?σ(x));logistic函數在0附近的一階泰勒展開式為:
    gl(x)≈σ(0)+x×σ′(0)=0.25x+0.5gl(x)≈\sigma(0)+x\times\sigma'(0)=0.25x+0.5gl(x)σ(0)+x×σ(0)=0.25x+0.5
    hard?logistic(x)={1gl(x)≥1gl(x)0<gl(x)<1=max?(min?(gl(x),1),0)0gl(x)≤0hard-logistic(x)= \left\{ \begin{array}{lr} 1& & gl(x) \ge 1\\ gl(x) && 0 < gl(x)<1=\max(\min(gl(x),1),0)\\ 0 & &gl(x)≤0 \end{array} \right. hard?logistic(x)=????1gl(x)0??gl(x)10<gl(x)<1=max(min(gl(x),1),0)gl(x)0?
    tanh函數在0附近的一階泰勒展開式為:
    gt(x)≈tanh?(0)+x×tanh?′(0)xgt(x)≈\tanh(0)+x\times\tanh'(0)xgt(x)tanh(0)+x×tanh(0)x

    hard?tanh(x)=max?(min?(gt(x),1),?1)=max?(min?(x,1),?1)hard-tanh(x)=\max(\min(gt(x),1),-1)=\max(\min(x,1),-1) hard?tanh(x)=max(min(gt(x),1),?1)=max(min(x,1),?1)
  • 3.修正線性單元
    修正線性單元(Rectified Linear Unit,ReLU),ReLU函數實際是一個斜坡函數,定義:
    rectifier(x)={xx≥00x<0=max?(0,x)rectifier(x)= \left\{ \begin{array}{lr} x& & x \ge 0\\ 0 && x<0 \end{array} \right.=\max(0,x) rectifier(x)={x0??x0x<0?=max(0,x)
    注:rectifier函數為左飽和函數,在x>0x>0x>0時導數為1,在x≤0x≤0x0時導數為0;在訓練時,學習率設置過大,在一次更新參數后,一個采用ReLU的神經元在所有的訓練數據上都不能被激活

  • 帶泄露的ReLU
    帶泄露的ReLU(Leaky ReLU)在輸入x<0x<0x<0時,保持一個很小的梯度;這樣當神經元非激活時也有一個非零的梯度可以更新參數,避免永遠不能被激活,定義:
    f(x)=max?(0,x)+γmin?(0,x)={xx≥0γxx<0;γ∈(0,1)是一個很小的常數,如0.01f(x)=\max(0,x)+\gamma\min(0,x)=\left\{ \begin{array}{lr} x& & x \ge 0\\ \gamma{x} && x<0 \end{array} \right.;\gamma\in(0,1)是一個很小的常數,如0.01 f(x)=max(0,x)+γmin(0,x)={xγx??x0x<0?γ(0,1)0.01
  • 帶參數的ReLU
    帶參數的ReLU(Parametric ReLU,PReLU)引入一個可學習的參數,不同神經元可以有不同的參數;對于第iii個神經元,ReLU定義:
    PReLUi(x)=max?(0,x)+γimin?(0,x)={xx>0γixx≤0;γi為x≤0時函數的斜率PReLU_i(x)=\max(0,x)+\gamma_i\min(0,x)=\left\{ \begin{array}{lr} x& & x > 0\\ \gamma_i{x} && x≤0 \end{array} \right.;\gamma_i為x≤0時函數的斜率 PReLUi?(x)=max(0,x)+γi?min(0,x)={xγi?x??x>0x0?γi?x0
  • softplus函數
    softplus函數定義:
    softplus(x)=log?(1+ex)softplus(x)=\log(1+e^x) softplus(x)=log(1+ex)
  • 2.2 網絡結構

    常用的神經網絡結構:

  • 前饋網絡;
  • 網絡中各個神經元按接收信息的先后分為不同的組;每一個組可以看成一個神經層;
  • 每一層的神經元接收前一層神經元的輸出,并輸出到下一層神經元;
  • 整個網絡中信息只朝一個方向傳播,沒有反向的信息傳播;
  • 前饋網絡包括:全連接前饋網絡和卷積神經網絡;
  • 反饋網絡;
  • 網絡中神經元可以接收其他神經元的信號,也可以接收自己的反饋信號;
  • 反饋網絡在不同的時刻具有不同的狀態,具有記憶功能;
  • 記憶網絡;
  • 記憶網絡在前饋網絡或反饋網絡基礎上,引入一組記憶單元,用保存中間狀態;
  • 記憶網絡具有比反饋網絡更強的記憶功能;


  • 2.3 深度前饋網絡

  • 前饋神經網絡中,各神經元分別屬于不同層;

  • 每一層的神經元可以接收前一層神經元的信號,并產生信號輸出到下一層;

  • 第一層為輸入層,最后一層為輸出層,其他中間層為隱藏層;

  • 整個網絡無反饋,信號從輸入層向輸出層單向傳播;

  • LLL:表示神經網絡的層數;
  • nln^lnl:表示第lll層神經元的個數;
  • fl(?)f_l(·)fl?(?):表示lll層神經元的激活函數;
  • W(l)∈Rnl×nl?1W^{(l)}\in{R^{n^l\times{n^{l-1}}}}W(l)Rnl×nl?1:表示l?1l-1l?1層到第lll層的權重矩陣;
  • b(l)∈Rnlb^{(l)}\in{R^{n^l}}b(l)Rnl:表示l?1l-1l?1層到第lll層的偏置;
  • z(l)∈Rnlz^{(l)}\in{R^{n^l}}z(l)Rnl:表示lll層神經元的凈輸入;
  • a(l)∈Rnla^{(l)}\in{R^{n^l}}a(l)Rnl:表示lll層神經元的輸出;
  • 前饋神經網絡信息傳播的公式:
    z(l)=W(l)a(l?1)+b(l);a(l)=fl(z(l))z^{(l)}=W^{(l)}a^{(l-1)}+b^{(l)};a^{(l)}=f_l(z^{(l)})z(l)=W(l)a(l?1)+b(l)a(l)=fl?(z(l))

    2.4 參數學習

    深度前饋神經網絡中,(W,b)(W,b)(W,b)是模型參數,給定輸入和輸出數據對(x,y)(x,y)(x,y),得到模型參數的過程稱為訓練或學習;

    交叉熵損失函數實例:

  • 函數表示
    L(y,y^)=?yTlog?y^,y^為對應的one?hot向量表示L(y,\hat{y})=-y^T\log{\hat{y}},\hat{y}為對應的one-hot向量表示L(y,y^?)=?yTlogy^?y^?one?hot
  • 給定訓練集:D={(x(i),y(i))},1≤i≤ND=\{{(x^{(i)},y^{(i)})}\},1≤i≤ND={(x(i),y(i))},1iN,將每個樣本x(i)x^{(i)}x(i)輸入給前饋網絡,得到網絡輸出y^\hat{y}y^?,其在數據集DDD上的風險函數為:R(W,b)=1N∑i=1NL(y(i),y^(i))+12λ∣∣W∣∣F2R(W,b)=\frac{1}{N}\sum^{N}_{i=1}L(y^{(i)},\hat{y}^{(i)})+\frac{1}{2}\lambda||W||^2_FR(W,b)=N1?i=1N?L(y(i),y^?(i))+21?λWF2?
  • W和bW和bWb包含了每一層的權重矩陣和偏置向量;
  • ∣∣W∣∣F2||W||^2_FWF2?是正則化項,用來防止過擬合;
  • λ\lambdaλ是正數的超參數;λ\lambdaλ越大,WWW越接近0;
  • 網絡參數通過梯度下降法進行學習;在梯度下降每次迭代中,第lll層的參數W(l)W^{(l)}W(l)b(l)b^{(l)}b(l)更新方式:
    W(l)←W(l)?α?R(W,b)?W(l)=W(l)?α(1N∑i=1N?L(y(i),y^(i))?W(l)+λW(l))W^{(l)}\leftarrow{W^{(l)}}-\alpha\frac{\partial{R(W,b)}}{\partial{W^{(l)}}}=W^{(l)}-\alpha(\frac{1}{N}\sum^{N}_{i=1}\frac{\partial{L(y^{(i)},\hat{y}^{(i)}})}{\partial{W^{(l)}}}+\lambda{W^{(l)}}) W(l)W(l)?α?W(l)?R(W,b)?=W(l)?α(N1?i=1N??W(l)?L(y(i),y^?(i))?+λW(l))
    b(l)←b(l)?α?R(W,b)?b(l)=b(l)?α(1N∑i=1N?L(y(i),y^(i))?b(l))b^{(l)}\leftarrow{b^{(l)}}-\alpha\frac{\partial{R(W,b)}}{\partial{b^{(l)}}}=b^{(l)}-\alpha(\frac{1}{N}\sum^N_{i=1}\frac{\partial{L(y^{(i)},\hat{y}^{(i)})}}{\partial{b^{(l)}}}) b(l)b(l)?α?b(l)?R(W,b)?=b(l)?α(N1?i=1N??b(l)?L(y(i),y^?(i))?)
    α\alphaα為學習率;
  • 總結

    以上是生活随笔為你收集整理的学习笔记9--深度前馈网络的全部內容,希望文章能夠幫你解決所遇到的問題。

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