我正在訓練一個神經網絡數據,它以負值&正值表示。ReLU可以處理負面輸入嗎?
有什麼方法可以將數據輸入到ReLU網絡中,而不必將其全部轉換爲正數,並有單獨的輸入來說明數據是負數還是負數?
我看到的問題是,在輸入層的負輸入意味着除非你已經初始化你的權重爲負值,否則ReLU節點永遠不會被激活並永遠死亡。
我正在訓練一個神經網絡數據,它以負值&正值表示。ReLU可以處理負面輸入嗎?
有什麼方法可以將數據輸入到ReLU網絡中,而不必將其全部轉換爲正數,並有單獨的輸入來說明數據是負數還是負數?
我看到的問題是,在輸入層的負輸入意味着除非你已經初始化你的權重爲負值,否則ReLU節點永遠不會被激活並永遠死亡。
如果你真的在輸入層使用激活函數,我會建議使用ELU等其他激活函數,或者將數據轉換到範圍[0,1]。 如果ReLU函數位於某個隱藏層中,則ReLU函數應該只是暫時失效。
假設您在前饋網絡的最後一個隱藏層中具有ReLU功能。使用反向傳播算法,應該有可能改變先前隱藏層的輸出,使得最終ReLU函數的輸入再次變爲正值。那麼ReLU不會再死了。有可能是我在這裏失去了一些東西。
無論如何,你一定要給ELU一試!與ReLU相比,我獲得了更好的結果。
對不起,沒有在輸入層,但第一層。由於ReLU權重從小的正值開始初始化,因此它幾乎迫使我的ReLU始終輸出0.我嘗試使用Leaky ReLU,但它不起作用。但我想這是一個單獨的問題,因爲從概念上講,泄漏的ReLU應該起作用。 鏈接到新問題... http://stackoverflow.com/questions/43371117/relu-not-learning-to-handle-negative-inputs-keras-tensorflow –