Transformer动画讲解:Softmax函数

暑期实习基本结束了,校招即将开启。

不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。

最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。

总结链接如下:


Transformer的Softmax函数:用于将原始注意力分数转换为输入标记的概率分布。这种分布将较高的注意力权重分配给更相关的标记,并将较低的权重分配给不太相关的标记。Transformers通过Softmax在生成输出时,使用注意力机制来权衡不同输入标记的重要性。

图片

Softmax的数学原理:对于一个给定的实数向量,它首先计算每一个元素的指数(e的幂),然后每个元素的指数与所有元素指数总和的比值,就形成了softmax函数的输出。这种计算方式不仅使输出值落在0到1之间,还保证了所有输出值的总和为1。

图片

Softmax在Transformer的位置:

在Transformer模型中,Softmax函数主要在两个关键位置被使用:

  1. 自注意力机制(Self-Attention Mechanism):

    (1)自注意力机制是Transformer模型中的核心组件之一,它允许模型处理输入序列中的依赖关系,而不需要考虑序列中元素的顺序。

    (2)在自注意力机制中,模型首先计算输入序列中每个位置(token)与其他所有位置的的相似度分数(也称为注意力分数)。这些分数通常通过点积、缩放点积或其他相似度函数计算得到。

    (3)使用Softmax函数对这些相似度分数进行归一化,生成一个权重分布,该分布表示了在计算当前位置(query)的表示时,应赋予其他位置(keys)多大的关注程度。

    (4)这些权重最终被用来计算加权和,生成当前位置的上下文向量,该向量将作为该位置在后续层中的输入。

  2. 输出层(Output Layer):

    (1)在Transformer的解码器部分,输出层负责根据解码器的状态生成目标序列。

    (2)当进行词汇预测或生成任务时(如机器翻译中的下一个词预测),解码器的最后一层通常会产生一个未经归一化的分数向量(logits),其中每个元素对应于词汇表中一个词的概率。

    (3)Softmax函数被应用于这个分数向量,将其转换为概率分布,其中每个元素表示生成对应词汇的概率。这使得模型可以生成一个分布,并从中选择最可能的词作为预测结果。

图片

Softmax在Transformer的作用:

  • 归一化:Softmax函数将原始分数转换为概率分布,确保所有概率之和为1,使得输出结果可以解释为概率。

  • 平滑化:通过指数函数,Softmax能够将大的分数差距转换为相对平滑的概率分布,从而避免了“赢家通吃”的情况,即一个分数远大于其他分数时,其他分数几乎被忽略。

  • 可解释性:输出的概率分布使得模型预测结果更加直观和可解释,我们可以直接查看模型为每个可能输出分配的概率。

  • 稳定性:在训练过程中,Softmax有助于保持梯度的稳定性,因为概率分布的变化通常比原始分数更加平滑。

图片

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值