【pytorch基础】ReLU6

网友投稿 1170 2022-10-31

【pytorch基础】ReLU6

【pytorch基础】ReLU6

ReLU6(x)=min(max(0,x),6)

ReLU6可以抑制ReLU的最大值,当x>6时,其导数也是0;

目的:

主要是为了在移动端float16的低精度的时候,也能有很好的数值分辨率,如果对ReLu的输出值不加限制,那么输出范围就是0到正无穷,而低精度的float16无法精确描述其数值,带来精度损失。

为什么是6呢?

普通relu, y=max(0, x), 相当于无限多个bernoulli分布,即无限多个骰子

relu6, y= min(max(0,x), 6), 相当于有六个bernoulli分布,即6个硬币,同时抛出正面,这样鼓励网络学习到稀疏特征。

网络里面每一个输出n,相当于n个bernoulli分布的叠加。

通过实验发现,用6,效果比较好。所以选用了6

参考

1. ​​ReLU6​​;

2. ​​Why the 6 in relu6?​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Peekobot是一个简单、选择驱动的聊天机器人框架
下一篇:C# Notes
相关文章

 发表评论

暂时没有评论,来抢沙发吧~