1. 程式人生 > >【筆記】一天搞懂深度學習

【筆記】一天搞懂深度學習

ML ≈ Looking for A function

這裡寫圖片描述

THREE STEPS FOR DL

1.define a set of function

2.goodness of function

3.pick the best function

  • 第一步定義方法 - 神經網路。

深度學習顧名思義是指多層的神經網路。對於神經網路的計算能力可以理解為通過一層層Layer的計算歸納,逐步的將抽象的原始資料變的具體。以圖片識別為例,輸入是一個個畫素點,經過每層神經網路,逐步變化成為線、面、物件的概念,然後機器有能力能夠識別出來。

這裡寫圖片描述
  • 第二步,評估方法的優劣。

Loss function是用於評估方法優劣,通常我們用學習出來的引數對測試資料進行計算,得出對應的預測(y)然後和真實的測試資料的目標值(t)進行比對,y和t之間的差距往往就是Loss。那麼評估一個演算法的好壞,就是要儘可能的降低Loss。

  • 第三步,如何獲得最佳的學習方法

獲得最佳的學習是採用梯度下降演算法,作者也提到梯度下降演算法存在區域性最優解的問題。人們往往認為機器無所不能,實際上更像是在一個地圖上面拓荒,對周邊一無所知。神經網路計算梯度的演算法是反向傳播演算法,簡稱BP。

WHY DEEP?

其原因和電子電路一樣,我們可以使用簡單的邏輯閘(and,or,not)去組成複雜的電路。優點是引數的量會減少,也就是更有效率。

RECIPE OF DL

1.選擇合適的Loss function:使用Cross Entropy效果要優於Mean Square Error

2.Mini-batch: 每次訓練使用少量資料而不是全量資料效率更高

3.Activation Function:使用ReLU替代Sigmoid可以解決梯度消失的問題,可以訓練更深的神經網路

4 Adaptive Learning Rate:可以隨著迭代不斷自我調整,提高學習效率

5.Momentum: 可以一定程度上避免陷入區域性最低點的問題

這裡寫圖片描述

VARIANTS OF NEURAL NETWORKS

1.CNN

通常情況下,一個CNN包含多次的卷積、池化,然後Flatten,最終再通過一個深度神經網路進行學習預測。CNN在影象、語音識別取得非常好的成績,核心的想法在於一些物體的特徵往往可以提取出來,並且可能出現在圖片的任何位置,而且通過卷積、池化可以大大減少輸入資料,加快訓練效率。

2.RNN

RNN的想法是可以將hidden layer的資料儲存下來,然後作為輸入給下一個網路學習。這種網路的想法可以解決自然語言中前後詞語是存在關聯性的,所以RNN可以把這些關聯性放到網路中進行學習。

NEXT WAVE

1.Supervised Learning

2.Reinforcement Learning

通過獎勵機制強化學習,並且做出相應的動作.

3.Unsupervised Learning

後記:

小時候,看過動畫片——神奇寶貝,對於擁有自己的寵物精靈很是嚮往。AI也是如此,不同的模型適合不同的問題,需要有足夠的經驗。我們手中可以擁有很多AI球,但具體用哪個解決問題,需要作為訓練師的我們足夠睿智。

參考文獻: