您的位置:首页 > 理论基础

斯坦福CS231n计算机视觉-神经网络的随机失活

2018-10-29 11:08 561 查看

具体操作:对于一个三层网络来说,就是每次每层计算输出,以一定概率乘以一个掩码0,一般为50%,从而让一半的输出无效化,对于被选中的节点,就相当于失活了。

那么为什么要随机失活?

解释一:

避免过拟合

一个猫的特征是多种的,但有时候某些特征过于明显导致其他特征不明显,从而抑制了其他特征的在网络中的表述,这就是对明显特征的过拟合,所以失活可以使你的表征对于图片的表示是冗余的,由于每一个特征都有可能失活,所以分类必须依赖于各种各样的特征。

实际使用时,有时候这个明显的特征获取不到,不明显的特征又没有训练好,就会造成分类错误,所以说随机失活可以防止过拟合,其实和人的学习过程也挺像。

解释二:

随机失活相当于把很多小网络组合大网络,相当于多个网络的混合,之前也说了,会有这样会有性能上的提高。失活不是把权值置零,只是暂时的让他输出不起作用,相当于输出乘以掩码0。想要更多的正则化,可以使用每次失活更多的神经元。

在测试的时候:

可以看到,由于P设置为0.5,所以训练时候的权值只有测试时候权值的一半。所以在测试的时候,不要忘记让激活函数乘以P。

有两种修正方式:

1、

在输出的时候*p

2、

或者在训练的时候/P

两种方式有什么不同?

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐