本文将从 Softmax 的本质、Softmax 的原理、Softmax的应用 三个方面,带 您一文搞懂 Softmax 函数 。
Softmax激活函数
一、 Softmax 的 本质
Softmax一般用来作为 神经网络的最后一层 ,用于多分类问题的输出。 其本质是一种 激活函数 ,将一个数值向量归一化为一个概率分布向量,且各个概率之和为1。
Softmax激活函数
分类问题: 根据输入数据的特征将其划分到预定义的类别中。
在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning)。分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。
根据类别的数量可将分类问题分为二分类和多分类。
- 二分类(Binary classification) : 表示分类任务中有两个类别 。在二分类中,我们通常使用一些常见的算法来进行分类,如逻辑回归、支持向量机等。
- 多分类(Multi-class** classification )** : 表示分类任务中有多个类别 。在多分类中,我们可以使用一些常见的算法来进行分类,如决策树、随机森林等。
二分类和多分类
详细了解分类问题:
神经网络算法 - 一文搞懂回归和分类
激活函数: 一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。
激活函数
在神经元中,输入的input经过一系列加权求和后作用于另一个函数,这个函数就是这里的激活函数。类似于人类大脑中基于神经元的模型,激活函数最终决定了是否传递信号以及要发射给下一个神经元的内容。
激活函数为神经网络引入了非线性元素,使得网络能够逼近复杂的非线性函数,从而解决更广泛的问题。
激活函数
从二分类到多分类: 激活函数从Sigmoid到Softmax。
对于二分类问题,Sigmoid是一个常用的激活函数,它将任意实数映射到(0, 1)区间,这个区间内的数值可以自然地解释为概率。
Sigmoid函数
对于多分类问题,Softmax则是一个非常重要的工具。它可以将一个向量转换为一组概率值,这些概率值的总和为1。
Softmax函数
常见的激活函数, Sigmoid、Tanh、Relu和Softmax。
详细了解激活函数:
秒懂AI-深度学习四种常用激活函数:Sigmoid、Tanh、ReLU和Softmax
二、 Softmax 的 原理
神经网络的 原理: 通过前向传播计算预测值,通过损失函数衡量预测值与真实值之间的差距,通过反向传播计算梯度并更新参数,以及通过激活函数引入非线性因素。
-
前向传播:数据从输入层经过隐藏层流向输出层,每层通过权重和偏置进行线性变换,并经过激活函数得到非线性输出。
-
激活函数: 为神经网络引入非线性,提升模型的表达能力。
-
损失函数:衡量预测值与真实值之间的差距,如均方误差用于回归,交叉熵用于分类。
-
反向传播:根据损失函数的梯度信息,从输出层逐层向输入层计算参数的梯度,并更新参数,以最小化损失函数值。
-
梯度下降:一种优化算法,根据计算出的梯度按一定学习率更新网络参数,逐步逼近最优解。
详细了解损失函数: 神经网络算法 - 一文搞懂Loss Function(损失函数)
详细了解反向传播: 神经网络算法 - 一文搞懂Back Propagation(反向传播)
详细了解梯度下降: 神经网络算法 - 一文搞懂Gradient Descent(梯度下降)
Softmax的数学原理: 对于一个给定的实数向量,它首先计算每一个元素的指数(e的幂),然后每个元素的指数与所有元素指数总和的比值,就形成了softmax函数的输出。 这种计算方式不仅使输出值落在0到1之间,还保证了所有输出值的总和为1。
Softmax数学原理
三、 Softmax 的应用
CNN的架构: 由卷积层、池化层和全连接层构成。卷积层通过卷积核提取图像的局部特征,池化层通过下采样实现数据降维,全连接层则输出最终结果。
CNN的架构
详细了解CNN: 神经网络算法 - 一文搞懂CNN(卷积神经网络)
CNN的Softmax层: 一种常见的分类层,它通常是放置在卷积神经网络的最后一层,用于将卷积神经网络输出的特征图转换为概率分布。
CNN的Softmax层
Transformer的架构: 通过输入嵌入、位置编码、多头注意力、残差连接和层归一化、带掩码的多头注意力以及前馈网络等组件,实现了对输入序列的高效编码和输出序列的生成。
Transformer的架构
详细了解Transformer:神经网络算法 - 一文搞懂Transformer
Transformer中的Softmax: 用于将原始注意力分数转换为输入标记的概率分布。这种分布将较高的注意力权重分配给更相关的标记,并将较低的权重分配给不太相关的标记。Transformers通过Softmax在生成输出时,使用注意力机制来权衡不同输入标记的重要性。
Transformer的Softmax层