前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >激活函数

激活函数

原创
作者头像
Johns
修改2022-06-30 10:22:51
5450
修改2022-06-30 10:22:51
举报
文章被收录于专栏:代码工具

1. 产生背景

深度学习模型中其它的层都是线性的函数拟合,即便是用很深的网络去拟合,其还是避免不了线性的特性,无法进行非线性建模,而加入非线性激活函数单元,当线性函数的输出层经过非线性激活单元的时候,其输出呈现一种非线性的变化,这样经过多层的拟合,就可以完成对输入的非线性建模操作。同时还可以起到一种特征组合的作用。

2. 常用的激活函数

Sigmoid 函数
image.png
image.png
  • 该函数可以将实数压缩到开区间(0,1), 一般用在二分类任务的输出.
  • x很大或者很小时,该函数处于饱和状态。此时函数的曲线非常平坦,并且自变量的一个较大的变化只能带来函数值的一个微小的变化,即:导数很小。 从右下图可以看出导数最大值为0.25,在进行反向传播时,各层的梯度(均小于0.25)相乘很容易造成梯度为0,也就是“梯度消失”, 所以一般不会作为神经网络中间层的激活函数.
image.png
image.png
Softmax 函数
image.png
image.png
  • softmax就是将多个在负无穷到正无穷上的预测结果x映射到一个概率上, 并保证概率的和为1, 常用于多分类问题的输出 假如模型对一个三分类问题的预测结果为-3.2、1.8、9.3。我们要用softmax将模型结果转为概率, 它的具体做法是先用指数函数把数据全变成正数, 然后再计算概率.
image.png
image.png
Tanh函数
  • 函数取值(-1, 1), 导数最大虽然有所缓解, 但是依然不可避免梯度消失问题
image.png
image.png
ReLU函数
  • 线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。在
  • ReLu的导函数在正数部分为1,不会造成梯度消失和梯度爆炸。但反向传播时一旦学习率没有设置好,使得某个神经元的ReLu 输入为负数,则会导致该神经元不再更新,这就是神经元死亡的现象,ReLu有一些变体对该问题进行了处理。
image.png
image.png
LeakyReLU函数
  • ReLU的一个变体, 解决Relu负数是导数为0问题, 一般用在神经网络中间层
image.png
image.png
ReLU6函数
  • ReLU的一个变体, Relu在x>0的区域使用x进行线性激活,有可能造成激活后的值太大,影响模型的稳定性,为抵消ReLU激励函数的线性增长部分, 一般用在神经网络中间层
image.png
image.png

3. 激活函数汇总

  • 下面激活函数,它们的输入为单一变量.
image.png
image.png
image.png
image.png
  • 下面几个激活函数,它们的输入为多个变量.
image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 产生背景
  • 2. 常用的激活函数
    • Sigmoid 函数
      • Softmax 函数
        • Tanh函数
          • ReLU函数
            • LeakyReLU函数
              • ReLU6函数
              • 3. 激活函数汇总
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档