在人工神經網絡中,節點的激活函數是計算節點輸出的一個關鍵成分,該輸出取決於其各個輸入及其權重。這些激活函數的紀錄,可以決定是否能用較少的節點解決複雜的問題。
現代的激活函數包括邏輯函數(sigmoid)、ReLU(Rectified Linear Unit)以及光滑版的ReLU,GELU(Gaussian Error Linear Unit)等。
隨著技術的進步,特定的激活函數在不同的模型中得到了應用。例如,2012年Hinton等人開發的語音辨識模型使用了邏輯函數,而2012年的AlexNet和2015年的ResNet模型則是靠ReLU架構來進行電腦視覺任務。此外,2018年的BERT模型則使用了GELU,這些不同的激活函數在不同任務中的表現引發了廣泛的討論。
除了實際表現外,各種激活函數在數學上也有不同的特性,例如偏非線性和連續可微性。非線性激活函數使得兩層神經網絡能夠被證明為通用函數逼近器,而線性激活函數則無法滿足這一特性。當多層使用線性激活函數時,整個網絡相當於單層模型。
當激活函數的範圍是有限的時候,基於梯度的訓練方法通常會更加穩定,因為模式的展示只會顯著影響有限的權重。
然而當激活函數的範圍是無限的時,訓練的效率通常會更高,因為模式的展示幾乎影響所有的權重。這種情況下,通常需要較小的學習率。
當下最常見的激活函數可以分為三類:山脊函數、徑向函數和折疊函數。
非飽和激活函數(如ReLU)相對於飽和激活函數可能更具優勢,因為前者不太容易受到消失梯度問題的影響。
山脊激活函數是作用於輸入變量線性組合的多變量函數。常見範例包括線性激活、ReLU激活和邏輯激活等。這些函數不僅受到生物啟發,同時也模擬細胞的動作電位的發射率。
若一條線的斜率為正,那麼它能反映輸入電流增加時的發放頻率。
徑向基函數(RBF)是另一類激活函數,主要用於RBF網絡。它們可以採用多種形式,其中最常見的有高斯函數和多平方差函數等。
除了上述函數,週期性函數如正弦函數也可以用作激活函數,因為任何周期性函數都可以通過傅里葉變換分解成正弦波的線性組合。此外,折疊激活函數在卷積神經網絡的池化層中,以及多類分類網絡的輸出層中被廣泛使用,例如softmax激活函數。
在量子神經網絡中,激活函數的非線性可以在不需要對每一層的每個感知器的輸出進行測量的情況下實現。
量子電腦的特性使得設計這樣的量子電路變得可能,這些電路可以用於近似任何任意的經典激活函數。
激活函數的選擇對於神經網絡的表現至關重要,未來的研究可能會探索更多尚未發掘的激活函數,這會如何影響整個神經網絡的效果呢?