1. 程式人生 > >數學與深度學習

數學與深度學習

  深度學習與人工智慧領域主要的門檻有程式設計能力,需要有很好的邏輯思維和程式設計經驗;還需要有紮實的數學基礎,能夠看懂相關的理論;同時計算機基礎知識也需要掌握;最後還要了解相關學科的知識,比如計算機視覺領域的影象處理知識等。
  
  下面主要介紹數學方面的掌握內容:
  線性代數。想要學習深度學習, 你第一個需要理解透徹的學問是線性代數。 為什麼? 因為深度學習的根本思想就是把任何事物轉化成高維空間的向量, 強大無比的神經網路, 說來歸齊就是無數的矩陣運算和簡單的非線性變換的結合。 這樣把影象啊, 聲音啊這類的原始資料一層層轉化為我們數學上說的向量。 什麼image to vector, word to vector 這些, 都在說的一件事情就是這類數學轉化, 不同型別(我們通常稱為非結構化資料)的資料最終成為數學上不可區分的高維空間的向量,所謂萬類歸宗。 線性代數,就是對於這一類高維空間運算做的預設操作模式,可謂上帝的魔術之手。
  概率論

。下一個我們需要講解的是什麼呢? 概率論基礎 。 概率論事整個機器學習和深度學習的語言 , 因為無論是深度學習還是機器學習所做的事情是均是預測未知。 預測未知你就一定要對付不確定性。 整個人類對不確定性的描述都包含在了概率論裡面。概率論你首先要知道的是關於概率來自頻率主義和貝葉斯主義的觀點, 然後你要了解概率空間這一描述描述不確定事件的工具, 在此基礎上, 熟練掌握各類分佈函式描述不同的不確定性。我們最常用的分佈函式是高斯, 但是你會發現高斯是數學書裡的理想, 而真實世界的資料, 指數分佈和冪函式分佈也很重要, 不同的分佈對機器學習和深度學習的過程會有重要的影響,比如它們影響我們對目標函式和正則方法的設定。懂得了這些操作, 會對你解決一些競賽或實戰裡很難搞定的corner case大有裨益。 一個於概率論非常相關的領域-資訊理論也是深度學習的必要模組,理解資訊理論裡關於熵,條件熵, 交叉熵的理論, 有助於幫助我們瞭解機器學習和深度學習的目標函式的設計, 比如交叉熵為什麼會是各類分類問題的基礎。 
  微積分
。微積分和相關的優化理論算是第三個重要的模組吧,線性代數和概率論可以稱得上是深度學習的語言,那微積分和相關的優化理論就是工具了。 深度學習, 用層層迭代的深度網路對非結構資料進行抽象表徵, 這不是平白過來的,這是優化出來的,用比較通俗的話說就是調參。 整個調參的基礎,都在於優化理論, 而這又是以多元微積分理論為基礎的。這就是學習微積分也很重要的根源。 
  優化。機器學習裡的優化問題,往往是有約束條件的優化,所謂帶著鐐銬的起舞 , 因此拉格朗日乘子法就成了你逃不過的魔咒。