面试官问:Dropout如何保证训练和预测阶段的一致性?


面试官问:Dropout如何保证训练和预测阶段的一致性?

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

Dropout如何保证训练和预测阶段的一致性???
Dropout通过调整训练和预测阶段的神经元输出期望确保两者一致性,实现方式主要有以下两种策略:
在训练时,随机失活部分神经元后,对保留的神经元的输出进行缩放。具体来说,若神经元保留的概率为1-p,则将其输出值乘以1/(1-p),使得输出期望与未使用Dropout时一致。
数学推导:
假设原始输出为,保留概率为1-p,则训练时输出期望为(1-p)·x
缩放后输出变为
此时期望为
与无Dropout时的期望一致。
测试阶段,无需调整神经元输出,直接使用完整网络。
在训练时不调整输出,但在预测时将权重统一乘以保留概率1-p。例如,若训练时以概率p=0.5随机失活神经元,测试时所有神经元的权重需乘以0.5.
缺点:
需在推理时修改模型参数,增加了部署复杂度。因此,现代框架(如PyTorch)普遍采用InvertedDropout将缩放操作集中在训练阶段。
集成学习视角:Dropout相当于在每次选代中训练不同的子网络,最终预测时通过期望一致性隐式地对这些子网络取平均。
正则化效果:通过破坏神经元间的固定依赖关系迫使网络学习鲁棒特征,类似L2正则化。
无论是通过训练阶段还是预测阶段的缩放,Dropout的核心都是保持输出期望的一致性。现代实现更倾向于InvertedDropout(训练阶段缩放),因其简化了推理过程,且无需修改模型权重。
星球旨在分享AI算法岗&开发岗的秋招准备攻略、心得体会、内推机会等。涉及深度学习,机器学习,计算机视觉,自然语言处理,SLAM,大数据,数据分析,自动驾驶,C/C++,Java等方向。群主和嘉宾既有往届参加校招拿到Offer(含BAT/独角兽等大厂Offer),也有已经毕业工作的算法研究员/工程师和软开工程师。…
星球非免费。定价50元/年,0.136元/天。(每+100人,+20元。元老福利~)
一是运行有成本,我希望它能自我闭环,这样才能长期稳定运转;
二是对人的挑选,鱼龙混杂不是我想要的,希望找到关注和热爱AI的人。
欢迎你的加入!


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录