激活函数——Sigmoid、tanh、ReLU、softmax激活函数


一、激活函数的作用是什么?

  • 引入非线性:没有激活函数的神经网络本质上是线性的,即使有多层。这意味着无论网络有多少层,最终的输出仍然是输入的线性组合。激活函数通过引入非线性变换,使得神经网络能够模拟非线性关系,这是处理复杂数据所必需的。
  • 控制输出范围:某些激活函数,如Sigmoid和Tanh,能够将输出限制在特定的范围内(例如Sigmoid函数的输出范围是(0, 1),Tanh函数的输出范围是(-1, 1))。这有助于处理输出的稳定性和可解释性,例如在二分类问题中,Sigmoid函数的输出可以被解释为概率
  • 帮助反向传播:在训练神经网络时,激活函数的导数(梯度)对于反向传播算法计算权重更新非常重要。激活函数的梯度不应为0或接近0,以避免梯度消失问题。梯度消失问题是指在深层网络中,梯度可能会变得非常小,导致权重更新非常缓慢,甚至停止学习。
  • 零中心化:某些激活函数,如Tanh,是零中心化的,这意味着它们的输出是以0为中心的。这有助于数据的规范化,使得学习过程更加稳定和高效。
  • 稀疏激活:激活函数如ReLU(Rectified Linear Unit)能够实现稀疏激活,即在输入值小于0时输出0。这有助于提高计算效率,并且可以增加网络的稀疏性,从而提高模型的泛化能力。
  • 避免饱和:某些激活函数,如ReLU,可以避免在正区间内饱和,即梯度恒定,这有助于缓解梯度消失问题,并加速训练过程。
  • 增加模型的表达能力:通过使用不同的激活函数,可以增加模型的表达能力,使其能够捕捉更复杂的数据特征。

二、激活函数

1.Sigmoid函数

Sigmoid函数的图形是一个S形曲线,也称为逻辑曲线。当输入值 𝑥 非常大时,函数输出趋近于1;当输入值 𝑥 非常小时,函数输出趋近于0。当 𝑥 接近0时,函数的输出约为0.5。

在这里插入图片描述

  • σ(x) 是Sigmoid函数的输出。
  • 𝑥 是输入值。
  • 𝑒 是自然对数的底数,约等于2.71828。

在这里插入图片描述
sigmoid函数取值范围为(0,1),可以用来做二分类。

sigmoid缺点∶

  • 激活函数计算量大,反向传播求误差梯度时,求导涉及除法
  • 反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练
  • sigmoids函数饱和且kill掉梯度。
  • Sigmoids函数收敛缓慢。

2.tanh函数

与sigmoid函数类似,tanh函数也能将其输入压缩转换到区间(-1,1) 上:
在这里插入图片描述
tanh在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。
在这里插入图片描述

3.ReLU函数

线性整流单元(ReLU),ReLU提供了一种非常简单的非线性变换。给定元素 x ,ReLU函数被定义为该元素与 0 对比中的最大值。
在这里插入图片描述
ReLU函数通过将相应的活性值设为0,仅保留正元素并丢弃所有负元素。如下为ReLU函数的曲线图。
在这里插入图片描述

4.softmax函数

在二分类任务时,经常使用sigmoid激活函数。而在处理 多分类问题 的时候,需要使用softmax函数。它的输出有两条规则。
在这里插入图片描述

  • 每一项的区间范围的(0,1)。
  • 所有项相加的和为1。
  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值