nn.dropout()是为了防止或减轻过拟合而使用的函数,它一般用在全连接层
Dropout就是在不同的训练过程中随机扔掉一部分神经元。也就是让某个神经元的激活值以一定的概率p,让其停止工作,这次训练过程中不更新权值,也不参加神经网络的计算。但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了
注意:pytorch的p和TensorFlow的keep_prob
代表的正好相反
dropout常常用于抑制过拟合,pytorch也提供了很方便的函数。但是经常不知道dropout的参数p
是什么意思。在TensorFlow中p
叫做keep_prob
,就一直以为pytorch中的p
应该就是保留节点数的比例,但是实验结果发现反了,实际上表示的是不保留节点数的比例。
【机器学习基础|nn.dropout()的用法,随机失活】
推荐阅读
- 目标检测|【YOLOv5-6.x】网络模型&源码解析
- python基础|torchvision.datasets.ImageFolder使用详解
- PyTorch|使用随机梯度下降SGD的BP反向传播算法的PyTorch代码实现
- Pytorch猫狗大战|Kaggle猫狗大战——基于Pytorch的CNN网络分类(预测模型结果(4))
- JieJie的学习记录|基于pytorch的CNN猫狗图分
- #|【进阶篇】全流程学习《20天掌握Pytorch实战》纪实 | Day02 | 图片数据建模流程范例
- YOLOv5|【YOLOv5-6.x】通过设置可学习参数来结合BiFPN
- 深度学习|(超详细) Gradient Descent(梯度下降)和Back propagation(反向传播)的关系
- 学习|学习笔记(深度学习(2)——BP神经网络)