TensorFlow六种激活函数
每个神经元都必须有激活函数。神经元提供了模拟复杂非线性数据集所必需的非线性特性。该函数取所有输入的加权和,进而生成一个输出信号。把它看作输入和输出之间的转换。使用适当的激活函数,可以将输出值限定在一个定义的范围内。
如果 xi 是第 j 个输入,Wj 是连接第 j 个输入到神经元的权重,b 是神经元的偏置,神经元的输出(在生物学术语中,神经元的激活)由激活函数决定,并且在数学上表示如下:

这里,g 表示激活函数。激活函数的参数 ΣWjxj+b 被称为神经元的活动。
这里对给定输入刺激的反应是由神经元的激活函数决定的。有时回答是二元的(是或不是)。例如,当有人开玩笑的时候…要么不笑。在其他时候,反应似乎是线性的,例如,由于疼痛而哭泣。有时,答复似乎是在一个范围内。
模仿类似的行为,人造神经元使用许多不同的激活函数。将学习如何定义和使用 TensorFlow 中的一些常用激活函数。
下面认识几种常见的激活函数:

  1. 阈值激活函数:这是最简单的激活函数。在这里,如果神经元的激活值大于零,那么神经元就会被激活;否则,它还是处于抑制状态。下面绘制阈值激活函数的图,随着神经元的激活值的改变在 TensorFlow 中实现阈值激活函数:

    上述代码的输出如下图所示:

  2. Sigmoid 激活函数:在这种情况下,神经元的输出由函数 g(x)=1/(1+exp(-x)) 确定。在 TensorFlow 中,方法是 tf.sigmoid,它提供了 Sigmoid 激活函数。这个函数的范围在 0 到 1 之间:

在形状上,它看起来像字母 S,因此名字叫 Sigmoid:

  1. 双曲正切激活函数:在数学上,它表示为 (1-exp(-2x)/(1+exp(-2x)))。在形状上,它类似于 Sigmoid 函数,但是它的中心位置是 0,其范围是从 -1 到 1。TensorFlow 有一个内置函数 tf.tanh,用来实现双曲正切激活函数:

以下是上述代码的输出:

  1. 线性激活函数:在这种情况下,神经元的输出与神经元的输入值相同。这个函数的任何一边都不受限制:

  2. 整流线性单元(ReLU)激活函数也被内置在 TensorFlow 库中。这个激活函数类似于线性激活函数,但有一个大的改变:对于负的输入值,神经元不会激活(输出为零),对于正的输入值,神经元的输出与输入值相同:

以下是 ReLU 激活函数的输出:

  1. Softmax 激活函数是一个归一化的指数函数。一个神经元的输出不仅取决于其自身的输入值,还取决于该层中存在的所有其他神经元的输入的总和。这样做的一个优点是使得神经元的输出小,因此梯度不会过大。数学表达式为 yi =exp(xi)/Σjexp(xj):

以下是上述代码的输出:

下面我们逐个对上述函数进行解释:
• 阈值激活函数用于 McCulloch Pitts 神经元和原始的感知机。这是不可微的,在 x=0 时是不连续的。因此,使用这个激活函数来进行基于梯度下降或其变体的训练是不可能的。
• Sigmoid 激活函数一度很受欢迎,从曲线来看,它像一个连续版的阈值激活函数。它受到梯度消失问题的困扰,即函数的梯度在两个边缘附近变为零。这使得训练和优化变得困难。
• 双曲正切激活函数在形状上也是 S 形并具有非线性特性。该函数以 0 为中心,与 Sigmoid 函数相比具有更陡峭的导数。与 Sigmoid 函数一样,它也受到梯度消失问题的影响。
• 线性激活函数是线性的。该函数是双边都趋于无穷的 [-inf,inf]。它的线性是主要问题。线性函数之和是线性函数,线性函数的线性函数也是线性函数。因此,使用这个函数,不能表示复杂数据集中存在的非线性。
• ReLU 激活函数是线性激活功能的整流版本,这种整流功能允许其用于多层时捕获非线性。
使用 ReLU 的主要优点之一是导致稀疏激活。在任何时刻,所有神经元的负的输入值都不会激活神经元。就计算量来说,这使得网络在计算方面更轻便。
ReLU 神经元存在死亡 ReLU 的问题,也就是说,那些没有激活的神经元的梯度为零,因此将无法进行任何训练,并停留在死亡状态。尽管存在这个问题,但 ReLU 仍是隐藏层最常用的激活函数之一。
• Softmax 激活函数被广泛用作输出层的激活函数,该函数的范围是 [0,1]。在多类分类问题中,它被用来表示一个类的概率。所有单位输出和总是 1。
总结
神经网络已被用于各种任务。这些任务可以大致分为两类:函数逼近(回归)和分类。根据手头的任务,一个激活函数可能比另一个更好。一般来说,隐藏层最好使用 ReLU 神经元。对于分类任务,Softmax 通常是更好的选择;对于回归问题,最好使用 Sigmoid 函数或双曲正切函数。

TensorFlow六种激活函数相关推荐

  1. TensorFlow之激活函数(8)

    如何使用激活函数? 它的主要作用: 加入非线性 常用的激活函数: 1. sigmod函数 公式:                                                    ...

  2. TensorFlow常用激活函数及其特点用法(6种)详解

    每个神经元都必须有激活函数.它们为神经元提供了模拟复杂非线性数据集所必需的非线性特性.该函数取所有输入的加权和,进而生成一个输出信号.你可以把它看作输入和输出之间的转换.使用适当的激活函数,可以将输出 ...

  3. tensorflow自定义激活函数

    前言:因为研究工作的需要,要更改激活函数以适应自己的网络模型,但是单纯的函数替换会训练导致不能收敛.这里还有些不清楚为什么,希望有人可以给出解释.查了一些博客,发现了解决之道.下面将解决过程贴出来供大 ...

  4. Keras还是TensorFlow?深度学习框架选型实操分享

    译者| 王天宇.林椿眄 责编| Jane.琥珀 出品| AI科技大本营 深度学习发展势头迅猛,但近两年涌现的诸多深度学习框架让初学者无所适从.如 Google 的 TensorFlow.亚马逊的 MX ...

  5. TensorFlow 机器学习秘籍第二版:6~8

    原文:TensorFlow Machine Learning Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MTPE ...

  6. 激活函数的生成及图像

    所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端. 激活函数(Activation functions)对于人工神经网络模 ...

  7. tiny-cnn执行过程分析(MNIST)

    在http://blog.csdn.net/fengbingchun/article/details/50573841中以MNIST为例对tiny-cnn的使用进行了介绍,下面对其执行过程进行分析: ...

  8. 材料科学中的数据挖掘:晶体图神经网络解读与代码解析

    ©PaperWeekly 原创 · 作者|张玮玮 学校|东北大学硕士 研究方向|情绪识别 论文标题: Crystal Graph Neural Networks for Data Mining in ...

  9. opencv 反色处理

    原文链接: opencv 反色处理 上一篇: TensorFlow 常见激活函数 下一篇: TensorFlow dropout 函数 暴力循环计算,计算量比较大,秒级 import cv2 as c ...

最新文章

  1. scanner怎样回到文件开头_怎么申请专利?个人怎样申请国家专利?
  2. golang-flag的问题
  3. Java 调用Dll
  4. TOMCAT/JVM关闭时候的收尾(HOOK)
  5. Mysql数据库的简单备份与还原_史上最简单的MySQL数据备份与还原教程
  6. 2025美妆行业科技应用前瞻报告
  7. C++虚函数表的总结
  8. 企业千人千面管理模式_金山云助力新零售:如何让零售企业实现“千人千面”...
  9. (36)System Verilog线程并行执行(fork-join)
  10. UVA10018 Reverse and Add【回文数+水题】
  11. 《Spring5官方文档》新功能(4,3)
  12. python opencv 中文_OpenCV-Python在图片上输出中文
  13. 网络工程师面试常见问题:OSPF篇
  14. 115网盘如何打开php文件格式,115网盘真实地址解析工具
  15. Oracle获取本月第一天及最后一天
  16. docker使用和搭建
  17. iOS 一个APP打开另一个APP
  18. Acrobat 虚拟打印机打印失败故障解决之一
  19. 网易邮箱VIP注册页面可部分绕过Windows安全中心的验证
  20. python快速_Python3快速入门

热门文章

  1. SpringBoot部署脚本,拿走即用!
  2. 2021-2027年中国医疗护理行业深度研究及发展趋势报告
  3. 2022-2028年中国实心轮胎行业市场研究及前瞻分析报告
  4. Python 上下文管理器和 with 语句
  5. “年轻”有价值,才是本钱
  6. 理解和实现分布式TensorFlow集群完整教程
  7. 计图MPI分布式多卡
  8. SOC,System on-a-Chip技术初步
  9. 2021年大数据Hive(四):Hive查询语法
  10. C++ 虚函数与存虚函数