Research Article

Attention-Based DSC-ConvLSTM for Multiclass Motor Imagery Classification

Table 1

Network structure.

BlocksLayerFiltersOutputOptions

1Input[C, T]
Reshape[1, C, T]
Conv_timeF1[F1, C, T]kernel_size = (1, 64), stride = (1, 1), padding = (0, F12)
BatchNorm[F1, C, T]num_features = F1, eps = 0.001, momentum = 0.01
Conv_spatDF1[DF1, 1, T]kernel_size = (C, 1), stride=(1, 1),groups = F1
BatchNorm[DF1, 1, T]num_features = DF1, eps = 0.001, momentum = 0.01
Activation[DF1, 1, T]ELU
MaxPool2D[DF1, 1, T//3]kernel_size = (1, 3),stride = (1, 3)
Dropout[DF1, 1, T//3]

2DepthwiseConv2DF2[F2, 1, T//3]kernel_size = (1, 16), stride = (1, 1), groups = F2
PointwiseConv2DDF2[DF2, 1, T//3]kernel_size = (1, 1), stride = (1, 1)
BatchNorm[DF2, 1, T//3]num_features = DF2, eps = 0.001, momentum = 0.01
Activation[DF2, 1, T//3]ELU
MaxPool2D[DF2, 1, T//9]kernel_size = (1, 3), stride = (1, 3)
Dropout

3DepthwiseConv2DF3[F3, 1, T//9]kernel_size = (1, 16), stride = (1, 1), groups = F3
PointwiseConv2DDF3[DF3, 1, T//9]kernel_size = (1, 1), stride = (1, 1)
BatchNorm[DF3, 1, T//9]num_features = DF3, eps = 0.001, momentum = 0.01
Activate[DF3, 1, T//9]ELU
MaxPool2D[DF3, 1, T//27]kernel_size = (1, 3), stride=(1, 3)
Dropout[DF3, 1, T//27]

4SeparableConv2DF4[F4, 1, T//27]kernel_size = (1, 16), stride = (1, 1), groups = F4
PointwiseConv2DDF4[DF4, 1, T//27]kernel_size = (1, 1), stride = (1, 1)
BatchNorm[DF4, 1, T//27]num_features = DF4, eps = 0.001, momentum = 0.01
Activation[DF4 ,1, T//27]ELU
MeanPool2D[DF4, 1, T//81]kernel_size = (1, 3), stride = (1, 3)
Dropout[DF4, 1, T//81]