zoukankan      html  css  js  c++  java
  • 深度学习面试题14:Dropout(随机失活)

    目录

      卷积层的dropout

      全连接层的dropout

      Dropout的反向传播

      Dropout的反向传播举例

      参考资料


    在训练过程中,Dropout会让输出中的每个值以概率keep_prob变为原来的1/keep_prob倍,以概率1-keep_prob变为0。也就是在每一轮的训练中让一些神经元随机失活,从而让每一个神经元都有机会得到更高效的学习,会让网络更加健壮,减小过拟合。

    在预测过程中,不再随机失活,也不在扩大神经元的输出。

    卷积层的dropout

    举例:以一个2*4的二维张量为例,参数keep_prob=0.5,其过程如下:

     返回目录

    全连接层的dropout

    Dropout处理一般用在全连接神经网络的全连接层或者卷积网络后面的全连接层。

    举例:以全连接网络的某一层为例,参数keep_prob=0.5,每一轮训练对隐藏层的输出做dropout,其过程如下:

    隐藏层的激活函数为σ(x)=x

     返回目录

    Dropout的反向传播

    以一个回归案例为例

    其中z2神经元会失活,通过如下图的链式法则发现,此轮更新过程中,与失活神经元相连的边上的权重都不会被训练,因为他们的偏导数都=0.

     返回目录

    Dropout的反向传播举例

    举例:dropout的概率p=0.5,激活函数为σ(x)=x,网络结构如下:

     

    假设某样本x的值是3,标签是0.5,训练一个回归模型,因为有dropout的存在,会出现不同的更新情况,下面演示使用样本x反复训练网络,更新网络的过程:

    第一轮(假设dropout(z)=2z):

     

     

    第二轮(假设dropout(z)=0):

     

    第三轮(假设dropout(z)=2z):

     返回目录

    参考资料

    《图解深度学习与神经网络:从张量到TensorFlow实现》_张平

     返回目录

  • 相关阅读:
    机器视觉
    视觉感知
    计算机视觉
    模板匹配
    Kinect
    手势识别
    三维重建
    单元化理解
    [面试经] Java
    [面试经]Java中final、finally、finalize有什么不同?
  • 原文地址:https://www.cnblogs.com/itmorn/p/11203587.html
Copyright © 2011-2022 走看看