nn.Dropout用于随机丢弃神经元的方法
发布时间
阅读量:
阅读量
前言:
在pytorch以及tensorflow这两个深度学习框架中,均提供了nn.dropout这一功能模块,其具体应用方式存在一定的异同之处,以下将对相关内容进行详细说明。
一、torch.nn.dropout
在模型训练阶段,按照伯努利分布以概率p随机对输入数据中的部分元素进行置零操作,且每个通道在每次前向传播时均独立执行该过程。
此策略已被证实是一种行之有效的正则化手段,能够避免特征检测器之间的协同适应现象,相关论述可参考文献 "Improving neural networks by preventing co-adaptation of feature detectors"。
与此同时,在训练过程中输出的尺度比例为:*math:frac{1}{1-p}【a1(1-p)=a
1.1对于一维度向量的dropout
import torch
a = torch.randn(10)
p = 0.3 # probability of an element to be zeroed
Dropout = torch.nn.Dropout(p)
a1 = Dropout(a)
print(a)
print(a1)
全部评论 (0)
还没有任何评论哟~
