Tensorflow常见激活函数 -- Tensorflow自学笔记10

激活函数 激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。引入非线性激活函数,可使深层神经网络的表达能力更加强大。

一. 什么是优秀的激活函数?

优秀的激活函数应满足:

  1. 非线性:

激活函数非线性时,多层神经网络可逼近所有函数

  1. 可微性

优化器大多用梯度下降更新参数

  1. 单调性

当激活函数是单调的,能保证单层网络的损失函数是凸函数

  1. 近似恒等性

f(x)约等于x. 当参数初始化为随机小值时,神经网络更稳定

  1. 激活函数输出值的范围:
  1. 激活函数输出为有限值时,基于梯度的优化方法更稳定

  2. 激活函数输出为无限值时,建议调小学习率

二. 常见的激活函数

复制代码
常见的激活函数有

3.1 sigmoid

TensorFlow API: tf.math.sigmoid

优点:

  1. 输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可用作输出层;

  2. 求导容易。

缺点:

  1. 易造成梯度消失;

  2. 输出非0均值,收敛慢;

  3. 幂运算复杂,训练时间长。

sigmoid函数可应用在训练过程中。然而,当处理分类问题作出输出时,sigmoid却无能为力。简 单地说,sigmoid函数只能处理两个类,不适用于多分类问题。而softmax可以有效解决这个问题,并 且softmax函数大都运用在神经网路中的最后一层网络中,使得值得区间在(0,1)之间,而不是二分类 的。

3.2 tanh

TensorFlow API: tf.math.tanh

优点:

  1. 比sigmoid函数收敛速度更快。

  2. 相比sigmoid函数,其输出以0为中心。

缺点

  1. 易造成梯度消失;

  2. 幂运算复杂,训练时间长。

3.3 ReLU

TensorFlow API: tf.nn.relu

优点

  1. 解决了梯度消失问题(在正区间);

  2. 只需判断输入是否大于0,计算速度快;

  3. 收敛速度远快于sigmoid和tanh,因为sigmoid和tanh涉及很多expensive的操作;

  4. 提供了神经网络的稀疏表达能力。

缺点:

  1. 输出非0均值,收敛慢;

  2. Dead ReLU问题:某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。

3.4 Leaky ReLU

TensorFlow API: tf.nn.leaky_relu

理论上来讲,Leaky ReLU有ReLU的所有优点,外加不会有Dead ReLU问题,但是在实际操作当

中,并没有完全证明Leaky ReLU总是好于ReLU。

3.5 softmax

TensorFlow API: tf.nn.softmax

对神经网络全连接层输出进行变换,使其服从概率分布,即每个值都位于[0,1]区间且和为1。

3.6 建议

对初学者的的建议:

  1. 首选ReLU激活函数;

  2. 学习率设置较小值;

  3. 输入特征标准化,即让输入特征满足以0为均值,1为标准差的正态分布;

  4. 初始化问题:初始参数中心化,即让随机生成的参数满足以0为均值, 为标准差的正态分布。

相关推荐
科技小花6 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56617 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
zhuiyisuifeng7 小时前
2026前瞻:GPTimage2镜像官网或将颠覆视觉创作
人工智能·gpt
徐健峰7 小时前
GPT-image-2 热门玩法实战(一):AI 看手相 — 一张手掌照片生成专业手相分析图
人工智能·gpt
weixin_370976357 小时前
AI的终极赛跑:进入AGI,还是泡沫破灭?
大数据·人工智能·agi
Slow菜鸟7 小时前
AI学习篇(五) | awesome-design-md 使用说明
人工智能·学习
ZhengEnCi7 小时前
03ab-PyTorch安装教程 📚
python
冬奇Lab8 小时前
RAG 系列(五):Embedding 模型——语义理解的核心
人工智能·llm·aigc
深小乐8 小时前
AI 周刊【2026.04.27-05.03】:Anthropic 9000亿美元估值、英伟达死磕智能体、中央重磅定调AI
人工智能
码点滴8 小时前
什么时候用 DeepSeek V4,而不是 GPT-5/Claude/Gemini?
人工智能·gpt·架构·大模型·deepseek