Neural-Networks
卷積神經網絡中最終 Softmax 層之前的非線性
我正在研究並嘗試實現卷積神經網絡,但我想這個問題一般適用於多層感知器。
我的網絡中的輸出神經元代表每個類的激活:最活躍的神經元對應於給定輸入的預測類。為了考慮訓練的交叉熵成本,我在網絡末端添加了一個 softmax 層,以便將每個神經元的激活值解釋為概率值。
我的問題是:輸出層中的神經元是否應該對輸入應用非線性函數?我的直覺是沒有必要:
- 如果輸入到-th 輸出神經元是點積向量之間(來自上一層)和權重對於那個神經元,
- 如果我使用像 sigmoid 或 ReLU 這樣的單調非線性函數
- 那麼較大的激活輸出仍將對應於最大的,所以從這個角度來看,非線性函數不會改變預測。
這種解釋有問題嗎?是否有一些我忽略的訓練因素使輸出非線性成為必要?
如果我是對的,如果我使用 ReLU 而不是使用 sigmoid 函數,會有什麼改變嗎
函數,哪個不是嚴格單調的? 編輯
參考卡雷爾的回答,他的回答基本上是“取決於”,這裡是對我的網絡和疑問的更詳細描述:
假設我有 N 個隱藏層,而我的輸出層只是代表類的一組神經元上的 softmax 層(所以我的預期輸出是輸入數據屬於每個類的概率)。假設前 N-1 層具有非線性神經元,那麼在第 N 個隱藏層中使用非線性神經元與線性神經元有什麼區別?
您不應該在 softmax 分類之前的最後一層使用非線性。在這種情況下,ReLU 非線性(現在幾乎完全使用)將簡單地丟棄信息而不會增加任何額外的好處。您可以查看著名的 AlexNet的caffe 實現,以了解在實踐中所做的工作。