魚羊 編譯整理
量子位 報道 | 公眾號 QbitAI
想要真正瞭解深度神經網絡是如何訓練的,免不了從矩陣微積分說起。
雖然網絡上已經有不少關於多元微積分和線性代數的在線資料,但它們通常都被視作兩門獨立的課程,資料相對孤立,也相對晦澀。
不過,先別打退堂鼓,來自舊金山大學的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
fast.ai論壇:
http://forums.fast.ai/
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態
閱讀更多 量子位 的文章