Transformer模型-softmax的简明介绍

今天介绍transformer模型的softmax

softmax的定义和目的:

softmax:常用于神经网络的输出层,以将原始的输出值转化为概率分布,从而使得每个类别的概率值在0到1之间,并且所有类别的概率之和为1。这使得Softmax函数特别适用于多类分类问题,其中模型需要预测输入样本属于多个可能类别中的哪一个。

特点:

softmax函数通过指数运算增强了数值间的差异,使得较大值在概率分布中占主导地位,同时抑制了较小值的影响。

Softmax函数是一种将K个实数值的向量转换为另一个K个实数值的向量,并且这些值的总和为1的函数。输入值可以是正数、负数、零或大于1的数,但softmax会将其转换为0到1之间的值,以便将它们解释为概率。如果输入值很小或为负数,softmax会将其转换为小概率;如果输入值很大,则softmax会将其转换为大概率,但概率值始终保持在0和1之间。

Softmax是逻辑回归的推广,可用于多类分类,其公式与用于逻辑回归的Sigmoid函数非常相似。只有当类别是互斥的时,softmax函数才能用于分类器。

许多多层神经网络都以倒数第二层结束,该层输出未经过适当缩放的实数值分数,可能难以处理。在这里,softmax非常有用,因为它将分数转换为归一化的概率分布,可以向用户显示或用作其他系统的输入。因此,通常将softmax函数作为神经网络的最后一层。

公式:

输入

Softmax函数的输入是一个包含K个元素的向量,其中不带箭头的z表示向量中的一个元素:

举例:

套用公式计算softmax:

输出是[0.006, 0.047, 0.946],总和大约为1。实际上,由于截断的原因,总和是0.999。最小的输入值5具有最低的概率,而最高的值10具有最高的概率。

PyTorch 使用指数和求和函数来计算softmax

PyTorch使用nn.Softmax来计算softmax

原文链接:

https://medium.com/@hunter-j-phillips/a-simple-introduction-to-softmax-287712d69bac

相关推荐
threelab2 分钟前
12.three官方示例+编辑器+AI快速学习webgl_buffergeometry_indexed
学习·编辑器·webgl
天上路人8 分钟前
AI神经网络降噪算法在语音通话产品中的应用优势与前景分析
深度学习·神经网络·算法·硬件架构·音视频·实时音视频
羽星_s9 分钟前
文本分类任务Qwen3-0.6B与Bert:实验见解
人工智能·bert·文本分类·ai大模型·qwen3
jerry60910 分钟前
LLM笔记(六)线性代数
笔记·学习·线性代数·自然语言处理
摸鱼仙人~11 分钟前
TensorFlow/Keras实现知识蒸馏案例
人工智能·tensorflow·keras
ghost14314 分钟前
C#学习第23天:面向对象设计模式
开发语言·学习·设计模式·c#
小白学大数据15 分钟前
Scrapy框架下地图爬虫的进度监控与优化策略
开发语言·爬虫·python·scrapy·数据分析
浊酒南街15 分钟前
TensorFlow之微分求导
人工智能·python·tensorflow
羽凌寒20 分钟前
曝光融合(Exposure Fusion)
图像处理·人工智能·计算机视觉
立秋678921 分钟前
用Python绘制梦幻星空
开发语言·python·pygame