目的:防止过拟合,般用在线性层和卷积层后面

基础知识:伯努利分布(Bernoulli distribution)又名两点分布或0-1分布

  • AlphaDropout
    • AlphaDropout是一种保持 self-normalizing 属性的Dropout。对于一个0均值和单位标准差的输入,AphaDropout的输出保持输入的均值和标准差不变。
    • AlphaDropout和SELU激活函数一起使用,保证了输出是0均值和单位标准差。
    • 训练过程中,AlphaDropout会以从伯努利分布中采样到的概率p使一些元素置零。每次前向调用过程中,保留的元素都是随机且会进行缩放和移位以保持0均值和单位标准差。
    • 在评估过程中该模块都是仅仅计算一个恒等函数(评估过程中不进行Dropout)。
    • 更多细节可在论文Self-Normalization Neural Networks(https://arxiv.org/abs/1706.02515)中找到。
    • 参数
      • p - 元素被置零的概率,默认为0.5
      • inplace - 如果设置为True,将会就地执行该操作
    • 形状
      • 输入:输入可以是任意形状
      • 输出:输出和输入的形状相同

对输入施加Alpha Dropout, 是一种保持输入均值和方差不变的Dropout,该层的作用是即使在dropout时也保持数据的自规范性。 通过随机对负的饱和值进行激活。

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐