CS231N 4 神經網路

2022-03-09 06:57:05 字數 1112 閱讀 2805

1. sigmoid

​ sigmoid將輸入實數值「擠壓」到0到1範圍內。更具體地說,很大的負數變成0,很大的正數變成1。它對於神經元的啟用頻率有良好的解釋:從完全不啟用到在求和後的最大頻率處的完全飽和(saturated)的啟用。然而現在sigmoid函式實際很少使用了,這是因為它有兩個主要缺點:

2. tanh

​ 將實數值壓縮到[-1,1]之間。和sigmoid神經元一樣,它也存在飽和問題,但是和sigmoid神經元不同的是,它的輸出是零中心的。因此,在實際操作中,tanh非線性函式比sigmoid非線性函式更受歡迎。tanh神經元是乙個簡單放大的sigmoid神經元,具體說來就是:

。3. relu

​ 函式公式是

。,這個啟用函式就是乙個關於0的閾值(如上圖左側)。使用relu有以下一些優缺點:

1.命名規則

​ 當我們說n層神經網路的時候,我們沒有把輸入層算入。因此,單層的神經網路就是沒有隱層的(輸入直接對映到輸出)。

2. 輸出層

​ 和神經網路中其他層不同,輸出層的神經元一般是不會有啟用函式的(或者也可以認為它們有乙個線性相等的啟用函式)。這是因為最後的輸出層大多用於表示分類評分值,因此是任意值的實數,或者某種實數值的目標數(比如在回歸中)。

3. 表達能力

擁有至少乙個隱層的神經網路是乙個通用的近似器。給出任意連續函式和任意,均存在乙個至少含1個隱層的神經網路

(並且網路中有合理選擇的非線性啟用函式,比如sigmoid),對於

,使得。換句話說,神經網路可以近似任何連續函式。

​ 既然乙個隱層就能近似任何函式,那為什麼還要構建更多層來將網路做得更深?

​ 答案是:雖然乙個2層網路在數學理論上能完美地近似所有連續函式,但在實際操作中效果相對較差。神經網路在實踐中非常好用,是因為它們表達出的函式不僅平滑,而且對於資料的統計特性有很好的擬合。同時,網路通過最優化演算法(例如梯度下降)能比較容易地學習到這個函式。類似的,雖然在理論上深層網路(使用了多個隱層)和單層網路的表達能力是一樣的,但是就實踐經驗而言,深度網路效果比單層網路好。

4.層的尺寸

​ 盡可能使用大網路,然後用正則化技巧來控制過擬合。

cs231n筆記04 神經網路訓練(上)

主要有三種預處理形式。均值減法,每個特徵減去平均值,使每個維度中心移到原點。歸一化,使資料在各個維度規模差不多。如果是0中心的,可以用資料除它的標準差,另一種形式是最大最小歸一化,使資料在 1,1 pca和白化。首先,將資料中心化,再計算資料協方差矩陣。協方差矩陣svd分解,u的列是特徵向量,將已經...

CS231N 7 卷積神經網路

1.assignments2 test the affine forward function num inputs 2 input shape 4,5,6 output dim 3 input size num inputs np.prod input shape weight size outp...

cs231神經網路學習筆記

簡介 相比於線性分類中的s w x,其中w是乙個矩陣,x是乙個列向量,包含影象的全部畫素資訊。它們相乘的直接結果就是得到乙個得分向量。像資料庫cifar 10的案例中w是乙個10 3072的矩陣,x是乙個3072 1的向量,他們的結果就是得到10 1的得分向量 神經元則不同,它的計算法則是 其中的w...