Neural-Networks

卷積神經網絡中最終 Softmax 層之前的非線性

  • July 29, 2015

我正在研究並嘗試實現卷積神經網絡,但我想這個問題一般適用於多層感知器。

我的網絡中的輸出神經元代表每個類的激活:最活躍的神經元對應於給定輸入的預測類。為了考慮訓練的交叉熵成本,我在網絡末端添加了一個 softmax 層,以便將每個神經元的激活值解釋為概率值。

我的問題是:輸出層中的神經元是否應該對輸入應用非線性函數?我的直覺是沒有必要:

  • 如果輸入到-th 輸出神經元是點積向量之間(來自上一層)和權重對於那個神經元,
  • 如果我使用像 sigmoid 或 ReLU 這樣的單調非線性函數
  • 那麼較大的激活輸出仍將對應於最大的,所以從這個角度來看,非線性函數不會改變預測。

這種解釋有問題嗎?是否有一些我忽略的訓練因素使輸出非線性成為必要?

如果我是對的,如果我使用 ReLU 而不是使用 sigmoid 函數,會有什麼改變嗎

函數,哪個不是嚴格單調的? 編輯

參考卡雷爾的回答,他的回答基本上是“取決於”,這裡是對我的網絡和疑問的更詳細描述:

假設我有 N 個隱藏層,而我的輸出層只是代表類的一組神經元上的 softmax 層(所以我的預期輸出是輸入數據屬於每個類的概率)。假設前 N-1 層具有非線性神經元,那麼在第 N 個隱藏層中使用非線性神經元與線性神經元有什麼區別?


您不應該在 softmax 分類之前的最後一層使用非線性。在這種情況下,ReLU 非線性(現在幾乎完全使用)將簡單地丟棄信息而不會增加任何額外的好處。您可以查看著名的 AlexNet的caffe 實現,以了解在實踐中所做的工作。

引用自:https://stats.stackexchange.com/questions/163695

comments powered by Disqus