我们可以为神经网络的隐藏层和输出层使用不同的激活函数吗?使用这种方案有什么明显的好处吗?
对于网络的最后一层,激活单元也取决于任务。
- 分类:您只希望您的一个输出是标签之一,但没有可微分的方法来精确实现这一点,因此您需要使用softmax来近似它
- 回归:您希望使用sigmoid或tanh激活,因为您希望结果是线性的。使用sigmoid和tanh,输出将在0和1之间缩放。因此将很容易进行优化
对于中间层,现在大多数人都使用daysRelu,因为它的计算速度更快,而且在反向传播中不会提前消失。
简而言之,是的,你可以。使用sigmoid函数作为隐藏层激活是一种常见的方法,以确保非线性特征,并在为特定任务选择的输出中激活(取决于您试图建模的内容和使用的成本函数)。
如果你正在实现预测任务而不是分类,你可以在输出层使用线性组合,因为sigmoid函数将你的输出范围限制为(0,1),这通常应用于基于阈值的分类问题。