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

相关推荐
编程小白_正在努力中24 分钟前
神经网络深度解析:从神经元到深度学习的进化之路
人工智能·深度学习·神经网络·机器学习
无风听海38 分钟前
神经网络之经验风险最小化
人工智能·深度学习·神经网络
音视频牛哥38 分钟前
轻量级RTSP服务的工程化设计与应用:从移动端到边缘设备的实时媒体架构
人工智能·计算机视觉·音视频·音视频开发·rtsp播放器·安卓rtsp服务器·安卓实现ipc功能
我命由我1234542 分钟前
微信开发者工具 - 模拟器分离窗口与关闭分离窗口
前端·javascript·学习·微信小程序·前端框架·html·js
DKPT1 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
该用户已不存在1 小时前
在 Gemini CLI 中使用 Gemini 3 Pro 实操指南
人工智能·ai编程·gemini
烤汉堡1 小时前
Python入门到实战:post请求+cookie+代理
爬虫·python
东皇太星1 小时前
ResNet (2015)(卷积神经网络)
人工智能·神经网络·cnn
Main. 241 小时前
从0到1学习Qt -- 常见控件之显示类控件
qt·学习
luod2 小时前
Python异常链
python