一文讀懂深度學習中的矩陣微積分

重磅乾貨,第一時間送達

本文轉自:視學演算法

想要真正瞭解深度神經網路是如何訓練的,免不了從

矩陣微積分

說起。

雖然網路上已經有不少關於多元微積分和線性代數的線上資料,但它們通常都被視作兩門獨立的課程,資料相對孤立,也相對晦澀。

不過,先別打退堂鼓,來自舊金山大學的Terence Parr教授說:矩陣微積分真的沒有那麼難。

這位ANTLR之父和fast。ai創始人Jeremy Howard一起推出了一篇免費教程,旨在幫你快速入門深度學習中的矩陣微積分。

簡明,易懂

DeepMind研究科學家Andrew Trask評價說:

如果你想跳過不相干的內容,一文看盡深度學習中所需的數學知識,那麼就是這份資源沒錯了。

只需一點關於微積分和神經網路的基礎知識,就能單刀直入,開始以下的學習啦。

深度學習所需的矩陣微積分

先來看一眼這篇教程都涵蓋了哪些內容:

基本概念

矩陣微積分

神經元啟用的梯度

神經網路損失函式的梯度

一文讀懂深度學習中的矩陣微積分

文章開篇,先介紹了一下人工神經元。

一文讀懂深度學習中的矩陣微積分

神經網路中單個計算單元的啟用函式,通常使用權重向量

w

與輸入向量

x

的點積來計算。

神經網路由許多這樣的單位組成。它們被組織成稱為

的神經元集合。上一層單元的啟用成為下一層單元的輸入,最後一層中一個或多個單元的啟用稱為網路輸出。

訓練神經元意味著對權重

w

和偏差b的選擇。我們的目標是逐步調整

w

和b,使總損失函式在所有輸入

x

上都保持較小。

導數規則、向量計算、偏導數……複習完需要掌握的先導知識,文章開始進入重要規則的推導,這些規則涉及向量偏導數的計算,是神經網路訓練的基礎。

比如在

矩陣微積分

這一節中,涵蓋:

雅可比式(Jacobian)的推廣

向量element-wise二元運算元的導數

涉及標量展開的導數

向量和降維

鏈式法則

一文讀懂深度學習中的矩陣微積分

每一小節中,都有簡潔明瞭的示例,由淺入深,層層遞進。

如果你在學習的過程中遇到不理解的地方,不要著急,耐心返回上一節閱讀,重新演算一下文中的示例,或許就能理順思路。

如果實在是卡住了無法推進,你還可以在fast。ai論壇(連結見文末)的“Theory”分類下提問,向Parr和Howard本人求解答。

而在文章的末尾,作者附上了所有數學符號的對照表。

一文讀懂深度學習中的矩陣微積分

以及重點概念的詳細補充資訊。

一文讀懂深度學習中的矩陣微積分

值得注意的是,Parr和Howard也強調了,與其他學術方法不同,他們強烈建議先學會如何訓練和使用神經網路,然後再深入瞭解背後的基礎數學。因為

有了實踐經驗,數學會變得剛容易理解

傳送門

網頁版:

https://explained。ai/matrix-calculus/index。html

PDF:

https://arxiv。org/abs/1802。01528

下載1:OpenCV-Contrib擴充套件模組中文版教程

下載2:Python視覺實戰專案52講

下載3:OpenCV實戰專案20講