gpt4 book ai didi

machine-learning - Beam Search 如何对 The Transformer 的输出进行操作?

转载 作者:行者123 更新时间:2023-11-30 08:42:16 28 4
gpt4 key购买 nike

根据我的理解(如果我错了,请纠正我),Beam Search 是 BFS,它只探索可能性的“图表”b 最可能的选项,其中 b 是光束尺寸。

为了计算/评分每个选项,特别是对于我正在做的 NLP 领域的工作,我们基本上通过计算一个标记的概率(考虑到它之前的所有内容)来计算可能性的分数。

这在循环架构中是有意义的,您只需通过最佳的 b 第一个标记运行解码器所拥有的模型,即可获得每个第一个标记的第二个标记的概率代币。最终,你会得到具有概率的序列,然后你只需选择概率最高的序列即可。

但是,在 Transformer 架构中,模型没有这种递归,输出是词汇表中每个单词、序列中每个位置的完整概率(批量大小、最大序列长度、词汇大小) 。如何解释 Beam Search 的输出?我可以获得输入序列的编码,但是由于不会重复使用先前的输出作为下一个标记解码的输入,因此我如何计算源自最佳 < 的所有可能序列的概率强>b token ?

最佳答案

集束搜索的工作原理与循环模型完全相同。解码器不是循环的(它是自注意力的),但它仍然是自回归的,即生成 token 是以先前生成的 token 为条件的。

在训练时, self 注意力被屏蔽,这样只关注当前生成的单词左侧的单词。它模拟您在推理时的设置,当您确实只有左侧上下文时(因为右侧上下文尚未生成)。

唯一的区别是,在 RNN 解码器中,您仅在每个波束搜索步骤中使用最后一个 RNN 状态。使用 Transformer,您始终需要保留整个假设并对整个左侧上下文进行自注意力。

关于machine-learning - Beam Search 如何对 The Transformer 的输出进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56675662/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com