pytorch dropout 置零 + 补偿性放缩
最佳答案 问答题库1038位专家为你答疑解惑
一句话概括:(训练过程中)Dropout 操作 = 随机置零 + 非置零元素进行后补偿性放缩。以保证dropout前后数据scale不变。
详细解释(来自chatgpt):
在 PyTorch 中,dropout 的操作不仅仅是将某些元素置零。为了确保期望输出在训练和测试时保持一致,当应用 dropout 时,被保留的元素会按 (1 / (1 - p)) 进行缩放,其中 p 是 dropout 的概率。
具体来说,如果有一个神经元的输出值为 x 并且你应用了 dropout 操作(设定概率 p),那么在训练期间,这个值 x 有 p 的概率会被置为 0,而有 1-p 的概率会被乘以 1 / (1 - p)。这样的设计是为了确保整体输出的期望值在训练时和测试时(dropout 被关闭)保持一致。
例如,假设 p=0.5,则有一半的机会让 x 变为0,而另一半的机会让 x 变为 2x(因为 1 / (1 - 0.5) = 2)。这样,期望的输出值是 (0.5 * 0 + 0.5 * 2x) = x,与原始的 x 相匹配。
所以,在 PyTorch 的 dropout 操作中,除了置零外,还会对保留的元素进行缩放。
ps: 其实这个设置,在dropout论文里是有阐述的,并不是一个technical trick.
pytorch中的函数介绍
torch.nn.Dropout
中对scale操作有介绍,F.dropout
里没提,但是其实二者都用了scale。!过分
99%的人还看了
相似问题
- 人工智能基础_机器学习044_使用逻辑回归模型计算逻辑回归概率_以及_逻辑回归代码实现与手动计算概率对比---人工智能工作笔记0084
- 基于人工大猩猩部队算法优化概率神经网络PNN的分类预测 - 附代码
- 人工智能基础_机器学习046_OVR模型多分类器的使用_逻辑回归OVR建模与概率预测---人工智能工作笔记0086
- 基于混沌博弈算法优化概率神经网络PNN的分类预测 - 附代码
- 机器学习技术栈—— 概率学基础
- 大数据HCIE成神之路之数学(3)——概率论
- 人工智能基础_机器学习044_逻辑回归代码实现与手动计算概率---人工智能工作笔记0084
- 基于供需算法优化概率神经网络PNN的分类预测 - 附代码
- 基于适应度相关算法优化概率神经网络PNN的分类预测 - 附代码
- n-gram语言模型——句子概率分布计算与平滑
猜你感兴趣
版权申明
本文"pytorch dropout 置零 + 补偿性放缩":http://eshow365.cn/6-34892-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: socket编程中的EINTR是什么?
- 下一篇: OpenCV入门4:ROI区域操作