在 Tensorflow 教程的这一部分中,他们提到他们正在使用教师强制进行训练。据我所知,教师强制涉及将目标输出输入到模型中,以便模型更快地收敛。所以我很好奇这里是如何完成的?真正的目标是tar_real,据我所知,它仅用于计算损失和准确性。我很好奇这段代码是如何实现教师强制的?
提前致谢。
根据我的理解(如果我错了,请纠正我),Beam Search 是 BFS,它只探索可能性的“图”向下b最可能的选项,其中b是光束大小。
为了计算/评分每个选项,特别是对于我正在做的 NLP 领域的工作,我们基本上通过计算一个标记的概率来计算可能性的分数,考虑到它之前的所有内容。
这在循环架构中是有意义的,在这种架构中,您只需通过最好的b 个第一个标记运行您使用解码器拥有的模型,以获得每个第一个标记的第二个标记的概率。最终,您会得到具有概率的序列,然后您只需选择概率最高的序列。
然而,在 Transformer 架构中,模型没有这种循环,输出是词汇表中每个单词的整个概率,序列中的每个位置(批量大小、最大序列长度、词汇大小)。我如何解释 Beam Search 的这个输出?我可以获得输入序列的编码,但由于没有重复使用前一个输出作为下一个标记解码的输入,我如何计算所有可能序列的概率,这些序列源自最佳b令牌?