常见的激活函数

注:此文章为吴恩达教授的deeplearning.ai课程笔记,文中图片均来自课程ppt。

为什么要使用非线性激活函数:因为如果不使用非线性的激活函数,那神经网络将变为一个线性的函数,隐含层已经没有了存在的必要。

sigmoid

常见的激活函数_第1张图片
sigmoid函数

函数的导数为:a(1-a)

tanh(hyper tangent function)

常见的激活函数_第2张图片
tanh函数

函数的导数为:1-a^2

Relu(rectified linear function)

常见的激活函数_第3张图片
Relu函数

导数为:
常见的激活函数_第4张图片
image.png

Leaky Relu(带泄露的Relu)

常见的激活函数_第5张图片
Leaky Relu

使用注意事项:

如果输出0或1,比方说是在做二分类,则可以使用sigmoid作为输出层的激活函数,但一般情况下tanh的表现都比sigmoid好,但是这两个函数都存在一个问题,就是当输入比较大或者比较小的时候,函数导数的梯度会变得很小,不利于梯度下降。所以常用的是Relu函数,但是Relu函数也有一个缺点:当输入为负的时候,函数的导数为0,也就是梯度为0,所以有了后面的带泄露的Relu

你可能感兴趣的:(常见的激活函数)