深度学习网络调优与参数调整策略
1. 损失函数的选择
在深度学习中,对于不同的分类问题,合适的损失函数至关重要。对于二元分类问题,我们可以使用交叉熵损失函数。在TensorFlow中,使用Keras时,只需在 compile 函数中指定 loss='binary_crossentropy' 即可。示例代码如下:
model.compile(loss='binary_crossentropy',
optimizer = optimizer_type,
metrics =['accuracy'])
对于多分类问题,则使用分类交叉熵损失函数,在TensorFlow里指定 loss='categorical_crossentropy' 。
2. 避免隐藏层梯度消失的激活函数
之前我们讨论了通过选择不同的损失函数来解决输出层神经元饱和的问题,但这对隐藏层并无帮助。隐藏层神经元仍可能饱和,导致导数接近0,出现梯度消失的情况。
早期的激活函数如tanh和逻辑sigmoid函数,是从早期的神经元模型发展而来,并且要求激活函数可微。然而,当这些函数的导数为0时,即使可微也没有太大作用。
因此,我们有必要探索其他激活函数:
- 修正线性单元(ReLU) :它在神经网络中表现良好。虽然在x = 0处不可微,但我们可以将该点的导数定义为1,从而在反
超级会员免费看
订阅专栏 解锁全文
4736

被折叠的 条评论
为什么被折叠?



