激活函数(Activation Function)运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层的神经网络。

神经网络的数学基础是处处可微的,所以选取激活函数要保证数据输入与输出也是可微的。TensorFlow中提供哪些激活函数的API。

激活函数不会改变数据的维度,也就是输入和输出的维度是相同的。TensorFlow中有如下激活函数:

1. sigmoid 函数

这是传统神经网络中最常用的激活函数之一,公式和函数图像如下:

{\displaystyle S(x)={\frac {1}{1+e^{-x}}}.}

优点:它输出映射在(0,1)内,单调连续,非常适合用作输出层,并且求导比较容易;

缺点:具有软饱和性,一旦输入落入饱和区,一阶导数就变得接近于0,很容易产生梯度消失。

饱和性:当|x|>c时,其中c为某常数,此时一阶导数等于0,通俗的说一阶导数就是上图中的斜率,函数越来越水平。

2. tanh函数

tanh也是传统神经网络中比较常用的激活函数,公式和函数图像如下:

tanh函数也具有软饱和性。因为它的输出是以0为中心,收敛速度比sigmoid函数要快。但是仍然无法解决梯度消失问题。

3. relu 函数

relu函数是目前用的最多也是最受欢迎的激活函数。公式和函数图像如下:

由上图的函数图像可以知道,relu在x<0时是硬饱和。由于当x>0时一阶导数为1。所以,relu函数在x>0时可以保持梯度不衰减,从而缓解梯度消失问题,还可以更快的去收敛。但是,随着训练的进行,部分输入会落到硬饱和区,导致对应的权重无法更新。我们称之为“神经元死亡”。

除了relu本身外,TensorFlow还定义了relu6,也就是定义在min(max(features, 0), 6)tf.nn.relu6(features, name=None),以及crelu,也就是tf.nn.crelu(features, name=None).

4. softplus 函数

softplus函数可以看作是relu函数的平滑版本,公式和函数图像如下:

5. leakrelu 函数

leakrelu函数是relu激活函数的改进版本,解决部分输入会落到硬饱和区,导致对应的权重无法更新的问题。公式和图像如下:

左边缩小方差,右边保持方差;方差整体还是缩小的,而均值得不到保障。

6. ELU 函数

leakrelu函数是relu激活函数的改进版本,解决部分输入会落到硬饱和区,导致对应的权重无法更新的问题。公式和图像如下:

左边缩小方差,右边保持方差;方差整体还是缩小的,而均值得不到保障。

6. SELU函数

最近的自归一化网络中提出,函数和图像如下:

蓝色是:selu,橙色是:elu

左边缩小方差,右边放大方差,适当选取参数alpha和lambda,使得整体上保持方差与期望。如果选取:

lambda=1.0506,alpha=1.67326,那么可以验证如果输入的x是服从标准正态分布,那么SELU(x)的期望为0,方差为1.

tensorflow:激活函数(Activation Function)相关推荐

  1. 激活函数 activation function

    文章目录 激活函数 activation function Sigmoid Sigmoid 反向传播 Tanh ReLU Dead ReLU Problem 产生的原因 激活函数 activation ...

  2. [TensorFlow 学习笔记-06]激活函数(Activation Function)

    [版权说明] TensorFlow 学习笔记参考:  李嘉璇 著 TensorFlow技术解析与实战 黄文坚 唐源 著 TensorFlow实战郑泽宇  顾思宇 著 TensorFlow实战Googl ...

  3. Pytorch——激活函数(Activation Function)

    文章目录 1.非线性方程 2.激活函数 3.常用选择 4.代码 1.非线性方程 我们为什么要使用激励函数? 用简单的语句来概括. 就是因为, 现实并没有我们想象的那么美好, 它是残酷多变的. 哈哈, ...

  4. 常用激活函数activation function(Softmax、Sigmoid、Tanh、ReLU和Leaky ReLU) 附激活函数图像绘制python代码

    激活函数是确定神经网络输出的数学方程式. 激活函数的作用:给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数. 1.附加到网络中的每个神经元,并根据每个神经元的输入来确定是否应激活. 2 ...

  5. 激活函数(activation function)

    激活函数activation function 激活函数的介绍 阶跃函数(Step Function)--- 最简单的二分类非线性激活函数开始 mish激活函数 激活函数的介绍 首先看一个普通的神经网 ...

  6. 【机器学习】神经网络-激活函数-面面观(Activation Function)

    神经网络之激活函数(Activation Function) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 更多相关博客请猛戳:http://blog.c ...

  7. 通俗理解神经网络之激励函数(Activation Function)

    本文整理自博客.知乎上关于激励函数的博客和回答.部分图片引用自知乎,如有侵权,请联系作者. 关于神经网络激励函数的作用,常听到的解释是:不使用激励函数的话,神经网络的每层都只是做线性变换,多层输入叠加 ...

  8. Homepage Machine Learning Algorithm 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

  9. 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

  10. 激活函数(Activation Function)及十大常见激活函数

    目录 1 激活函数的概念和作用 1.1 激活函数的概念 1.2 激活函数的作用 1.3 通俗地理解一下激活函数(图文结合) 1.3.1 无激活函数的神经网络 1.3.2 带激活函数的神经网络 2 神经 ...

最新文章

  1. 使用 CallableStatement 接口调用存储过程
  2. web前端试题和答案
  3. 移动IM开发指南2:心跳指令详解
  4. Chrome 74 稳定版发布,Windows 10 支持黑暗模式
  5. Python中常用的内置方法
  6. 布丰投针试验的仿真和误差估计
  7. SAP Query创建教程
  8. 小米9 -MIUI12.5稳定版卡刷包与线刷包-V12.5.3.0.RFACNXM
  9. EyouCMS瀑布流分页详细教程
  10. jquery 鼠标按住移动的解决方案
  11. pyinstaller打包py文件为单个文件或多个文件
  12. # responses[name] = response
  13. 用一行python代码用openpyxl找到excel某一列的最大行数
  14. 优必选大型仿人服务机器人Walker X的核心技术突破
  15. Arduino ESP8266 SPI-FFS存储区域
  16. 新版WIFI小程序分销系统微信源码序WiFi大师版流量主搭建独立源码WiFi分销源码
  17. python 打印一定范围的素数(质数)
  18. html手机端自动全屏,HTML5在手机端实现视频全屏展示方法
  19. CommandNotFoundError: No command ‘conda activate‘
  20. 常用IP相关命令查询

热门文章

  1. python基础--面向对象之继承
  2. webpack, react项目中利用外部JS库提升效率
  3. 疯狂ios讲义疯狂连载之图像控件(UIImageView)
  4. 兰州市智能交通实现智慧城市 智能化立体车库有效缓解停车难
  5. 微信支付开发(1) JS API支付V3版(转)
  6. mysql新建授权账号系列问题
  7. 如何使用Orchard搭建敏捷个人的网站(2)
  8. 引用 使用Eclipse生成Java Doc
  9. struts原理介绍,面试
  10. 公网服务器与局域网手机长连接