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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

3.10 直观理解反向传播-深度学习-Stanford吴恩达教授

發布時間:2025/4/5 pytorch 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.10 直观理解反向传播-深度学习-Stanford吴恩达教授 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

←上一篇↓↑下一篇→
3.9 神經網絡的梯度下降法回到目錄3.11 隨機初始化

直觀理解反向傳播 (Backpropagation Intuition (Optional))

這個視頻主要是推導反向傳播。

下圖是邏輯回歸的推導:

回想一下邏輯回歸的公式(參考公式3.2、公式3.5、公式3.6、公式3.15)

xwb}?z=wT+b?a=σ(z)?L(a,y)(3.38)\left.\begin{matrix} x\\w\\b \end{matrix}\right\}\Rightarrow z=w^T+b\Rightarrow a=\sigma(z)\Rightarrow L(a,y) \tag{3.38}xwb??????z=wT+b?a=σ(z)?L(a,y)(3.38)

所以回想當時我們討論邏輯回歸的時候,我們有這個正向傳播步驟,其中我們計算 zzz ,然后 aaa ,然后損失函數 LLL

xwb}?dw=dz?x,db=dz?z=wT+b?dz=da?g′(z),g(z)=σ(z),dLdz=dLda?dadz,ddzg(z)=g′(z)?a=σ(z)?L(a,y)?da=ddaL(a,y)=(?ylog?a?(1?y)log?(1?a))′=?ya+1?y1?a(3.39)\underbrace{\left.\begin{matrix} x\\w\\b \end{matrix}\right\}}_{dw=dz\cdot x,db=dz} \Leftarrow \underbrace{z=w^T+b}_{dz=da\cdot g^{'}(z),g(z)=\sigma(z),\frac{dL}{dz}=\frac{dL}{da}\cdot \frac{da}{dz},\fracozvdkddzhkzd{dz}g(z)=g^{'}(z)} \Leftarrow \underbrace{a=\sigma(z)\Leftarrow L(a,y)}_{da=\fracozvdkddzhkzd{da}L(a,y)=(-y\log a-(1-y)\log(1-a))^{'}=-\frac ya+\frac{1-y}{1-a}} \tag{3.39}dw=dz?x,db=dzxwb????????dz=da?g(z),g(z)=σ(z),dzdL?=dadL??dzda?,dzd?g(z)=g(z)z=wT+b???da=dad?L(a,y)=(?yloga?(1?y)log(1?a))=?ay?+1?a1?y?a=σ(z)?L(a,y)??(3.39)

神經網絡的計算中,與邏輯回歸十分類似,但中間會有多層的計算。下圖是一個雙層神經網絡,有一個輸入層,一個隱藏層和一個輸出層。

前向傳播:

計算 z[1],a[1]z^{[1]},a^{[1]}z[1]a[1] ,再計算 z[2],a[2]z^{[2]},a^{[2]}z[2]a[2] ,最后得到loss function

反向傳播:

向后推算出 da[2]da^{[2]}da[2] ,然后推算出 dz[2]dz^{[2]}dz[2] ,接著推算出 da[1]da^{[1]}da[1] ,然后推算出 dz[1]dz^{[1]}dz[1] 。我們不需要對 xxx 求導,因為 xxx 是固定的,我們也不是想優化 xxx 。向后推算出 da[2]da^{[2]}da[2] ,然后推算出 dz[2]dz^{[2]}dz[2] 的步驟可以合為一步:

dz[2]=a[2]?y,dW[2]=dz[2]a[1]T(3.40)dz^{[2]}=a^{[2]}-y,dW^{[2]}=dz^{[2]}a^{[1]T} \tag{3.40}dz[2]=a[2]?y,dW[2]=dz[2]a[1]T(3.40)

(注意:邏輯回歸中;為什么 a[1]Ta^{[1]T}a[1]T 多了個轉置: dwdwdw 中的 WWW (視頻里是 Wi[2]W^{[2]}_iWi[2]? )是一個列向量,而 W[2]W^{[2]}W[2] 是個行向量,故需要加個轉置);

db[2]=dz[2](3.41)db^{[2]}=dz^{[2]} \tag{3.41}db[2]=dz[2](3.41)

dz[1]=W[2]Tdz[2]?g[1]′(z[1])(3.41)dz^{[1]}=W^{[2]T}dz^{[2]}*g^{[1]'}(z^{[1]}) \tag{3.41}dz[1]=W[2]Tdz[2]?g[1](z[1])(3.41)

注意:這里的矩陣:W[2]W^{[2]}W[2] 的維度是: (n[2],n[1])(n^{[2]},n^{[1]})(n[2],n[1])

z[2],dz[2]z^{[2]},dz^{[2]}z[2]dz[2] 的維度都是: (n[2],1)(n^{[2]},1)(n[2],1) ,如果是二分類,那維度就是 (1,1)(1,1)(1,1)

z[1],dz[1]z^{[1]},dz^{[1]}z[1]dz[1] 的維度都是: (n[1],1)(n^{[1]},1)(n[1],1)

證明過程: 見公式3.42,其中 W[2]Tdz[2]W^{[2]T}dz^{[2]}W[2]Tdz[2] 維度為: (n[1],n[2])、(n[2],1)(n^{[1]},n^{[2]})、(n^{[2]},1)(n[1],n[2])(n[2],1) 相乘得到 (n[1],1)(n^{[1]},1)(n[1],1) ,和 z[1]z^{[1]}z[1] 維度相同,

g[1]′(z[1])g^{[1]'}(z^{[1]})g[1](z[1]) 的維度為 (n[1],1)(n^{[1]},1)(n[1],1) ,這就變成了兩個都是 (n[1],1)(n^{[1]},1)(n[1],1) 向量逐元素乘積。

實現后向傳播有個技巧,就是要保證矩陣的維度相互匹配。最后得到 dW[1]dW^{[1]}dW[1]db[1]db^{[1]}db[1] ,

dW[1]=dz[1]xT,db[1]=dz[1](3.43)dW^{[1]}=dz^{[1]}x^T,db^{[1]}=dz^{[1]} \tag{3.43}dW[1]=dz[1]xT,db[1]=dz[1](3.43)

可以看出 dW[1]dW^{[1]}dW[1]dW[2]dW^{[2]}dW[2] 非常相似,其中 xxx 扮演了 a[0]a^{[0]}a[0] 的角色, xTx^TxT 等同于 a[0]Ta^{[0]T}a[0]T

由: Z[1]=W[1]x+b[1],a[1]=g[1](Z[1])Z^{[1]}=W^{[1]}x+b^{[1]},a^{[1]}=g^{[1]}(Z^{[1]})Z[1]=W[1]x+b[1],a[1]=g[1](Z[1]) 得到:Z[1]=W[1]x+b[1],A[1]=g[1](Z[1])Z^{[1]}=W^{[1]}x+b^{[1]},A^{[1]}=g^{[1]}(Z^{[1]})Z[1]=W[1]x+b[1],A[1]=g[1](Z[1])

Z[1]=[????z[1](1)z[1](2)?z[1](m)????]Z^{[1]}=\left[\begin{matrix} \vdots & \vdots & \vdots & \vdots \\ z^{[1](1)} & z^{[1](2)} & \vdots & z^{[1](m)} \\ \vdots & \vdots & \vdots & \vdots \\ \end{matrix}\right]Z[1]=???????z[1](1)???z[1](2)???????z[1](m)????????

注意:大寫的 Z[1]Z^{[1]}Z[1] 表示 z[1](1),z[1](2),?,z[1](m)z^{[1](1)},z^{[1](2)},\cdots,z^{[1](m)}z[1](1),z[1](2),?,z[1](m) 的列向量堆疊成的矩陣,以下類同。

下圖寫了主要的推導過程:

dZ[2]=A[2]?Y(3.44)dZ^{[2]}=A^{[2]}-Y \tag{3.44}dZ[2]=A[2]?Y(3.44)dW[2]=1mdZ[2]A[1]T(3.45)dW^{[2]}=\frac1mdZ^{[2]}A^{[1]T} \tag{3.45}dW[2]=m1?dZ[2]A[1]T(3.45)db[2]=1mnp.sum(dZ[2],axis=1,keepdims=True)(3.46)db^{[2]}=\frac1mnp.sum(dZ^{[2]},axis=1,keepdims=True) \tag{3.46}db[2]=m1?np.sum(dZ[2],axis=1,keepdims=True)(3.46)dZ[1]?(n[1],m)=W[2]TdZ[2]?(n[1],m)?g[1]′(Z[1])?(n[1],m)(3.47)\underbrace{dZ^{[1]}}_{(n^{[1]},m)}=\underbrace{W^{[2]T}dZ^{[2]}}_{(n^{[1]},m)}*\underbrace{g^{[1]'}(Z^{[1]})}_{(n^{[1]},m)} \tag{3.47}(n[1],m)dZ[1]??=(n[1],m)W[2]TdZ[2]???(n[1],m)g[1](Z[1])??(3.47)dW[1]=1mdZ[1]xT(3.48)dW^{[1]}=\frac1mdZ^{[1]}x^T \tag{3.48}dW[1]=m1?dZ[1]xT(3.48)db[1]=1mnp.sum(dZ[1],axis=1,keepdims=True)(3.49)db^{[1]}=\frac1mnp.sum(dZ^{[1]},axis=1,keepdims=True) \tag{3.49}db[1]=m1?np.sum(dZ[1],axis=1,keepdims=True)(3.49)

吳恩達老師認為反向傳播的推導是機器學習領域最難的數學推導之一,矩陣的導數要用鏈式法則來求,如果這章內容掌握不了也沒大的關系,只要有這種直覺就可以了。還有一點,就是初始化你的神經網絡的權重,不要都是0,而是隨機初始化,下一章將詳細介紹原因。

課程PPT






←上一篇↓↑下一篇→
3.9 神經網絡的梯度下降法回到目錄3.11 隨機初始化

總結

以上是生活随笔為你收集整理的3.10 直观理解反向传播-深度学习-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 在线观看中文字幕视频 | 日本a v在线播放 | 国产成人麻豆精品午夜在线 | 日本黄色一级 | 黑人一级视频 | 国产日日操 | 欧美在线导航 | www.美色吧.com | 国产一级在线视频 | 丝袜老师办公室里做好紧好爽 | 奇米777狠狠| 欧美亚洲视频在线观看 | 麻豆传媒在线免费 | www.久久精品.com| 国产网红主播精品av | 天天爱av| 五月天激情婷婷 | 欧美一区二 | 日韩久久精品视频 | 久久精品国产亚洲a | 黄片毛片一级 | 欧美色综合天天久久综合精品 | 久久免费福利视频 | 91国产丝袜在线播放 | 欧美交换 | av电影一区二区 | 天天视频亚洲 | 大乳护士喂奶hd | 久久精品男人 | 日韩爱爱爱| 中文字幕日日 | 息与子五十路翔田千里 | 波多野吉衣毛片 | 国产做爰免费观看 | 天天射天天爽 | 有码一区二区三区 | 欧美日韩在线一区二区三区 | 日本h在线 | 久久国产小视频 | 久久久久久久久久久99 | 亚洲精品日韩av | 献给魔王伊伏洛基亚吧动漫在线观看 | 欧美一区二区三区色 | 最新中文字幕免费视频 | 综合色婷婷一区二区亚洲欧美国产 | 少妇人妻在线视频 | 亚洲成人av免费 | 亚洲精品av中文字幕在线在线 | 亚洲综合三区 | 国产高清精品在线 | 婷婷婷色 | 精品国产乱码久久久久久蜜臀 | 一区二区三区黄 | 邻居少妇张开腿让我爽了在线观看 | 午夜视频入口 | 尤物在线精品 | 青草草在线观看 | 成人尤物| 国产五十路 | 四虎网址大全 | 大香焦久久 | 99久精品视频 | 国产精品探花一区二区三区 | 又欲又污又肉又黄短文 | 欧美一区二区三区四 | 国产性生活视频 | 激情久久中文字幕 | 青娱乐极品视频在线 | 国产欧美日韩精品一区 | 日韩精品一区三区 | 亚洲操操操 | 久久九色 | 狠狠久久久 | 天天干天天干天天干天天 | 99久久这里只有精品 | 精品无码一区二区三区爱欲 | 抱着老师的嫩臀猛然挺进视频 | 成人涩涩网 | 免费在线观看你懂的 | 亚洲逼院 | 欧美成人福利视频 | 久操青青 | 欧美精品乱码 | 亚洲精品在线播放视频 | 艳妇乳肉亭妇荡乳av | www日| 午夜三级福利 | 一区二区三区国产在线观看 | 日本一区二区不卡在线 | 国产精品香蕉国产 | 国产精品天美传媒 | 国产高潮在线 | 少妇人妻邻居 | 午夜性生活片 | 国产亚洲视频在线 | 欧美拍拍 | 成人片在线视频 | 好男人网站 | 国产日韩欧美在线观看视频 |