tensorflow 多头注意力层是自回归的吗?例如"tfa.layers.MultiHeadAttention"

Is tensorflow multi-head attention layer autoregressive? e.g. "tfa.layers.MultiHeadAttention"

我研究了变压器架构中自回归与非自回归之间的区别。但我想知道 TensorFlow 中的注意力层是否实际上是自回归的?还是需要实现自回归机制?

我没有看到因果关系的任何选项(例如因果关系=true/false)

我没有看到说明“tfa.layers.MultiHeadAttention”是否自回归的文档

如有任何想法,我们将不胜感激。

我找到了解决方案:

我发现 TensorFlow 有一个带有因果选项的单一头部注意力层(它有一个布尔选项,可以是 True 或 False),这是我的最佳选择。 link层代码如下:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/layers/dense_attention.py

这一层添加了一个掩码,使得位置 i 无法关注位置 j > i。这阻止了信息从未来流向过去。

可以这样写:

tf.keras.layers.Attention(causal=True,dropout = 0.5)