【深度学习】神经网络中几个常用的求导公式
??
親愛的朋友們,多多有一段時(shí)間沒有更新啦,主要是我在學(xué)習(xí)transformers突然開始思考幾個(gè)神經(jīng)網(wǎng)絡(luò)相關(guān)的基本問題(模型結(jié)構(gòu)越寫越復(fù)雜,調(diào)包效果越來越好,是否還記得為什么而出發(fā)呢?),讀者朋友也可以看看是否可以自如回答:
?什么是鏈?zhǔn)椒▌t?
什么是Jacobin矩陣?
Jacobin有什么用處?
梯度的定義是什么?
方向?qū)?shù)和梯度的關(guān)系是什么?
神經(jīng)網(wǎng)絡(luò)中張量反向傳播有什么特點(diǎn)?
哪些特性保證了神經(jīng)網(wǎng)絡(luò)中高效的梯度計(jì)算?
我將我的總結(jié)神經(jīng)網(wǎng)絡(luò)中的數(shù)學(xué)基礎(chǔ)寫到了一起放到了github,做成了一個(gè)網(wǎng)站,當(dāng)然網(wǎng)站中也會(huì)逐漸加入之前寫的transformer推送內(nèi)容:
https://erenup.github.io/deeplearningbasics/
還會(huì)持續(xù)更新,歡迎大家star或者提交issue/request~謝謝。
本來想一篇推送更新完,但考慮到大家時(shí)間有限,沒法一次看完,于是個(gè)人覺得把最常用的章節(jié)挑出來更新一下,本文公式較多,排版盡可能簡(jiǎn)單化啦。
完整內(nèi)容請(qǐng)查閱網(wǎng)站~
1. 矩陣乘以列向量求
可以看作函數(shù)將輸入 經(jīng)過變換得到輸出,那么Jacobian矩陣
那么
由于 if else 0, 所以有
2. ?
3. ?向量等于自身,求
因?yàn)?所以
所以,將其放在鏈?zhǔn)椒▌t中進(jìn)行矩陣乘法時(shí)候不會(huì)改變其他矩陣。
4. 對(duì)向量中每個(gè)元素進(jìn)行變換, 求
由于所以
所以是一個(gè)diagonal matrix 且
矩陣乘以一個(gè)diagonal矩陣也就是每個(gè)元素進(jìn)行幅度變換,因此鏈?zhǔn)椒▌t中的矩陣乘以相當(dāng)于和做elementwise 乘法。
5. ,求
我們開始引入更復(fù)雜的情況,因?yàn)樯窠?jīng)網(wǎng)絡(luò)中往往包含多次鏈?zhǔn)椒▌t的引用,這里我們假設(shè)已經(jīng)知道,直接求。
假設(shè)神經(jīng)網(wǎng)絡(luò)的損失函數(shù)是標(biāo)量,我們想計(jì)算的是損失函數(shù)對(duì)參數(shù)的梯度。我們可以想象神經(jīng)網(wǎng)絡(luò)這個(gè)函數(shù)輸入是一個(gè)形狀的參數(shù),輸出是一個(gè)標(biāo)量,結(jié)合上一章節(jié)Jacobian知識(shí)我們可以知道形狀和一樣,所以在神經(jīng)網(wǎng)絡(luò)訓(xùn)練的時(shí)候可以將參數(shù)減輕去參數(shù)的梯度乘以學(xué)習(xí)率。
根據(jù)鏈?zhǔn)椒▌t,我們需要求出。這個(gè)三維的張量不方便表示且十分復(fù)雜,因此我們先只看對(duì)求導(dǎo)。
所以只有時(shí)候非零
所以
所以得到
6.
7.
假設(shè)神經(jīng)網(wǎng)絡(luò)到達(dá)softmax之前的輸出為,為分類數(shù)量,那么
所以
結(jié)語
本來對(duì)于矩陣求導(dǎo)還有些發(fā)怵的我,在熟練以上幾個(gè)公式之后發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)反向傳播的求導(dǎo)也不是那么遙不可觸。希望能對(duì)大家有幫助。
覺得不錯(cuò)幫點(diǎn)個(gè)贊、轉(zhuǎn)發(fā)、在看吧。謝謝
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯溫州大學(xué)《機(jī)器學(xué)習(xí)課程》視頻 本站qq群851320808,加入微信群請(qǐng)掃碼:總結(jié)
以上是生活随笔為你收集整理的【深度学习】神经网络中几个常用的求导公式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度技术win11 32位全新专业版系统
- 下一篇: 【Python】五种Pandas图表美化