常见神经网络激活函数讲解

一.什么是激活函数

激活函数,并不是去激活什么,而是指如何把“激活的神经元的特征”通过函数把特征保留并映射出来(保留特征,去除一些数据中是的冗余),这是神经网络能解决非线性问题关键。

二.为什么要使用激活函数

  • 激活函数是用来加入非线性因素的,因为线性模型的表达力不够。
  • 在具体处理图像的时候是什么情况呢?我们知道在神经网络中,对于图像,我们主要采用了卷积的方式来处理,也就是对每个像素点赋予一个权值,这个操作显然就是线性的。但是对于我们样本来说,不一定是线性可分的,为了解决这个问题,我们可以进行线性变化,或者我们引入非线性因素,解决线性模型所不能解决的问题。
  • 构建稀疏矩阵,也就是稀疏性,这个特性可以去除数据中的冗余,最大可能保留数据的特征,也就是大多数为0的稀疏矩阵来表示。其实这个特性主要是对于Relu,它就是取的max(0,x),因为神经网络是不断反复计算,实际上变成了它在尝试不断试探如何用一个大多数为0的矩阵来尝试表达数据特征,结果因为稀疏特性的存在,反而这种方法变得运算得又快效果又好了。所以我们可以看到目前大部分的卷积神经网络中,基本上都是采用了ReLU 函数。

三.常见激活函数

  1. sigmoid

    2.tanh

   3.relu

四.对比

sigmoid 激活函数:除了输出层是一个二分类问题基本不会用它。

tanh 激活函数: tanh 是非常优秀的,几乎适合所有场合。

ReLu 激活函数:最常用的默认函数, 如果不确定用哪个激活函数,就使用 ReLu 或者Leaky ReLu。

猜你喜欢

转载自blog.csdn.net/qq_39938666/article/details/88623875
今日推荐