MLP中实现dropout,批标准化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MLP中实现dropout,批标准化相关的知识,希望对你有一定的参考价值。

参考技术A 批标准化是添加在激活函数之前,使用标准化的方式将输入处理到一个区域内或者近似平均的分布在一个区域内
在pytorch中,使用 torch.nn.BatchNorm1/2/3d() 函数表示一个批标准化层,使用方法与其它层类似

与不使用批标准化的网络(准确率93%左右)相比,使用批标准化的网络准确率由明显的提高

dropout是一种常见的防止过拟合的方法,通过将网络中的神经元随机的置0来达到防止过拟合的目的
pytorch中使用 torch.nn.Dropout() 和 torch.nn.Dropout2/3d() 函数构造,且该层只在训练中起作用,在预测时dropout将不会工作

可以看到,dropout对于系统性能的还是有比较大的影响的,对于这种微型网络来说,泛化能力的提升并不明显

当批标准化和dropout同时存在时,这两个层次的相互位置该如何考虑

以上是关于MLP中实现dropout,批标准化的主要内容,如果未能解决你的问题,请参考以下文章

辍学和批量标准化 - 层的顺序重要吗?

如何在 Pytorch 中实现 dropout,以及在哪里应用它

神经网络ANN分类器及OpenCV实现

如何在类中实现标准迭代器

如何将变量传递给已经在 R 的参数中实现非标准评估的函数?

在 R 中实现标准软件设计模式(专注于 MVC)