Transformers 如何处理任意长度的输入?

人工智能 自然语言处理 循环神经网络 长短期记忆 变压器
2021-10-21 20:51:31

在论文Attention Is All You Need中介绍的转换器是一种流行的新神经网络架构,通常被视为循环神经网络(如 LSTM 和 GRU)的替代方案。

然而,在阅读了这篇论文以及一些在线解释之后,我仍然无法理解它们是如何工作的。非循环结构如何能够处理任意长度的输入?

1个回答

实际上,由于无法处理长序列,变压器的输入通常有一个上限。通常在当前阶段设置为 512 或 1024。

但是,如果您要求处理各种输入大小,则在 BERT 模型中添加诸如 [PAD] 之类的填充标记是一种常见的解决方案。[PAD] token 的位置可以在 self-attention 中被掩盖,因此不会产生影响。假设我们使用序列长度限制为 512 的转换器模型,然后我们传递 103 个标记的输入序列。我们将其填充到 512 个令牌。在注意力层中,从104到512的位置都被屏蔽了,也就是不参加也不被参加​​。