1. 程式人生 > >神經網路與深度學習第一天讀書筆記

神經網路與深度學習第一天讀書筆記

書本來源

概念:感知器、S型神經元

感知器(Perceptrons)

一個感知器接受幾個二進位制的輸入,得到一個二進位制輸出。


書上舉例是三個,可以有更多輸入。


threshold表示閾值,wj表示一個輸入的權重。上式含義的意思就是如果加權和小於等於閾值,輸出為0,加權和大於閾值,輸出為1.

令b=-threshold,稱謂偏置,則上式改寫為:


w,x都表示的向量。

感知器可以用來實現邏輯電路,如,輸入00是1,輸入11是0,輸入10或者01是1,這就是個與非門。

再比如更復雜的:


把與非門都換成感知器:


S型神經元

單個感知器上一個權重或偏置的微小改動有時候會引起那個感知器的輸出完全翻轉,如 0 變到 1。那樣的翻轉可能接下來引起其餘網路的行為以極其複雜的方式完全改變。我們希望小的改動引起小的改變(也即結果改變不是直接翻轉,而是更加平滑),所以設計了S型神經元,他的輸出表達如下:

output=σ(w·x+b)
其中:
所以帶入可以得到S型神經元的輸出表達式為:
這裡可以看出,二者在z趨近正無窮或者趨近負無窮的時候,S型神經元和感知器的行為是一樣的,即z是一個大正數的話,整個表示式趨近於1,z是一個小負數的話,整個表示式趨近於0.區別在於取中間值時,S型神經元與感知器存在巨大偏離。 之所以叫S型神經元,可能是因為(3)式的影象形狀和S比較像:
函式σ(wx+b)也稱作是啟用函式。書上說後面可能會採用其他形式的啟用函式。

神經網路架構


一個如圖的神經網路,最左邊的叫輸入層,這一層的神經元稱為輸入神經元;最右邊的叫輸出層,這一層的神經元稱為輸出神經元;中間的叫隱藏層(hidden layer),如圖的是一個隱藏層,實際上可能出現好幾個隱藏層(非輸入輸出的都叫隱藏層),如下圖

雖然實際上這些都是由S型神經元組成,但是因為歷史遺留原因,這樣的多層神經網路還是被稱為是多層感知器或者MLP(multilayer perceptrons
)。
目前為止,討論的都是輸出不反饋給輸入的神經網路,這樣的稱為前饋神經網路,如果一個輸出會延時反饋給輸入,這樣的稱為遞迴神經網路。遞迴神經網路的學習演算法目前不夠先進(這個是書上這麼寫的),本書就不做討論了。至於為啥沒有輸出即時反饋給輸入的神經網路模型……因為這麼做的話難以理解。。。