看透深度學習核心思想,三分鐘從入門到精通!

當前人工智能經濟持續迅猛增長,人工智能工程師薪資水漲船高,這主要得益於深度學習技術在圖像識別和語音識別上取得的重大進展,而學習神經網絡是熟練掌握深度學習必須經過的一站。本文主要介紹神經網絡的基本原理,快速理解原理讓你可以利用神經網絡做自己想做的idea,這看起來很酷,但實際上卻是特別的酷!

看透深度學習核心思想,三分鐘從入門到精通!
看透深度學習核心思想,三分鐘從入門到精通!

大多數人都可以一眼看出它是504192。在我們大腦的每一個半球,都有主要的視覺皮質,它包含了1.4億個神經元,在這些神經元之間有數百億的接觸。然而人類的視覺不僅僅包含了,而是一系列的視覺皮質,逐步進行更復雜的圖像處理。

入門篇---神經元

神經網絡技術是對人腦神經系統的模擬,人腦神經系統的主要組成是神經元和數目眾多的突觸。可以把神經元理解為包含權重的函數,上一個神經元將數據傳遞給它後,由這個神經元進行計算,根據計算結果,發出相應的電信號,由下一個神經元接受信號再進行計算。經過多層運算後,計算結果被抽象更高層次,最終根據多層神經元的處理,輸出一個計算結果。

以上過程是神經元的基本原理,神經網絡是對神經元的模仿和擴大,通過多層神經元系統,可以解決現實世界中的非線性問題。

看透深度學習核心思想,三分鐘從入門到精通!

神經網絡原理篇

一個完整的神經網絡主要由輸入層,隱藏層,輸出層組成。進行模型訓練時,訓練集裡一條完整的實例經過預處理,變為了一組完整的數據,輸入層是這組數據進入神經網絡進行訓練或測試的入口,在輸入層,數據保持不變,但在傳入下一個隱藏層之前,需要進行加權運算。

所謂加權運算,就是乘了一個權重參數。比如,一個丈母孃選擇一個優秀的女婿,就有她的標準,其中,顏值佔比1/10,人品佔比7/10,經濟實力佔比2/10,以上的這幾個數字就是權重。那麼如果這家的閨女是個白富美,追求者達到了數千之多,無法人工一一挑選,就可以使用神經網絡來完成,賦予對應參數以權重,相乘的結果就是女婿的中意指數。

線性VS非線性:

以上這個例子是一個簡單的線性函數(y=1/10*x1+7/10*x2+2/10*x3)就可以算出來的,但是一般的實際問題,都不是嚴格的線性問題。線性可以簡單理解為一條直線,一個分類問題,如果用一條直線完成分類任務,那麼這就是一個線性問題,對應的解決方案就是線性模型;那麼非線性就可以理解為不是直線的線---曲線,比如,如果將下圖中的兩種顏色的點分為兩類,在左圖中,用是一條直線進行分割,則這條直線作為一個解決方案就是一個線性模型,它所完成的是線性分割;而右圖是不連續的曲線,這顯然是一個非線性模型完成的劃分。一句話來總結,非線性的最大特徵是曲線的出現,線性的最大特徵是隻有一條直線。

看透深度學習核心思想,三分鐘從入門到精通!

但非線性的本質是特徵之間的相互影響。這個應該怎麼理解呢?舉個例子,房屋面積大小和房子的地段都可以直接影響房價的高低,但是,房子的地段也會影響房子的大小,在三里屯附近一定小戶型居多,但在荒郊野外,肯定都是大戶型,這種帶有直接影響同時還對結果有間接影響的因素,都是線性模型無法表達出來的,但是在非線性模型中可以很容易的進行表達。特徵之間不是相互獨立的,而是它們有相互作用的。

接下來說說隱藏層,如下圖所示,粉紅色層是輸入層,最後一層是輸出層,中間的兩層是隱藏層,之所以叫中間這部分為隱藏層,主要是因為它的層數是不確定的,可以是非常深層的網絡,也可以只有一層,所以籠統地稱為隱藏層,它接受來自輸入層的數據,並向輸出層輸出數據。

看透深度學習核心思想,三分鐘從入門到精通!

隱藏層的主要組成是大量的神經元,每一層都可以定義神經元個數。在上圖所示中,隱藏層層數為兩層,每層神經元個數為4個。從上一層傳過來的參數被存儲在本層神經元內,這些數據又經過再次加權運算輸入到下一層神經元內。隱藏層可以將網絡由線性轉換為非線性,這大大增強了生成模型的表達能力。

輸出層是將隱藏層的運算結果進行綜合加權,最後進行輸出的層。

以上簡單介紹了神經網絡的結構和工作過程,接下來舉個例子。

構建以下簡單神經網絡來完成對房價的預測。現在輸入一組數據,中間的隱藏層就相當於四個專家,四位專家接收到來自三個數據與權重的組合,會產生一個來自這位專家的評價,這樣的一個專家就相當於一個感知機,可以做出判斷,同樣是這樣,四位專家分別產生各自的評價,最後的輸出層將四位專家的評價綜合到一起,在輸出前經過一個激活函數,激活函數會對輸入的數據進行檢測,看這個輸入是否滿足了一定的條件,產生了最終的結果。對於每個專家的工作過程,是相當於一個感知機,感知機只能完成線性的分類,當多個感知機累計在一起時,就可以進行非線性的分類。這個過程就相當於,一個感知機是一條直線,多個感知機就可以產生多條直線,多條直線累計在一起,可以無限逼近於任何一個光滑曲面。這裡再對感知機的工作原理介紹一下。

感知機是一類人造神經元,在許多神經網絡中,主要的神經元模型是sigmoid神經元。我們將很快的瞭解什麼是sigmoid神經元,但是想要知道為什麼sigmoid要這麼定義,就需要我們花點時間去了解感知機。

感知機如何工作?一個感知機通過一些二進制的輸入,然後產生一個二進制的輸出:

看透深度學習核心思想,三分鐘從入門到精通!

在上圖中,感知機有三個輸入

,通常它可以有更多或者更少的輸入。Rosenblatt提出了一個簡單的規則來計算輸出,它用權重來表示各個輸入對輸出的重要性。神經元的輸出,要麼是0要麼是1,由權重和權重與參數的積的值是否小於或者大於某一閾值。和權重一樣,閾值也是一個實數,它是神經元的一個參數。用代數式表達就是:

看透深度學習核心思想,三分鐘從入門到精通!

以上就是感知機的工作原理。

看透深度學習核心思想,三分鐘從入門到精通!

激活函數本身是非線性的,其他的輸入經過激活函數後,也都會變為非線性。

到這裡,基本上只是簡單介紹了神經網絡的基礎知識,想了解更多,訂閱我,每天都會有更新。

把你看完不懂的地方寫在評論區,我將第一時間進行解答,並會根據親們的建議,精益求精。


分享到:


相關文章: