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

相关推荐
Lee川几秒前
从零构建智能对话系统:AI Agent 实战指南
人工智能
冬奇Lab25 分钟前
一天一个开源项目(第43篇):Star-Office-UI - 像素风格的 AI 办公室看板,让 AI 助手的工作状态可视化
人工智能·开源·资讯
明月_清风1 小时前
Python 性能微观世界:列表推导式 vs for 循环
后端·python
风象南1 小时前
纯文本模型竟然也能直接“画图”,而且还很好用
前端·人工智能·后端
明月_清风1 小时前
Python 性能翻身仗:从 O(n) 到 O(1) 的工程实践
后端·python
IT_陈寒1 小时前
Vite vs Webpack:5个让你的开发效率翻倍的实战对比
前端·人工智能·后端
摆烂工程师3 小时前
GPT-5.4 发布!再看 OpenClaw:AI 真正危险的,不是更会聊天,而是开始自己“干活”
人工智能·openai·ai编程
飞哥数智坊11 小时前
分享被迫变直播:AI·Spring养虾记就这样上线了
人工智能
Mr_Lucifer15 小时前
「一句话」生成”小红书“式金句海报(CodeFlicker + quote-poster-generator)
人工智能·aigc·visual studio code
冬奇Lab15 小时前
OpenClaw 深度解析(五):模型与提供商系统
人工智能·开源·源码阅读