一、sigmod function出現的必要性:
為什麼不直接用stage function?在feedback時,假如說我們現在用的是stage function,直接用樓梯式的跳躍函式,我們每次做很小的引數改動時。如果說這個之前這個引數使函式值落在0-1 改變的那一塊區域,即便我們做的change很小,但是很有可能直接導致函式最後的0改為1 ,假如這只是輸入層改變為1 ,但是這個1 的改變會影響後續太多的網路結構,也就是說stage function會使網路波動過大。而sigmod函式的平滑性會很好地改變這一情況。
二、既然神經元最後可以表示為0 1 ,那麼為什麼神經網路的表示不能用類似於二進位制的神經元直接代替?16個結果用4個神經元不就可以表示了麼?
我們可以這麼想,假如我們用的是tensorflow裡那個mnist(是這麼拼吧),乙個數字手寫集合。現在我們用3層神經網路來訓練,那麼我們可以這麼想,我們第二層用四個神經元來做隱藏層,這四個隱藏層是表示什麼呢?那0 來做乙個例子,把乙個從中間用兩條互相垂直的線分為四個部分,我們可以用訓練集找出手寫0在這四個部分的分布,在其應該有的畫素(對應到輸入層的每個單元)上加很大的權重,這樣對於0 我們就可以得到乙個輸入在0上的得分,大於0.5我們就可以將其判斷為0。但是注意,如果我們用四個神經元(2**4 = 16 > 10 )來表示結果可行麼?我們知道乙個二進位制數字,必須聯合起來才能正確地表示乙個數字,但是這裡的情況,每個output對應的得分都是相互獨立的。他們沒有辦法使其聯合起來。10個output 只能用10個神經原來表示,而不採用十進位制。
機器學習,深度學習,神經網路,深度神經網路
先來說一下這幾者之間的關係 人工智慧包含機器學習,機器學習包含深度學習 是其中比較重要的分支 深度學習源自於人工神經網路的研究,但是並不完全等於傳統神經網路。所以深度學習可以說是在傳統神經網路基礎上的公升級。神經網路一般有輸入層 隱藏層 輸出層,一般來說隱藏層大於2的神經網路就叫做深度神經網路,深度...
深度學習 深度神經網路
神經網路是由乙個個神經元相互連線並按層次排列構成的,深度神經網路是有任意層的神經網路,這裡的深度是指層次的多,而不是神經元數量的多。有任意層,那麼就要有乙個迴圈來負責遍歷每一層進行計算。所以深度神經網路的計算形式,就必須要適應這個迴圈結構。我們先來說說神經元吧 對於多神經元神經網路,其實也是一樣的。...
神經網路和深度學習 淺層神經網路
乙個淺層神經網路示意圖 如圖所示,表示乙個單隱層的網路結構。這裡主要需要注意的是,層與層之間引數矩陣的規格大小 隱藏層和輸出層之間 由上面我們可以總結出,在神經網路中,我們以相鄰兩層為觀測物件,前面一層作為輸入,後面一層作為輸出,兩層之間的w引數矩陣大小為 n out,nin b引數矩陣大小為 n ...