激活函数总结(九):Softmax系列激活函数补充(Softmin、Softmax2d、Logsoftmax)

激活函数总结(九):Softmax系列激活函数补充

  • 1 引言
  • 2 激活函数
    • 2.1 Softmin激活函数
    • 2.2 Softmax2d激活函数
    • 2.3 Logsoftmax激活函数
  • 3. 总结

1 引言

在前面的文章中已经介绍了介绍了一系列激活函数 (SigmoidTanhReLULeaky ReLUPReLUSwishELUSELUGELUSoftmaxSoftplusMishMaxoutHardSigmoidHardTanhHardswishHardShrinkSoftShrinkTanhShrinkRReLUCELUReLU6GLUSwiGLUGTUBilinearReGLUGEGLU)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:
在这里插入图片描述

最后,对于文章中没有提及到的激活函数,大家可以通过评论指出,作者会在后续的文章中进行添加补充。

2 激活函数

2.1 Softmin激活函数

Softmin(软化最小值)是一种激活函数,类似于Soft在这里插入代码片max 激活函数。它被用于多类别分类问题,通常作为神经网络的输出层的激活函数。与Softmax激活函数不同,Softmin激活函数将原始分数转化为一个概率分布,但它的逻辑是选择具有最小值的类别获得较高的概率。Softmin 的计算公式如下:
S o f t m i n ( x i ) = e − x i ∑ j = 1 N e − x j Softmin(x_i) = \frac{e^{-x_i}}{\sum_{j=1}^{N} e^{-x_j}} Softmin(xi)=j=1Nexjexi
在 Softmax 中,分数越高的类别获得更高的概率,而在 Softmin 中,分数越低的类别获得更高的概率。

特点:

  • 强调最小值:与Softmax激活函数不同,Softmin激活函数强调具有最小值的类别。在Softmax中,分数较高的类别获得更高的概率,而在Softmin中,分数较低的类别获得更高的概率。

Softmin可以在某些强调低分数类别的问题中有用,一般情况下均用Softmax。

2.2 Softmax2d激活函数

Softmax2D 激活函数是对二维矩阵(或张量)的操作,类似于一维数据中的 Softmax 激活函数,但是应用在矩阵的每一行上。这种操作常用于多类别分类任务,其中每一行代表一个样本的原始分数或 logits,而每个列代表一个类别。Softmax2D 激活函数通过对每一行的原始分数进行 Softmax 运算,将其转化为概率分布

在数学上,给定一个二维矩阵 X X X,其每一行包含原始分数(logits) x i j x_{ij} xij,其中 i i i 是样本索引, j j j 是类别索引,Softmax2D 激活函数可以表示为:
Softmax2D ( x i j ) = e x i j ∑ k = 1 C e x i k \text{Softmax2D}(x_{ij}) = \frac{e^{x_{ij}}}{\sum_{k=1}^{C} e^{x_{ik}}} Softmax2D(xij)=k=1Cexikexij

其中, C C C 是总类别数, k k k 表示对每一行的求和。

Softmax2D 激活函数的应用场景类似于多类别分类问题,但其中每个样本都有一个关联的原始分数矩阵,需要将每行的原始分数转化为概率分布以进行分类。这样说有点抽象,下面给出具体的例子:

  • 图像分类: 在图像分类任务中,每个图像可能属于多个类别,例如图像中可能包含多个物体。通过应用 Softmax2D
    激活函数,可以将每个图像的原始分数转化为关于每个类别的概率分布,从而实现多类别分类。
  • 目标检测: 在目标检测任务中,每个目标可能属于不同的类别,并且每个图像中可能存在多个目标。Softmax2D
    可以用于将每个检测框(bounding box)的原始分数转化为各个类别的概率,帮助判断检测框中所包含的物体。
  • 语音识别: 在语音识别任务中,每个语音片段可能对应多个语音标签,如多个说话者的声音。通过应用 Softmax2D
    激活函数,可以将语音片段的原始分数转化为与每个说话者相关的概率分布。
  • 多标签分类: 一些问题中,一个输入可能对应于多个标签,而不仅仅是单个类别。Softmax2D
    可以用于将输入的原始分数映射到每个标签的概率分布,以实现多标签分类。
  • 文本分类: 在文本分类中,一篇文章可能属于多个主题或类别。通过将文章的原始分数应用 Softmax2D
    激活函数,可以将其转化为关于每个主题的概率分布,实现多类别文本分类。

2.3 Logsoftmax激活函数

LogSoftmax(对数软最大值)是一种常用的激活函数,通常用于多类别分类问题中神经网络的输出层。它将输入的原始分数(logits)转化为对数概率分布,以便更好地处理数值稳定性和训练的问题。LogSoftmax 激活函数的计算方式如下:
LogSoftmax ( x i ) = log ⁡ ( e x i ∑ j = 1 N e x j ) \text{LogSoftmax}(x_i) = \log\left(\frac{e^{x_i}}{\sum_{j=1}^{N} e^{x_j}}\right) LogSoftmax(xi)=log(j=1Nexjexi)
其中, x i x_i xi 是第 i i i 个类别的原始分数, N N N 是总类别数。

优点:

  • 数值稳定性: LogSoftmax能够稳定处理输入的数值范围,避免了指数函数可能导致的数值溢出问题,尤其在输入的原始分数较大的情况下。
  • 计算效率: 由于LogSoftmax在计算中包含对数操作,而对数计算通常比指数计算更为高效,尤其在计算机中。
  • 数学性质: LogSoftmax的输出也是对数概率,有时可以在数学分析和处理中更加方便

缺点:

  • 不直接表示概率: LogSoftmax输出的是对数概率,如果需要获得实际的概率分布,还需要进一步计算指数操作,这可能增加计算复杂性
  • 不适用于所有情况:尽管LogSoftmax在训练中能够稳定计算,但它在一些情况下可能并不是最优选择,特别是在需要实际概率分布或对输出进行进一步处理时。

当前,Logsoftmax函数计算速度快优化效率高,确实取得了一定的优势!!!但是大多数情况下,还是Softmax激活函数占据一定的趋势!!!但是,Logsoftmax算是一个常用的激活函数,如果效果不好的时候可以尝试一下!!!

3. 总结

到此,使用 激活函数总结(九) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数也可以在评论区提出,后续会对其进行添加!!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦。

你可能感兴趣的:(深度学习,机器学习,人工智能,python,激活函数,深度学习)