深度學習如何入門?

機器學習 深度學習 可視化 太陽系 AI智能教育 2017-06-22

深度學習,確實需要一定的數學基礎,但真的那麼難麼?這個,還真沒有。不信?聽我來給你侃侃。看完,你也會覺得沒那麼難了。深度學習如何入門?

通過可視化手段,調試理解CNN網絡的技巧——Visualize Layer Activations:

通過將神經網絡隱藏層的激活神經元以矩陣的形式可視化出來,能夠讓我們看到一些有趣的insights。

線性可分視角:神經網絡的學習就是學習如何利用矩陣的線性變換加激活函數的非線性變換,將原始輸入空間投向線性可分/稀疏的空間去分類/迴歸。增加節點數:增加維度,即增加線性轉換能力。增加層數:增加激活函數的次數,即增加非線性轉換次數

物理視角:“物質組成”

類比:回想上文由碳氧原子通過不同組合形成若干分子的例子。從分子層面繼續迭代這種組合思想,可以形成DNA,細胞,組織,器官,最終可以形成一個完整的人。繼續迭代還會有家庭,公司,國家等。這種現象在身邊隨處可見。並且原子的內部結構與太陽系又驚人的相似。不同層級之間都是以類似的幾種規則再不斷形成新物質。你也可能聽過分形學這三個字。可通過觀看從1米到150億光年來感受自然界這種層級現象的普遍性。

·人臉識別情景:我們可以模擬這種思想並應用在畫面識別上。由像素組成菱角再組成五官最後到不同的人臉。每一層代表不同的不同的物質層面 (如分子層)。而每層的W存儲著如何組合上一層的物質從而形成新物質。 如果我們完全掌握一架飛機是如何從分子開始一層一層形成的,拿到一堆分子後,我們就可以判斷他們是否可以以此形成方式,形成一架飛機。

物質組成視角:神經網絡的學習過程就是學習物質組成方式的過程。增加節點數:增加同一層物質的種類,比如118個元素的原子層就有118個節點。增加層數:增加更多層級,比如分子層,原子層,器官層,並通過判斷更抽象的概念來識別物體。

神經網絡的訓練

堆疊自編碼器的網絡結構本質上就是一種普通的多層神經網絡結構: 深度學習如何入門?

知道了神經網絡的學習過程就是學習控制著空間變換方式(物質組成方式)的權重矩陣後,接下來的問題就是如何學習每一層的權重矩陣W。

如何訓練:

既然我們希望網絡的輸出儘可能的接近真正想要預測的值。那麼就可以通過比較當前網絡的預測值和我們真正想要的目標值,再根據兩者的差異情況來更新每一層的權重矩陣(比如,如果網絡的預測值高了,就調整權重讓它預測低一些,不斷調整,直到能夠預測出目標值)。因此就需要先定義“如何比較預測值和目標值的差異”,這便是損失函數或目標函數(loss function or objective function),用於衡量預測值和目標值的差異的方程。loss function的輸出值(loss)越高表示差異性越大。那神經網絡的訓練就變成了儘可能的縮小loss的過程。 所用的方法是梯度下降(Gradient descent):通過使loss值向當前點對應梯度的反方向不斷移動,來降低loss。一次移動多少是由學習速率(learning rate)來控制的。

相關推薦

推薦中...