Attention-Based SeriesNet论文读后感

前提—SeriesNet

SeriesNet是包含LSTM和DC-CNN两个子网络的混合神经网络,能有效解决非线性、非稳态、以及未知依赖的时间序列的预测问题。但是,其有以下缺点:

  • 每一层需要训练的参数量非常大,导致计算效率低
  • 没有考虑学习时间特征的attention机制
  • CNN和RNN的conditioning方法并不具体

由此,提出了Attention-Based Seriesnet模型。

Attention-Based SeriesNet

Attention-Based SeriesNet 在SeriesNet的基础上主要有以下改变:

  • 分别使用GRU, DDSTCNS(dilated depthwise separable temporal convolution)替代 LSTM, DC-CNN,降低神经网络层的参数
  • 利用SeriesNet的注意力机制,在 lightweight RNN-based hidden state attention module(HASM) 和 CNN-based conolutional block module(CBAM)
  • 在残差连接块中使用SELU**函数替代RELU**函数

优点:

  • 减少了参数量,减小计算复杂度,增加模型训练效率
  • 提升了模型预测准确率

模型结构

在这里插入图片描述
RNN子网络Condition输入数据( y R i T y \in R^{i*T} )维度的转换过程:
使用GRU网络:
\quad Condition->Fltten: y R i T y \in R^{i*T} -> y R 1 v y \in R^{1*v}
\quad Flatten->FC: y R 1 v y \in R^{1*v} -> y R 1 m y \in R^{1*m}
使用LSTM网络:
\quad Condition->Fltten: y R i T y \in R^{i*T} -> y R 1 v y \in R^{1*v}
\quad Flatten->FC: y R 1 v y \in R^{1*v} -> y R 1 2 m y \in R^{1*2m} -> y R 2 m y \in R^{2*m}
\quad 每一行被认为是初始隐藏状态和初始单元状态
v = i T v=i*T , m为第一层RNN的神经元的数量

DDSTCNs介绍

主要原理

DDSTCNs基于深度可分离卷积,深度可分离卷积将一个卷积核分割成两个独立的卷积核,做两次卷积:深度卷积(depthwise convolution)和点卷积(pointwise convolution)
深度卷积:通过对每个输入通道应用不同的卷积核来分离通道
点卷积:对深度卷积的每个输出通道采用一个1*1的卷积核,并将它们合并在一起

结构图如下:
在这里插入图片描述

CBAM

结构如如下:
在这里插入图片描述

计算过程:
M n ( F ) = σ ( M L P ( A v g P o o l ( F ) ) ) + M L P ( M a x P o o l ( F ) ) = σ ( W 1 ( W 0 ( F a v g n ) ) + W 1 ( W 0 ( F m a x n ) ) )   F = M N ( f ) F   M T ( F ) = σ ( f 1 7 ( [ A v g P o o l ( F ) ; M a x P o o l ( F ) ] ) ) = σ ( f 1 7 ( F a v g T ; F m a x T ) )   F = M T ( F ) F M_n(F) = \sigma(MLP(AvgPool(F))) + MLP(MaxPool(F)) \\ = \sigma(W_1(W_0(F_{avg}^n)) + W1(W_0(F_{max}^n))) \\ \ \\ F' = M_N(f) \otimes F\\ \ \\ M_T(F') = \sigma(f^{1*7}([AvgPool(F');MaxPool(F')])) \\ = \sigma(f^{1*7}(F_{avg}^{'T} ;F_{max}^{'T})) \\ \ \\ F'' = M_T(F) \otimes F

HSAM

计算过程图:
在这里插入图片描述
计算过程
H T ( h ) = σ ( f 1 7 [ M L P ( A v g ( P o o l ( h ) ) ) ; M L P ( M a x P o o l ( h ) ] ) ) = σ ( f 1 7 ( [ W 1 ( W 0 ( h a v g n ) ) ; W 1 ( W 0 ( h m a x n ) ) ] ) )   h = H T ( h ) H H_T(h) = \sigma(f^{1*7}[MLP(Avg(Pool(h)));MLP(MaxPool(h)])) \\ = \sigma(f^{1*7}([W_1(W_0(h_{avg}^n)) ; W1(W_0(h_{max}^n))]) ) \\ \ \\ h' = H_T(h) \otimes H