更新時(shí)間:2024-08-19 09:48:13作者:佚名
在數(shù)學(xué)、物理和工程領(lǐng)域,將問題轉(zhuǎn)化為更易于表達(dá)、分解和計(jì)算的坐標(biāo)系是一種核心方法:SVD、譜分解、傅里葉變換和拉格朗日力學(xué)都是如此,其重要性遠(yuǎn)遠(yuǎn)超出一般認(rèn)知。深度學(xué)習(xí)如此受歡迎的重要原因行列式是什么,就是通過表示學(xué)習(xí),將高維數(shù)據(jù)映射到合適的低維特征空間。
在反向傳播中,神經(jīng)元輸出相對(duì)于輸入的局部敏感度是偏導(dǎo)數(shù)
來源:~srihari/CSE574/Chap5/Chap5.3-BackProp.pdf
在映射過程中,描述不同函數(shù)變量之間變化速度的導(dǎo)數(shù)非常重要。雅可比矩陣提供了一種表達(dá)局部輸出對(duì)輸入敏感度的方法。神經(jīng)網(wǎng)絡(luò)的BP反向傳播依靠誤差與權(quán)重之間的偏導(dǎo)數(shù)關(guān)系來訓(xùn)練權(quán)重。神經(jīng)網(wǎng)絡(luò)的權(quán)重有幾萬個(gè),代價(jià)函數(shù)對(duì)哪些權(quán)重的變化敏感。毫無疑問,那些權(quán)重更為重要。雅可比矩陣為分析神經(jīng)網(wǎng)絡(luò)的輸入輸出行為提供了一個(gè)數(shù)學(xué)框架。當(dāng)然,雅可比的應(yīng)用極其廣泛,機(jī)器學(xué)習(xí)只是冰山一角。
目錄
一維變量替換
雅可比矩陣
雅可比行列式
神經(jīng)網(wǎng)絡(luò) BP 誤差反向傳播
雅可比正則化
關(guān)于卡爾·雅各布·雅各比
01
坐標(biāo)變換
坐標(biāo)變換的原因之一是為了方便積分。當(dāng)被積函數(shù)為復(fù)數(shù)時(shí),變量代換往往可以簡化問題。例如,對(duì)圓形面積進(jìn)行積分時(shí),極坐標(biāo)比笛卡爾坐標(biāo)更方便。有時(shí)被積函數(shù)為復(fù)數(shù),變量代換可以降低復(fù)雜度。坐標(biāo)變換的思想可以進(jìn)一步擴(kuò)展到任何自定義變量代換坐標(biāo)系:
例如,對(duì)下面四條直線圍成的平行四邊形的面積求積分,四條直線的方程為:。
引入新變量: ,兩條斜線變?yōu)?,兩條水平線變?yōu)?。顯然,在矩形區(qū)域上積分比在平行四邊形區(qū)域上積分更方便。
02
一維變量替換
讓我們以一個(gè)簡單的 1D U-Substitution 玩具案例為例來回顧一下變量替換過程。
推導(dǎo):
順序:,然后,
然后將其推廣到更一般的代換情況:對(duì)于 ,這意味著當(dāng)對(duì) 作出一個(gè)微小的擾動(dòng)時(shí),相應(yīng)的 的變化與 呈線性關(guān)系。同時(shí),定積分的上下限也要作相應(yīng)的調(diào)整: ,其中出現(xiàn)了一個(gè)比例因子,也就是導(dǎo)數(shù),它是單變量下的雅可比矩陣,可以理解為 。
注意:這和我們通常看到的方向相反,為了和多變量下的形式保持一致,比如上例中的總和。
03
雅可比矩陣
在多變量的情況下,坐標(biāo)變換描述的是從 到 的連續(xù)一一變換。注意,這是獨(dú)立變量,它是上面帶有獨(dú)立變量的函數(shù)的反函數(shù)。可以看出,雅可比矩陣可以是雙向的,一般從積分較難的方向指向積分較容易的方向。
矩陣形式為:
,在
這是雅可比矩陣。
假設(shè)在映射中,輸入為,輸出為。雅可比矩陣告訴我們:如果
是位移矢量,則
是相應(yīng)坐標(biāo)變換后空間中的位移矢量
這是 的最佳一階近似,這是一階泰勒公式近似思想在坐標(biāo)變換中的體現(xiàn)。
我們來看看下面的方向:
從 UV 平面到 XY 平面的坐標(biāo)變換
假設(shè)我們對(duì)坐標(biāo)系中位于的點(diǎn)進(jìn)行擾動(dòng),并分別將其增大,以得到一個(gè)很小的面積。現(xiàn)在考慮坐標(biāo)系中擾動(dòng)所對(duì)應(yīng)的變化:,。
在坐標(biāo)中,平行四邊形的面積是兩個(gè)邊向量叉積的大小:
04
雅可比行列式
此時(shí),雅可比矩陣是一個(gè)方陣,而相應(yīng)的雅可比行列式計(jì)算的是給定矩陣的線性變換的比例因子,告訴我們該變換是空間放大還是縮小貝語網(wǎng)校,并且這個(gè)因子對(duì)于空間的任何區(qū)域都是不變的(行列式)。
行列式等于矢量包圍的面積或體積
這就是雅可比行列式,或者簡稱為“雅可比”。
在上面的平行四邊形變成矩形的例子中:
這意味著平行四邊形和矩形的積分按 1 倍縮放。
05
神經(jīng)網(wǎng)絡(luò) BP 誤差反向傳播
雅可比矩陣用于神經(jīng)網(wǎng)絡(luò)中反向傳播誤差信號(hào)時(shí)。來源:PRML
BP反向傳播是最經(jīng)典的神經(jīng)網(wǎng)絡(luò)權(quán)重訓(xùn)練方法,至今仍是最重要的方法。BP算法還有另外一個(gè)名字——“總是尋求偏導(dǎo)數(shù)”。在將誤差信號(hào)前向傳遞到輸入層的過程中,權(quán)重被調(diào)整/學(xué)習(xí)。上圖中,紅色模塊對(duì)應(yīng)需要計(jì)算的雅可比矩陣,公式如下:
,其中是估計(jì)值。
前面我們提到,行列式的值告訴我們空間是在膨脹還是在收縮。如果輸出空間在輸入空間的某個(gè)輸入點(diǎn)處大大膨脹,則意味著神經(jīng)網(wǎng)絡(luò)在這個(gè)區(qū)域可能有些不穩(wěn)定,輸入中的任何擾動(dòng)都可能導(dǎo)致輸出出現(xiàn)巨大的波動(dòng)。相反,如果行列式相對(duì)較小,則輸入的變化對(duì)輸出的影響就很小。
神經(jīng)網(wǎng)絡(luò)的雅可比矩陣的計(jì)算過程為:輸入向量在神經(jīng)網(wǎng)絡(luò)中經(jīng)過前向傳播,得到所有輸出層和隱含層的激活值,對(duì)輸出單元進(jìn)行反向傳播,對(duì)應(yīng)雅可比矩陣中的行,向輸入層反向傳播。計(jì)算結(jié)果可以用數(shù)值方法驗(yàn)證:。
06
雅可比正則化
參考:基于雅可比正則化的穩(wěn)健學(xué)習(xí)
近年來,雅可比矩陣被應(yīng)用于正則化。與正則化不同,雅可比正則化關(guān)注的是神經(jīng)網(wǎng)絡(luò)對(duì)輸入波動(dòng)的魯棒性。你可能對(duì)對(duì)抗樣本很熟悉。少量的長臂猿梯度(中)混入了一張熊貓圖片(左),導(dǎo)致分類算法錯(cuò)誤地將圖片識(shí)別為置信度為 99.3% 的長臂猿(右)。
Jacobian Regularization 的思想很簡單,Jacobian 矩陣中的值越小,表示輸入空間的微小波動(dòng)對(duì)輸出空間的影響越小。具體來說,它取 Jacobian 矩陣的 Frobenius 范數(shù),也就是矩陣所有元素之和的平方根。
07
關(guān)于卡爾·雅各布·雅各比
卡爾·古斯塔夫·雅可比(1804 – 1851)
雅可比矩陣和行列式是由德國數(shù)學(xué)家卡爾·古斯塔夫·雅各布·雅可比(1804-1851)提出的,他對(duì)橢圓函數(shù)、動(dòng)力學(xué)、微分方程、行列式和數(shù)論做出了重要貢獻(xiàn)。他推動(dòng)了偏微分符號(hào)的廣泛使用行列式是什么,只要看一眼雅可比公式就能知道原因。不要把它與學(xué)術(shù)巨人雅各布·伯努利(1654-1705)混淆。
以雅各布命名的月球隕石坑
本文目的在于學(xué)術(shù)交流,并不代表本公眾號(hào)贊同其觀點(diǎn)或?qū)ζ鋬?nèi)容真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)告知?jiǎng)h除。 “強(qiáng)基固本”歷史文章
理解Tensor Core
損失函數(shù) | 交叉熵?fù)p失函數(shù)
多場景建模
深度學(xué)習(xí)優(yōu)化背后包含哪些數(shù)學(xué)知識(shí)?
利用宇宙的能力來處理數(shù)據(jù)!「物理網(wǎng)絡(luò)」遠(yuǎn)勝深度神經(jīng)網(wǎng)絡(luò)
入門 | 異常檢測Anomaly Detection
通俗易懂的解釋Sparse Convolution過程
現(xiàn)在的人工智能是否走上了數(shù)學(xué)的極端?
神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的拓?fù)溲莼?/span>
一文詳解colmap中的多視圖重建算法原理
深度學(xué)習(xí)、計(jì)算機(jī)視覺面試題合集
大白話用Transformer做Object Detection
手把手教你學(xué)DBNet
小樣本學(xué)習(xí)只是一場學(xué)術(shù)界自嗨嗎?
更多強(qiáng)基固本專欄文章,
請(qǐng)點(diǎn)擊文章底部“閱讀原文”查看
分享、點(diǎn)贊、在看,給個(gè)三連擊唄!