【DeepLearning學習筆記】Neurons神經元

今天找到一個比較好的deep learning的教材:Neural Networks and Deep Learning 對神經網絡有詳細的講解,鑑於本身青年癡呆,仍是總結下筆記吧=。=html

Perceptron感知器算法

Perceptron的輸入的一組binary變量xi,對這些binary變量求出加權和後,若是這個和大於某個閾值threshold,就輸出1;不然輸出0.網絡

因此perceptron的輸入輸出都是binary的,咱們能夠把一個perceptron的輸入當作一組「evidences」(證據),perceptron利用這組證據判斷出一個decision(決策)。ide

好比說咱們用一個perceptron判斷一個女生會不會買一雙鞋,就用上圖的perceptron,假設這個女生有三個評價標準:函數

x1:這雙鞋是否打折?spa

x2:這雙鞋小夥伴們是否尚未?htm

x3:這雙鞋是不是今年新款?blog

以上各個變量若是回答是「是」,則對應xi爲1,不然爲0.而且假設threshold爲3,即若是w1x1+w2x2+w3x3≥3,那麼輸出1,不然輸出0.ci

第一種狀況:這個女生很是(chu)挑(nv)剔(zuo),她要求這三個評價標準都知足,纔會買這雙鞋,這時能夠設置w1=w2=w3=1,那麼只有x1=x2=x3的時候,perceptron的輸出纔是1,不然是0.get

第二種狀況:這個女生很是自(jiao)主(qing),她很討厭和別人買同樣的鞋,那麼第二個標準對她很是重要,而其餘兩個都不重要。這是能夠設置w2=3,w1=w3=1,那麼只有當x2=1的時候perceptron纔可能輸出1,不然無論x1和x2取什麼值,perceptron都只輸出0.

以上是perceptron的直觀理解,如下是數學表示:

這個表示有兩坨東西很是複雜,一個是求和符號,另外一個是threshold。那麼爲了簡化,咱們能夠利用向量運算代替求和符號,即∑wjxj = wx,其中w是權重向量,x是樣本向量。另外設置一個變量b=-threshold,而後把它挪到不等號左邊,那麼上述數學表示就變成了:

因此一個perceptron所作的工做就是把全部輸入和它們對應的權重相乘求和後加上偏置b而後和0比較,大於0輸出1,小於0輸出0.

Sigmoid神經元

在神經網絡的訓練過程當中,咱們隨機初始化權重,而後經過訓練數據逐步的修改權重,使得神經網絡最終可以完成某項任務。上述的perceptron有一個缺點就是若是它的某一個權重發生了細微的變化,那麼output的值頗有可能直接從0跳變到1,而且它的輸出跳變就有可能引發更大範圍的不可控的跳變,這樣咱們就不能「逐(ping)漸(wen)」的調整網絡的權重來訓練網絡。

這個時候就要引入sigmoid神經元了。它的結構和上述perceptron是十分類似的,一樣有若干個輸入xi,對應若干個權重wi,一個輸出output。不過這些x以及output都是[0,1]之間的實數了,而不限定與binary了。而且,sigmoid神經元的工做要比perceptron稍微複雜一些:當這個perceptron把輸入x和權重求完加權和後,並非用threshold來判斷輸出,而是將這個加權和做爲sigmoid函數(f(x)=1/(1+exp(-x)))的輸入,最後函數值做爲輸出。

爲何這個函數能夠解決perceptron的問題呢?由於以下這個公式:

假設咱們在訓練網絡的時候對w的修改是Δw,對b的修改是Δb,那麼輸出的變化是Δw和Δb的線性和(上述偏導均可以當作線性關係的係數),也就是說Δoutput=∑aiwi+bΔb(a,b都是偏導),這樣一來,Δw和Δb微小的變化就不會引發output的忽然跳變,而是一個線性緩慢變化的過程,這樣咱們訓練神經網絡的過程就可控了。

sigmoid的輸出和perceptron是類似的,從它們的圖像就能夠看出來:

紅色的是perceptron,藍色是sigmoid。兩者均是當輸入接近正無窮時輸出接近1;當輸入接近負無窮時,輸出接近0.只是在0附近,perceptron的函數是跳變,而sigmoid是逐漸變化,正是這種逐漸變化使得sigmoid可導而且權重的微小變化引發的輸出的變化是可控的,而不是跳變。

因此sigmoid函數重要的是它的形狀好,其實這個形狀的還有tanh正切函數(輸出在[-1,1]而不是(0,1)):

那麼爲何sigmoid使用更普遍呢?由於它有一個極好的求導性質:

f(z)=1/(1+exp(-z))

f'(z)=f(z)(1-f(z))

這個性質在訓練神經網絡的BP算法中使咱們能夠快速計算sigmoid函數的梯度,因此sigmoid函數在神經網絡中使用更普遍。

【參考】http://neuralnetworksanddeeplearning.com/index.html

相關文章
相關標籤/搜索