pytorch机器学习各种激活函数总结(不完整学习更新中~)

0.思维导图预览

在这里插入图片描述

1. ReLU函数

ReLU(Rectified Linear Unit)线性整流函数
其公式为:
f ( x ) = M a x ( 0 , x ) f(x)=Max(0,x) f(x)=Max(0,x)
它将小于零的输入映射为0,而将大于等于零的输入保持不变。在PyTorch中,可以使用torch.nn.ReLU类来表示。
ReLU函数求导简单方便;但是当反向传播过程中,权值更新小于0时,导致该处的导数始终为0,无法更新权值,会进入失活状态。
在这里插入图片描述
AlexNet就用的是ReLU函数
在这里插入图片描述

1.1 改进版ReLU6函数

其公式为:
f ( x ) = m i n ( m a x ( x , 0 ) , 6 ) f(x) = min(max(x, 0), 6) f(x)=min(max(x,0),6)
在这里插入图片描述
在p6 MobileNet网络中有使用过。

2. Sigmoid函数

Sigmoid函数将输入值压缩到0和1之间,在PyTorch中,可以使用torch.nn.Sigmoid类来表示。
其公式为:
f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+\mathcal{e}^{-x}} f(x)=1+ex1
Sigmoid函数的优点是输出范围在(0, 1)之间,可以将输入映射到概率形式或者用于二分类问题中。
缺点是激活函数饱和时,梯度非常小,网络层数较深时容易出现梯度消失。
在这里插入图片描述

3. Softmax函数

Softmax函数将输入值转换为概率分布,用于多分类问题。在PyTorch中,可以使用torch.nn.Softmax类来表示。Softmax函数将原始的实数向量转换为表示概率分布的向量,使每个元素的取值范围≥0,并且所有元素的和等于1。
其公式为:

对于输入向量 z = ( z 1 , z 2 , … , z k − 1 ) \mathbf{z} = (z_1, z_2, \ldots, z_{k-1}) z=(z1,z2,,zk1),Softmax函数对应的输出向量 y = ( y 1 , y 2 , … , y n ) \mathbf{y} = (y_1, y_2, \ldots, y_n) y=(y1,y2,,yn) 的计算公式为:

y i = e z i ∑ j = 0 k − 1 e z j y_i = \frac{e^{z_i}}{\sum_{j=0}^{k-1} e^{z_j}} yi=j=0k1ezjezi

其中, e e e 是自然对数的底。 y i y_i yi 表示输入向量 z \mathbf{z} z 属于类别 i i i 的概率。

在这里插入图片描述

4. Tanh函数

Tanh函数将输入值压缩到(-1,1)之间,它在中间层中能够产生非线性的激活输出,并且保留了负数的信息,经常被用于数据归一化的过程,将数据标准化到一个更小的范围,使得数据更易处理和比较。
Sigmoid函数是压缩到(0,1)之间。
在PyTorch中,可以使用torch.nn.Tanh类来表示。
其公式为:
f ( x ) = e x − e − x e x + e − x f(x)=\frac{\mathcal{e}^{x}-\mathcal{e}^{-x}}{\mathcal{e}^{x}+\mathcal{e}^{-x}} f(x)=ex+exexex
在这里插入图片描述

5.(学习后更新)

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失舵之舟-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值