Python TensorFlow 常用激活函数详解:Sigmoid、Tanh、ReLU 与 Softplus

沿途有光
沿途有光
发布时间:2026-10-16 | 11人浏览过
原创

本文详细介绍 TensorFlow 中常用的四种激活函数:Sigmoid、Tanh、ReLU 和 Softplus。分析各自的数学特性、优缺点(如梯度消失、计算速度、零均值等),并提供对应的 TensorFlow API 调用示例,帮助开发者根据模型需求选择合适的非线性激活方式。

前言

在机器学习领域,激活函数通常应用于神经网络的隐藏层节点及输出层节点。其核心作用是为神经网络引入非线性因素。若不使用激励函数,网络的输出仅为输入的线性组合,其表现类似于最原始的感知机,导致网络的逼近能力极为有限。通过引入恰当的非线性激活函数,可以显著增强神经网络的拟合与逼近能力。

既然激活函数如此关键,那么常见的激活函数有哪些?其种类看似繁多,下面将逐一介绍。

常见的激活函数种类及其图像

1 sigmoid(logsig)函数

特点:Sigmoid 函数在不同语境下有不同名称,常用名为 sigmoid 和 logsig。它能够将输入的连续实值变换为 0 到 1 之间的输出。当输入为绝对值很大的负数时,输出趋近于 0;当输入为绝对值很大的正数时,输出趋近于 1。

缺点:

  • 在深度神经网络中,容易引发梯度爆炸和梯度消失问题;
  • 涉及幂函数运算,计算速度相对较慢;
  • 输出并非以 0 为中心(非 0 均值)。

其计算公式为:

其图像如下所示。

2 tanh函数

特点:它能够将输入的连续实值变换为 -1 到 1 之间的输出。当输入为绝对值很大的负数时,输出趋近于 -1;当输入为绝对值很大的正数时,输出趋近于 1;

解决了 Sigmoid 函数输出非 0 均值的问题。

缺点:梯度消失问题和幂运算带来的计算开销问题依然存在。

其计算公式为:

其图像如下所示。

3 relu函数

特点:有效解决了梯度消失问题;计算速度极快,仅需判断输入是否大于 0;

收敛速度远快于 Sigmoid 和 Tanh 两个函数。

缺点:输出并非以 0 为中心(非 0 均值)。

其计算公式为:

其图像如下所示

4 softplus函数

特点:Softplus 函数可视为 ReLU 函数的平滑版本。

缺点:输出并非以 0 为中心(非 0 均值)。

其计算公式为:

其图像如下所示(与 ReLU 函数对比)。

tensorflow中损失函数的表达

1 sigmoid(logsig)函数

tf.nn.sigmoid(x, name=None)

2 tanh函数

tf.nn.tanh(x, name=None)

3 relu函数

tf.nn.relu(features, name=None)
tf.nn.relu6(features, name=None)
#relu6相对于普通relu更容易学习到稀疏特征。

4 softplus函数

tf.nn.softplus(features, name=None)

以上就是 python 人工智能 tensorflow 常用激活函数 Activation Functions 的详细内容,更多关于 tensorflow 激活函数的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表