这张图表详细描述了Informer网络的各个组件和结构,包括编码器(Encoder)和解码器(Decoder),以及每一部分的具体操作。以下是对每个部分的详细解释:
Encoder(编码器)
编码器部分负责处理输入数据并生成中间表示。具体步骤如下:
-
Inputs(输入):
- 1x3 Conv1d:一维卷积操作,卷积核大小为1x3,用于初步特征提取。
- Embedding (d = 512):将输入数据嵌入到512维的高维空间中,以便于后续处理。
-
ProbSparse Self-attention Block(稀疏自注意力块):
- Multi-head ProbSparse Attention (h = 16, d = 32):多头概率稀疏自注意力机制,有16个头,每个头的维度为32。这个模块用于捕捉输入序列的长程依赖关系,同时通过稀疏化提升计算效率。
- Add, LayerNorm, Dropout (p = 0.1):标准的添加和归一化操作,包括加法(Add)、层归一化(LayerNorm)和0.1的Dropout,用于正则化和防止过拟合。
- Pos-wise FFN (dinner = 2048), GELU:位置逐点的前馈神经网络,内部维度为2048,激活函数为GELU。
- Add, LayerNorm, Dropout (p = 0.1):再一次的添加、归一化和Dropout操作。
-
Distilling(蒸馏):
- 1x3 conv1d, ELU:通过一维卷积和ELU激活函数进行特征压缩。
- Max pooling (stride = 2):最大池化操作,步长为2,用于进一步降低特征维度和减少计算量。
Decoder(解码器)
解码器部分负责从编码器生成的中间表示中恢复输出。具体步骤如下:
-
Inputs(输入):
- 1x3 Conv1d:一维卷积操作,卷积核大小为1x3,用于初步特征提取。
- Embedding (d = 512):将输入数据嵌入到512维的高维空间中,以便于后续处理。
-
Masked PSB(带掩码的稀疏自注意力块):
- add Mask on Attention Block:在注意力块上添加掩码,用于保证自回归性质,防止未来信息泄露。
- Multi-head Attention (h = 8, d = 64):多头自注意力机制,有8个头,每个头的维度为64。
- Add, LayerNorm, Dropout (p = 0.1):标准的添加和归一化操作,包括加法、层归一化和0.1的Dropout。
-
Self-attention Block(自注意力块):
- Add, LayerNorm, Dropout (p = 0.1):添加、层归一化和Dropout操作。
- Pos-wise FFN (dinner = 2048), GELU:位置逐点的前馈神经网络,内部维度为2048,激活函数为GELU。
- Add, LayerNorm, Dropout (p = 0.1):再一次的添加、归一化和Dropout操作。
Final(最终输出)
最终输出层负责将解码器生成的特征映射到最终的预测结果。
- Outputs:
- FCN (d = dout):全连接层,输出维度为 (dout}) 。这一层将解码器的输出转化为模型的最终预测结果。
总结
- 编码器(Encoder):处理输入数据,通过稀疏自注意力机制和前馈神经网络生成中间表示,并通过蒸馏步骤进行特征压缩。
- 解码器(Decoder):从中间表示中恢复输出数据,通过多头自注意力机制、掩码自注意力机制和前馈神经网络生成最终特征。
- 最终输出层(Final):全连接层将解码器的输出映射为最终的预测结果。
这张图表展示了Informer模型的详细结构和各个组件的具体操作步骤,反映了其在处理时序数据时的复杂性和高效性。