dropout函数详解及反向传播中的梯度求导 |
您所在的位置:网站首页 › 函数求导的作用是 › dropout函数详解及反向传播中的梯度求导 |
摘要
本文给出 dropout 函数的定义, 并求解其在反向传播中的梯度 相关配套代码, 请参考文章 : Python和PyTorch对比实现dropout函数及反向传播 系列文章索引 : https://blog.csdn.net/oBrightLamp/article/details/85067981 正文 1. dropout 的概念深度神经网络结构的过拟合是指 : 在训练集上的正确率很高, 但在测试集上的准确率很低. 为了缓解网络过拟合的问题, 其中一种常见的办法是使用 dropout 函数. dropout 是指在深度网络的训练中, 以一定的概率随机地 “临时丢弃” 一部分神经元节点. 具体来讲, dropout 作用于每份小批量训练数据, 由于其随机丢弃部分神经元的机制, 相当于每次迭代都在训练不同结构的神经网络. – 摘抄自 dropout 前网络结构示意 : 图片来源 : https://www.jianshu.com/p/2c6978b4bf74 dropout 后网络结构示意 : 图片来源 : https://www.jianshu.com/p/2c6978b4bf74 2. dropout 的作用dropout 最直接的作用就是可以提升模型的泛化能力, 提高模型的健壮性, 提高通用性. 如何理解 ? 假设某公司存在一个职能稳定, 合理分工团队. 因为某些不可避免的原因, 该团队的成员每天都有 50% 概率不能参与工作. 为了完成任务, 需要其他同事加班完成缺席员工任务. 一段时间后, 该团队的成员普遍学会了其他同事的相关工作技能. 于是, 该团队拥有了更好的泛化能力. 3. 训练过程中的 dropout为了定义 dropout, 我们需要一个随机数生成函数 rand(), 每一次调用都会重新生成一个0~1之间的小数 : 0 ⩽ r a n d ( ) ; 1    0\leqslant rand() ; 1 \;\\ 0⩽rand()0,1/(1−p),ri |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |