多头注意力是否消除了对自我注意力的需要?

数据挖掘 深度学习 变压器 注意机制
2022-03-04 12:53:29

标题可能令人困惑,但假设我要使用多头注意力的掩蔽网络构建 Transformer 神经网络(如SepFormer中的那样),是否仍然需要在编码器和解码器中添加自注意力?

1个回答

自我关注意味着X关注X,而不是“正常”关注X关注Y

多头注意力与单头注意力相对。您可以选择将多头或单头注意力同等地用于自我注意力和正常注意力。

掩蔽X和/或是Y设计的第三个独立方面。

在 Transformer 编码器中,只有自注意和前馈网络 (FFN)。如果没有 self-attention 方面,这些层将被简化为 FFN。FFN 只对一个项目进行操作,因此如果没有自我注意,他们永远不会发现项目之间的关系。在文本应用程序中,这意味着它永远不会发现单词之间的关系。在时间序列分析中,它永远不会发现跨时间的关系。

解码器同时使用自我注意和正常注意。如果模型输出中的单词/时间之间没有关系,那么也许你可以摆脱自我注意部分。但是,如果转换器是您数据的有用模型,那么情况就不太可能了。

因此,如果您想要一个明确的是/否答案(如果它消除了自我注意的需要):对于编码器,“否”,对于解码器,“可能不是”。

更新:现在阅读了论文(SepFormer,以及评论中的两个,TSTNN 和 DPTNet),我认为上述内容仍然适用。这些型号仅使用变压器的编码器部分。

DPTNet 和 TSTNN 分别用 RNN 或 GRU 改变了 FFN 的第一部分,所以我想理论上它可以从中学习其他令牌;但这样做的动机是作为需要位置编码的替代方案,我怀疑不再能够并行处理数据是否值得权衡。