ReLU 是一个激活函数,定义为在哪里.
通常,我们使用 SGD、Adam、RMSprop、Adadelta 或 Adagrad 等一阶方法训练神经网络。一阶方法中的反向传播需要一阶导数。因此派生为.
但是如果我们使用二阶方法,ReLU 的导数会是 ? 因为派生为 并再次派生为 . 会不会是错误?例如,使用牛顿法,您将除以. (我还不太了解无 Hessian 优化。IIRC,这是使用近似 Hessian 而不是真正的 Hessian 的问题)。
这个有什么效果 ? 我们还能用二阶方法用 ReLU 训练神经网络吗?还是不可训练/错误(nan/infinity)?
为了清楚起见,这是 ReLU :