深度学习中的正则化与先进CNN架构解析
1. 正则化方法
在深度学习中,为了提升模型的性能和鲁棒性,避免过拟合,常使用一些正则化方法,下面介绍两种常见的方法。
1.1 Dropout
Dropout是一种能同时训练多个模型的低成本解决方案。在测试阶段,网络不应用Dropout,此时网络的预测可看作是部分模型结果的组合,这种信息平均化能防止网络过拟合。
在TensorFlow和Keras中,Dropout有两种调用方式:
- 作为函数:通过 tf.nn.dropout(x, rate, ...) 直接获取随机丢弃值的张量,具体文档可参考 这里 。
- 作为层:通过 tf.keras.layers.Dropout() 添加到神经网络模型中,文档参考 这里 。默认情况下, tf.keras.layers.Dropout() 仅在训练阶段(当层或模型使用 training=True 参数调用时)应用,其他情况下不做任何更改地传递值。
Dropout层应直接添加在需要防止过拟合的层之后,例如在Keras中对全连接层应用Dropout(比率为0.2)的代码如
超级会员免费看
订阅专栏 解锁全文
320

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



