thuml / Autoformer

About Code release for "Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting" (NeurIPS 2021), https://arxiv.org/abs/2106.13008
MIT License
2k stars 429 forks source link

请问,Autoformer解码器中为何没有mask操作 #114

Closed daihaozxn closed 1 year ago

daihaozxn commented 1 year ago

作者你好,我看SelfAttention_Family.py中有关Transformer的FullAttention 和Informer的ProbAttention,当mask_flag=True时,分别执行了TriangularCausalMask和ProbMask操作,但AutoCorrelation.py中关于Autoformer的AutoCorrelation,当mask_flag=True时,没有做任何操作。这是为什么呢? 谢谢指点!

wuhaixu2016 commented 1 year ago

你好,感谢关注~ (1)mask的主要目的是防止自回归任务中的信息泄露,而Transformer在预测未来时并不是step-by-step的,所以并不需要mask。 (2)关于baseline的方法,他们建模的是point-wise的时间关联,使用mask可以一定程度上保留时间序列的序列关系,所以保留会有正效果。但是Autoformer建模的是series-wise的关联,已经包含了序列关系,因此不需要再进行mask了。

wayne9756 commented 1 year ago

作者你好,那麼在 transfomer的 decoder的設計上也可以選擇不要加入 mask 嘛?