如果不用非線性激勵函式(其實相當於激勵函式是f(x)=x),每一層輸出都是上層輸入的線性函式,無論該神經網路多少層,輸出都是輸入的線性組合,與沒有隱藏層效果一樣,即為最原始的感知機了。
1. 對於深層網路,sigmoid函式反向傳播時,很容易出現梯度消失,從而無法完成深層網路的訓練。
2. relu會使神經元的一部分輸入不產生作用,這樣就有了輸入神經元的稀疏效果,緩和了過擬合問題的發生。
3. 採用sigmoid等函式時,算啟用函式時(指數運算),計算量大,求導涉及除法,計算量相對大,而採用relu啟用函式,整個過程的計算量節省很多。
如果區域性感知域為5*5,那麼每個隱藏層的神經元有乙個5*5的權值,並且該隱藏層的所有神經元對應的權值都是相同的,並共享乙個bias。即使用同乙個引數矩陣weights和乙個bias。這意味著這乙個隱藏層的所有神經元都是檢測同乙個特徵,只不過它們位於的不同位置而已。
共享權重和bias的一大好處是它極大的減少了網路引數數量,對於每個特徵對映,只需要5*5個權重,再加乙個bias。
池化層放在卷積層的後面,池化層的目的是簡化從卷積層輸出的資訊,更具體一點,乙個池化層把卷積層的輸出作為其輸入並輸出乙個更緊湊的特徵對映。
常用池化操作:
max-pooling:若池化層區域為2×2,則選擇2×2區域裡啟用值最大的值,因此可以把max-pooling看成神經網路關心某個特徵在這個區域是否出現,但不關心特徵的精確位置。
l2-pooling:對2×2區域的每個值平方然後求和後取平方根。
dropout是一種防止模型過擬合的技術。它的基本思想是在訓練的時候隨機的dropout(丟棄)一些神經元的啟用,這樣可以讓模型更魯棒,因為它不會太依賴某些區域性的特徵(因為區域性特徵有可能被丟棄)。被dropout的節點可以暫時認為不是網路結構的一部分,但是它的權重得儲存下來(只是暫時不更新),因為下次樣本輸入時它可能又得工作了
dropout的本質是規則化,防止過擬合。訓練過程中某幾個權重引數隨機為0,下次訓練過程中又有幾個權重引數隨機為0,但每次訓練都能得到一樣的結果,也就是被dropout的權重引數可被其它權重引數替代,那麼多次訓練後引數比較均衡,也就起了規則化的作用。
pooling的本質是降維。
mse:在多層網路中存在梯度消失的問題。
交叉熵:用於度量兩個概率分布之間的相似性。為了解決引數更新效率下降這一問題,我們使用交叉熵代價函式替換傳統的平方誤差函式。
k-l散度
全連線層(fully connected layers,fc)在整個卷積神經網路中起到「分類器」的作用。如果說卷積層、池化層和啟用函式層等操作是將原始資料對映到隱層特徵空間的話,全連線層則起到將學到的「分布式特徵表示」對映到樣本標記空間的作用。
cnn最成功的應用是在cv,那為什麼nlp和speech的很多問題也可以用cnn解出來?為什麼alphago裡也用了cnn?這幾個不相關的問題的相似性在**?cnn通過什麼手段抓住了這個共性?
以上幾個不相關問題的相關性在於,都存在區域性與整體的關係,由低層次的特徵經過組合,組成高層次的特徵,並且得到不同特徵之間的空間相關性。
cnn抓住此共性的手段主要有四個:區域性連線/權值共享/池化操作/多層次結構。
區域性連線使網路可以提取資料的區域性特徵;權值共享大大降低了網路的訓練難度,乙個filter只提取乙個特徵,在整個(或者語音/文字) 中進行卷積;池化操作與多層次結構一起,實現了資料的降維,將低層次的區域性特徵組合成為較高層次的特徵,從而對整個進行表示。
資料集太小,資料樣本不足時,深度學習相對其它機器學習演算法,沒有明顯優勢。
資料集沒有區域性相關特性,目前深度學習表現比較好的領域主要是影象/語音/自然語言處理等領域,這些領域的乙個共性是區域性相關性。影象中畫素組成物體,語音頻號中音位組合成單詞,文字資料中單詞組合成句子,這些特徵元素的組合一旦被打亂,表示的含義同時也被改變。對於沒有這樣的區域性相關性的資料集,不適於使用深度學習演算法進行處理。舉個例子:**乙個人的健康狀況,相關的引數會有年齡、職業、收入、家庭狀況等各種元素,將這些元素打亂,並不會影響相關的結果。
理解神經網路
了解了什麼是神經單元,就很容易理解神經網路,神經網路就是一系列神經單元連線而成構成的網路結構,如下圖 這是乙個5層神經網路,包括輸入層和輸出層,輸入層也叫做資料層,一般接收資料的輸入。這裡每一層的神經單元都與相鄰層的神經單元連線,而與本層的神經單元無連線,因此也叫全連線神經網路。使用神經網路訓練影象...
神經網路 神經網路中的矩陣的理解
在 深度學習入門 基於python的理論與實現 書中,看到講解矩陣的章節,加深了我對矩陣的理解。脫離應用理解數學是很難的。將矩陣放在深度學習的環境裡可以較好的理解矩陣的含義。這裡假設你已經學過矩陣。對於神經網路,我更傾向於理解為 因素 輸入層 影響因子 權重 結果 輸出層 這更貼近實際中的因果關係。...
神經網路基本概念
mcculloch 精神病學家和解剖學家 和pitts 數學家 在1943年,發表第乙個系統的ann研究 閾值加權和 m p 數學模型。bp back propagation 神經網路,是指誤差的後向傳播,修正權值矩陣,達到訓練模型。1 弱點 訓練速度非常慢 區域性極小點的逃離問題 演算法不一定收斂...