想要真正了解深度神經網絡是如何訓練的,免不了從矩陣微積分說起。
雖然網絡上已經有不少關于多元微積分和線性代數的線上資料,但它們通常都被視作兩門獨立的課程,資料相對孤立,也相對晦澀。
不過,先别打退堂鼓,來自舊金山大學的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.htmlPDF:
https://arxiv.org/abs/1802.01528fast.ai論壇:
http://forums.fast.ai/文章來源:量子位
作者: 公衆号 QbitAI