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

相关推荐
云泽野2 小时前
【Java|集合类】list遍历的6种方式
java·python·list
麻雀无能为力3 小时前
CAU数据挖掘实验 表分析数据插件
人工智能·数据挖掘·中国农业大学
时序之心3 小时前
时空数据挖掘五大革新方向详解篇!
人工智能·数据挖掘·论文·时间序列
IMPYLH3 小时前
Python 的内置函数 reversed
笔记·python
.30-06Springfield3 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
说私域4 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的超级文化符号构建路径研究
人工智能·小程序·开源
永洪科技4 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
shangyingying_15 小时前
关于小波降噪、小波增强、小波去雾的原理区分
人工智能·深度学习·计算机视觉
小赖同学啊5 小时前
物联网数据安全区块链服务
开发语言·python·区块链
码荼6 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud