深度学习(二)之激活函数

深度学习之激活函数

  感知机模型中的函数f是非线性的,称为激活函数,激活函数的作用是将输出变为非线性的,这是因为现实世界中大部分数据都是非线性的。比较常用的激活函数有Sigmoid、Tanh和Relu函数。

Sigmoid函数

  Sigmoid函数是早期神经网络经常选用的激活函数,其数学表达式为:

在这里插入图片描述
  Sigmoid函数图像如下:
在这里插入图片描述
  从图像上可以看出,Sigmoid函数取值范围为(0,1),输入非常小时输出为0,输入非常大时输出为1。其函数曲线比较平滑,易于求导,缺点是反向传播求梯度时涉及到除法计算,而且很容易出现梯度消失的问题,所以Sigmoid在实际应用中使用得比较少。

Tanh函数

Tanh函数数学表达式如下:

在这里插入图片描述
  Tanh函数图像如下:
在这里插入图片描述
  Tanh激活函数主要解决了Sigmoid函数不是以零为中心的输出问题,但是和Sigmoid存在的问题一样,在反向传播求梯度时需要涉及到除法计算,且很容易出现梯度消失的问题。

Relu函数

  Relu函数是目前最常用的激活函数,其数学表达式如下:

在这里插入图片描述
  Relu函数图像如下:
在这里插入图片描述
  从函数图像上看,ReLU函数输入值小于0时,输出值为0,大于0时,输出值等于输入值。因此,ReLU函数的计算速度要比Sigmoid和Tanh函数要快得多,只需要判断输入是否大于0,反向传播求梯度时也不需要复杂的运算。ReLU函数存在的问题是,和Sigmoid函数一样不是以零为中心的。函数的输入值小于0时输出总为0可能会导致某些神经元永远不会被激活,但通过合理地初始化参数以及选择合适的学习率可以在一定程度上避免这一问题。

猜你喜欢

转载自blog.csdn.net/qq_38600065/article/details/108612172