Informer2020 icon indicating copy to clipboard operation
Informer2020 copied to clipboard

Informer和Autoformer的解码器部分完全没有发挥应有的作用

Open CXL-edu opened this issue 1 year ago • 1 comments

基于Transformer的模型,其解码器在训练的时候可以采用teacher-forcing进行加速训练,在后期还可以根据epoch控制真实值和预测值的比例。但是在评估、推断/预测阶段,解码器的输入应该根据其上一时刻的输出迭代更新,再继续作为输入,以达到自回归的目的。

dec_in : [batch, pred_len, d_model],为简化,假设batch和d_model都为1
dec_out : [batch, pred_len, d_model]

dec_in = [[[0], [0] ... [0]]]  # 初始化的解码器输入,用来预测第一个时刻的值 ,模型输出为dec_out_1
...
dec_in = [[dec_out_1[0, 0], [0] ... [0]]]  # 第一次更新后的解码器输入,用来预测第二个时刻的值,模型输出为dec_out_2
...
dec_in = [[dec_out_1[0, 0], dec_out_2[0, 1] ... [0]]  # 不断迭代,直到达到预测长度

CXL-edu avatar Oct 09 '23 09:10 CXL-edu