3.8 激活函数的导数-深度学习-Stanford吴恩达教授
| 3.7 为什么需要非线性激活函数 | 回到目录 | 3.9 神经网络的梯度下降法 |
激活函数的导数 (Derivatives of Activation Functions)
在神经网络中使用反向传播的时候,你真的需要计算激活函数的斜率或者导数。针对以下四种激活,求其导数如下:
1)sigmoid activation function
图3.8.1
其具体的求导如下: 公式3.25:ddzg(z)=11+e−z(1−11+e−z)=g(z)(1−g(z))\frac{d}{dz}g(z)=\frac{1}{1+e^{-z}}(1-\frac{1}{1+e^{-z}})=g(z)(1-g(z))dzdg(z)=1+e−z1(1−1+e−z1)=g(z)(1−g(z))
注:
当 z=10z=10z=10 或 z=−10;ddzg(z)≈0z=-10;\frac{d}{dz}g(z)\approx0z=−10;dzdg(z)≈0
当 z=0,ddzg(z)=g(z)(1−g(z))=14z=0,\frac{d}{dz}g(z)=g(z)(1-g(z))=\frac14z=0,dzdg(z)=g(z)(1−g(z))=41
在神经网络中a=g(z);g(z)′=ddzg(z)=a(1−a)a=g(z);g(z)^{'}=\frac{d}{dz}g(z)=a(1-a)a=g(z);g(z)′=dzdg(z)=a(1−a)
2)Tanh activation function
图3.8.2
其具体的求导如下: 公式3.26:g(z)=tanh(z)=ez−e−zez+e−zg(z)=tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}g(z)=tanh(z)=ez+e−zez−e−z
公式3.27: ddzg(z)=1−(tanh(z))2\frac{d}{dz}g(z)=1-(tanh(z))^2dzdg(z)=1−(tanh(z))2
注:
当 z=10z=10z=10 或 z=−10,ddzg(z)≈0z=-10,\frac{d}{dz}g(z)\approx0z=−10,dzdg(z)≈0
当 =0,ddzg(z)=1−(0)=1=0,\frac{d}{dz}g(z)=1-(0)=1=0,dzdg(z)=1−(0)=1
在神经网络中;
3)Rectified Linear Unit (ReLU)
注:通常在 z=0z=0z=0 的时候给定其导数1,0;当然 z=0z=0z=0 的情况很少
4)Leaky linear unit (Leaky ReLU)
与ReLU类似
g(z)=max(0.01z,z)g(z)′={0.01ifz<01ifz>0undefinedifz=0g(z)=max(0.01z,z)\\ g(z)^{'}=\left\{ \begin{matrix} 0.01 & if\ z<0\\ 1 & if\ z>0\\ undefined & if\ z=0\\ \end{matrix} \right.g(z)=max(0.01z,z)g(z)′=⎩⎨⎧0.011undefinedif z<0if z>0if z=0
注:通常在 z=0z=0z=0 的时候给定其导数1,0.01;当然 z=0z=0z=0 的情况很少。
课程PPT
| 3.7 为什么需要非线性激活函数 | 回到目录 | 3.9 神经网络的梯度下降法 |
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读
总结
以上是生活随笔为你收集整理的3.8 激活函数的导数-深度学习-Stanford吴恩达教授的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 3.7 为什么需要非线性激活函数-深度学
- 下一篇: 3.9 神经网络的梯度下降法-深度学习-