人工神经网络之激活函数 -RELU函数
来源:互联网 发布:德国哪个公司办网络好 编辑:程序博客网 时间:2024/05/21 16:49
一句话概括:不用simgoid和tanh作为激活函数,而用ReLU作为激活函数的原因是:加速收敛。
因为sigmoid和tanh都是饱和(saturating)的。何为饱和?个人理解是把这两者的函数曲线和导数曲线plot出来就知道了:他们的导数都是倒过来的碗状,也就是,越接近目标,对应的导数越小。而ReLu的导数对于大于0的部分恒为1。于是ReLU确实可以在BP的时候能够将梯度很好地传到较前面的网络。
ReLU(线性纠正函数)取代sigmoid函数去激活神经元。
定义为:
代码:
x=-10:0.001:10;relu=max(0,x);%分段函数的表示方法如下%y=sqrt(x).*(x>=0&x<4)+2*(x>=4&x<6)+(5-x/2).*(x>=6&x<8)+1*(x>=8);reluDer=0.*(x<0)+1.*(x>=0);figure;plot(x,relu,‘r‘,x,reluDer,‘b--‘);title(‘Relu函数max(0,x)(实线)及其导数0,1(虚线)‘);legend(‘Relu原函数‘,‘Relu导数‘);set(gcf,‘NumberTitle‘,‘off‘);set(gcf,‘Name‘,‘Relu函数(实线)及其导数(虚线)‘);
输出:
可见,ReLU 在x<0 时硬饱和。由于 x>0时导数为 1,所以,ReLU 能够在x>0时保持梯度不衰减,从而缓解梯度消失问题。但随着训练的推进,部分输入会落入硬饱和区,导致对应权重无法更新。这种现象被称为“神经元死亡”。
ReLU还经常被“诟病”的一个问题是输出具有偏移现象[7],即输出均值恒大于零。偏移现象和 神经元死亡会共同影响网络的收敛性。
阅读全文
0 0
- 人工神经网络之激活函数 -RELU函数
- 人工神经网络之激活函数
- 神经网络之激活函数(sigmoid、tanh、ReLU)
- 神经网络之激活函数(sigmoid、tanh、ReLU)
- 人工神经网络之激活函数 -Sigmoid函数
- 人工神经网络之激活函数 -tanh函数
- 人工神经网络之激活函数 -softmax函数
- 神经网络回顾-Relu激活函数
- 人工神经网络之激活函数总结
- 神经网络的激活函数sigmoid RELU
- 【神经网络】RELU 激活函数及其他相关的函数
- ReLu激活函数
- ReLu激活函数
- 激活函数-ReLU
- 激活函数-relu
- ReLU激活函数:简单之美
- ReLU激活函数:简单之美
- python绘制神经网络中的ReLU激活函数图像(附代码)
- 还原网站上压缩的js代码
- Linux CentOS 7.0 7.2 7.3 下 rar unrar的安装
- JSP 页面中文乱码问题
- Xilinx 7series FPGA SelectIO资源--ODDR
- 习题8.14
- 人工神经网络之激活函数 -RELU函数
- 测试理论体系知识
- 工作总结10:毕业这一年的收获
- Zend Studio 13 +XDebug 调试
- 1.网卡驱动收数据包思路记录
- 如何解决failed to push some refs to git
- WEB开发中实现会话跟踪实现
- PAT甲级 1015. Reversible Primes (20)
- Fluent Python 笔记四