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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

05 反向传播

發(fā)布時(shí)間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 05 反向传播 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

反向傳播

??上一篇博客介紹了從輸入 X 樣本開(kāi)始,通過(guò)一組 www 參數(shù),得到了一個(gè)得分值,然后又將得分值經(jīng)過(guò) y=exy = e^xy=ex 函數(shù)的變換和歸一化操作得到一個(gè)概率,然后又通過(guò) y=?logxy = -logxy=?logx 函數(shù)求出了 Loss 值。有了 Loss 值之后,就可以進(jìn)行最優(yōu)化的操作。


??
??我們通常把從開(kāi)始到得到 Loss 的過(guò)程稱(chēng)為前向傳播。 通常神經(jīng)網(wǎng)絡(luò)是由 BP 算法求解的,那什么是 BP 算法呢?BP 算法就是說(shuō)通過(guò)前向傳播求出 Loss 值,然后經(jīng)過(guò)一次反向傳播再次優(yōu)化這些權(quán)重參數(shù)(WWW)。
??
??其實(shí)神經(jīng)網(wǎng)絡(luò)可以由兩部分組成,一部分為前向傳播,另一部分就是反向傳播。那么這個(gè)反向傳播應(yīng)該怎樣更新這些權(quán)重參數(shù)呢?
??

??下面就舉個(gè)例子說(shuō)明反向傳播。假設(shè)現(xiàn)在有三個(gè)樣本點(diǎn) x=?2x = -2x=?2y=5y = 5y=5z=?4z = -4z=?4,然后通過(guò) f(x,y,z)=(x+y)zf(x, y, z) = (x + y)zf(x,y,z)=(x+y)z 得到值 -12。


??
??假設(shè)現(xiàn)在 -12 是我們求出的一個(gè)損失值,有了這個(gè)損失值之后,我想知道 xxxyyyzzz 分別對(duì) fff 做了多大貢獻(xiàn)?我們可以想象一下,我們之前是要優(yōu)化 www,我們要算 wwwLossLossLoss 之間的關(guān)系, 有些 www 可能會(huì)使得 LossLossLoss 值變大。比如說(shuō),現(xiàn)在有一個(gè) www 增大之后,LossLossLoss 值也增大,那么此時(shí)我們就需要將 www 值減小才能使得 LossLossLoss 盡可能小。但是如果另外一個(gè) www 增大之后,LossLossLoss 減小了,那么此時(shí)我們需要將 www 增大。那么我們現(xiàn)在就計(jì)算一下 xxxyyyzzz 這些權(quán)重參數(shù)對(duì) fff 函數(shù)產(chǎn)生了多大影響。

??首先我們分析 f(x,y,z)=(x+y)zf(x, y, z) = (x + y)zf(x,y,z)=(x+y)z,第一步計(jì)算 x+yx + yx+y,在這里我們將指定一個(gè)額外的元素 qqq,使得 q=x+yq = x + yq=x+y,那么 f=q?zf = q*zf=q?z。那么現(xiàn)在就可以計(jì)算 zzz 對(duì) fff 做了多大貢獻(xiàn),那么只需要計(jì)算 zzz 對(duì) fff 的偏導(dǎo):


??
??偏導(dǎo)數(shù)等于 3 意味著如果說(shuō) zzz 增大一倍,那么 fff 就會(huì)增大 3 倍。但是現(xiàn)在我是想 fff 減小,所以 zzz 應(yīng)該往減小的方向去發(fā)展。那么接下來(lái)就計(jì)算 xxxyyy 對(duì) fff 做了多大貢獻(xiàn)。首先 xxxyyy 經(jīng)過(guò)了 q=x+yq = x + yq=x+y 這樣的組合,所以要想求出 xxxyyy,必須先求出 qqq 對(duì) fff 產(chǎn)生了多大影響。

??f=q?zf = q*zf=q?z 那么 fff 對(duì) qqq 的偏導(dǎo)數(shù)就是:

??偏導(dǎo)數(shù)等于 -4 意味著如果說(shuō) qqq 增大一倍,那么 fff 就會(huì)減小 4 倍,所以 qqq 應(yīng)該朝著增大的方向發(fā)展。而 q=x+yq = x + yq=x+y,那么要想算出 xxxyyy 對(duì) fff 的影響,就要先算出 xxxyyy 對(duì) qqq 的影響,那么就要分別算出 xxxyyy 分別對(duì) qqq 的偏導(dǎo)數(shù)。

??那么就可以理解為當(dāng) xxx 增大一倍,qqq 就增大一倍;yyy 增大一倍,qqq 也增大一倍。那么現(xiàn)在我算 xxx 對(duì) fff 產(chǎn)生多大影響,這個(gè)時(shí)候在反向傳播當(dāng)中有一個(gè)鏈?zhǔn)椒▌t,鏈?zhǔn)椒▌t的意思就是假設(shè)要算 xxx 對(duì)最終結(jié)果做了多大貢獻(xiàn),那最終結(jié)果中間肯定有很多步,我們需要一步一步將梯度傳下來(lái)。比如在這個(gè)例子中,qqq 對(duì) fff 做的貢獻(xiàn)是 -4,xxx 對(duì) qqq 做的貢獻(xiàn)為 1,那么 xxx 對(duì) fff 做的貢獻(xiàn)就是 -4 * 1 = -4,遵循鏈?zhǔn)椒▌t。也就是說(shuō) xxx 增大一倍,fff 就相應(yīng)減小 4 倍,所以 xxx 應(yīng)該向增大的方向發(fā)展。要求 yyy 對(duì) fff 的貢獻(xiàn)同理,qqq 對(duì) fff 做的貢獻(xiàn)是 -4,yyy 對(duì) qqq 做的貢獻(xiàn)為 1,那么 yyy 對(duì) fff 做的貢獻(xiàn)就是 -4 * 1 = -4,也就是說(shuō) yyy 增大一倍,fff 就相應(yīng)減小 4 倍,所以 yyy 也應(yīng)該向增大的方向發(fā)展。

??下面這張圖就很明顯說(shuō)明了反向傳播的過(guò)程。我們要想算出 xxxyyy 對(duì) LLL 的梯度,首先得先算出 zzz 對(duì) LLL 的梯度,再算出 xxxyyy 分別對(duì) zzz 的梯度。不能用一步直接求出 xxxyyy 對(duì) zzz 的導(dǎo)數(shù),首先第一步肯定是通過(guò) LLL 傳到 zzz,再由 zzz 傳到 xxxyyy,這就是反向傳播的過(guò)程。
??

總結(jié)

以上是生活随笔為你收集整理的05 反向传播的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。