让我们以 Informer 模型在时间序列预测任务中的应用为例,详细解释全连接层的作用和具体实现过程。
Informer 模型中的全连接层
Informer 是一种高效的时间序列预测模型,基于自注意力机制。它的最后一层通常是全连接层,用于将提取到的特征映射到最终的预测值上。
举例说明
假设我们要预测未来的电力消耗量。输入的数据是过去一段时间的电力消耗记录,模型的目标是预测未来某个时间点的电力消耗值。
输入数据
假设我们的输入时间序列长度为 10,每个时间步包含 3 个特征(例如,电力消耗量、温度、湿度)。输入矩阵 X \mathbf{X} X 大小为 ( 10 , 3 ) (10, 3) (10,3):
X = ( x 1 , 1 x 1 , 2 x 1 , 3 x 2 , 1 x 2 , 2 x 2 , 3 x 3 , 1 x 3 , 2 x 3 , 3 ⋮ ⋮ ⋮ x 10 , 1 x 10 , 2 x 10 , 3 ) \mathbf{X} = \begin{pmatrix} x_{1,1} & x_{1,2} & x_{1,3} \\ x_{2,1} & x_{2,2} & x_{2,3} \\ x_{3,1} & x_{3,2} & x_{3,3} \\ \vdots & \vdots & \vdots \\ x_{10,1} & x_{10,2} & x_{10,3} \end{pmatrix} X= x1,1x2,1x3,1⋮x10,1x1,2x2,2x3,2⋮x10,2x1,3x2,3x3,3⋮x10,3
编码器和解码器
Informer 模型的编码器和解码器会提取并处理这些时间序列特征。假设经过编码器和解码器的处理后,我们得到了一个大小为 ( 1 , 512 ) (1, 512) (1,512) 的特征向量 H \mathbf{H} H,表示综合了过去 10 个时间步的所有信息。
H = ( h 1 h 2 ⋯ h 512 ) \mathbf{H} = \begin{pmatrix} h_1 & h_2 & \cdots & h_{512} \end{pmatrix} H=(h1h2⋯h512)
全连接层
全连接层将这个 512 维的特征向量 H \mathbf{H} H 映射到我们需要的输出维度。假设我们需要预测未来一个时间步的电力消耗值,这个值是一个标量,因此输出维度 d out = 1 d_{\text{out}} = 1 dout=1。
权重矩阵和偏置向量
假设权重矩阵 W \mathbf{W} W 和偏置向量 b \mathbf{b} b 的值如下:
W = ( 0.1 0.2 0.3 ⋮ 0.5 ) (大小为 1×512) \mathbf{W} = \begin{pmatrix} 0.1 \\ 0.2 \\ 0.3 \\ \vdots \\ 0.5 \end{pmatrix} \quad \text{(大小为 1×512)} W= 0.10.20.3⋮0.5 (大小为 1×512)
b = 0.1 (标量) \mathbf{b} = 0.1 \quad \text{(标量)} b=0.1(标量)
计算过程
根据公式,我们进行矩阵乘法并加上偏置:
y = H ⋅ W + b \mathbf{y} = \mathbf{H} \cdot \mathbf{W} + \mathbf{b} y=H⋅W+b
计算步骤如下:
-
矩阵乘法:
H ⋅ W = ( h 1 h 2 ⋯ h 512 ) ( 0.1 0.2 0.3 ⋮ 0.5 ) = ∑ i = 1 512 h i ⋅ w i \mathbf{H} \cdot \mathbf{W} = \begin{pmatrix} h_1 & h_2 & \cdots & h_{512} \end{pmatrix} \begin{pmatrix} 0.1 \\ 0.2 \\ 0.3 \\ \vdots \\ 0.5 \end{pmatrix} = \sum_{i=1}^{512} h_i \cdot w_i H⋅W=(h1h2⋯h512) 0.10.20.3⋮0.5 =i=1∑512hi⋅wi
假设我们计算的值为 z z z:
z = ∑ i = 1 512 h i ⋅ w i z = \sum_{i=1}^{512} h_i \cdot w_i z=i=1∑512hi⋅wi
-
加偏置:
y = z + b = z + 0.1 \mathbf{y} = z + \mathbf{b} = z + 0.1 y=z+b=z+0.1
假设 z = 50.5 z = 50.5 z=50.5,则:
y = 50.5 + 0.1 = 50.6 \mathbf{y} = 50.5 + 0.1 = 50.6 y=50.5+0.1=50.6
最终输出
通过全连接层,我们将 512 维的特征向量 H \mathbf{H} H 映射到了一个标量 y \mathbf{y} y,表示未来一个时间步的电力消耗预测值。
总结
在 Informer 模型中,全连接层的作用是将编码器和解码器提取到的高维特征向量映射到最终的输出空间。在时间序列预测任务中,全连接层通常用于将高维特征向量转换为具体的预测值,如未来的电力消耗量。这个过程包括矩阵乘法和加偏置操作,使得模型能够综合和转换复杂的特征信息,输出所需的预测结果。