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

相关推荐
风萧萧1999几秒前
JAVA :JSONObject转换为XML
xml·java·python
byte轻骑兵1 分钟前
【BlueZ 】用户态入口:main.c 核心函数与程序启动流程
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
海拥✘2 分钟前
网页抓取 API 稳定性怎么测?用 Dataify 完成一次真实压测
python
大模型真好玩2 分钟前
DeepSeek Harness 入门很简单(一)——认识DeepSeek Harness并安装
人工智能·agent·deepseek
j7~3 分钟前
【AI 应用 -- 白话大模型(篇八)】《从零系统学习 AI Skill|起源发展、文件结构、编写原则、机制原理与项目实战案例》
人工智能·skill·编写skill实战·opencode安装·skill社区
databook3 分钟前
几何分布:从“等一个结果”开始
python·数据挖掘·数据分析
老纪的技术唠嗑局4 分钟前
被自己的模型吓到后,OpenAI 终于踩下了刹车
人工智能
JeJe同学5 分钟前
ONNX 的核心原理
人工智能·onnx
狂炫冰美式6 分钟前
电脑合盖之后 Cursor 还在偷我电?看看为啥
前端·人工智能·后端
程序员三明治7 分钟前
【体验毛坯房】Deep Harness 入门教程
java·人工智能·后端·大模型·llm·deepseek·dsh