## 2 Method
### Parallel Convolutional Network  
In this paper, we proposed an improved neural network architecture (as shown in Figure 2). The specific network contained 9 layers, the parameters of which were illustrated in Tables 1 and 2. L1 is the data input layer. L2 is the spatial domain convolution layer. L3 to L6 are the parallel convolution layer [32; 33] to extract time domain features. L7 is the pooling layer. L8 and L9 are fully connected layer and softmax layer. The computations in each layer (following, as an example, Table 1 Parameters setting) were described in detail as follows:  
L1: The input layer loads the pre-processed EEG data into the network and uses \(a\) to represent the data tensor transmitted to the neural network. L2: Convolution layer, which is a spatial filter for all channels of the input signal, can improve the signal-to-noise ratio [34], and remove redundant signals in the spatial domain.The formulas are as follows:  
\[a_{i}^{1}(j)=\sum_{i=1}^{i=64}a_{i}^{0}(j)w_{0}+b_{0} \tag{4}\]  
where \(a_{i}^{1}(j)\) is output data for L2, \(i\) (\(1\leq i\leq 64\)) denotes the Spatial dimension, and \(j\) (\(1\leq j\leq 120\)) denotes the time dimension. \(w_{0}\) denotes the weight, \(b_{0}\) denotes the deviation (all \(w_{n}\), and \(b_{n}\) (\(0,1,2,...,n\)) denotes the deviation of different values below). L3 and L4: convolutional layer and dropout layer. This layer is arranged in parallel by three convolutional layers of different convolution sizes. Each convolution and size is the same. Different convolution kernels can be extracted to different values for the same input: information, increasing the complexity of features. After filtering in the time domain after L2 layer spatial filtering, we use 16*5*1, 16*10*1 and 16*15*1 convolution kernels for convolution. After convolution, we can get 16*1*24, 16*17*12 and 16*17*8 feature vectors; these feature vectors are combined into 16*17*44 feature vectors. A dropout layer is added after the convolutional layer to prevent overfitting in the case of too many model parameters [35]. The formula is as follows:  
\[a_{j}^{2}(s)=\sum_{j=1}^{j=120}a_{j}^{1}(s)w_{1}+b_{1}+a_{j}^{1}(s)w_{2}+b_{2 }+a_{j}^{1}(s)w_{3}+b_{3} \tag{5}\]  
\[r^{1}=\text{ Bernoulli }\left(p^{1}\right) \tag{6}\]  
\[a_{j}^{3}(s)=\sum_{j=1}^{j=44}a_{j}^{2}(s)r^{1}w_{4}+b_{4} \tag{7}\]  
where \(a_{j}^{2}(s)\) is output data for L3, \(s\) (\(1\leq s\leq 20\)) denotes the depth of convolution kernels, \(j\) denotes the time dimension, and \(a_{j}^{3}(s)\) is output data after dropout layer. \(r\) and \(p\) denote the dropout value, \(r=0.5\). L5 and L6: Structures of these two layers are the same as that of L3 and L4. These layers are convolved with 16*2*1, 16*4*1, and 16*11*1 convolution kernels, which can get 16*1*22, 16*1*11, and 16*1*4 feature vectors, and are combined into 16*1*37 feature vectors. A dropout(DP) layer is added after the convolution layer, and the value is 0.5. The calculation formula is as follows:  
\[a_{j}^{4}(s)=\sum_{j=1}^{j=44}a_{j}^{3}(s)w_{5}+b_{5}+a_{j}^{3}(s)w_{6}+b_{6}+a_ {j}^{3}(s)w_{7}+b_{7} \tag{8}\]  
\[r^{2}=\text{ Bernoulli }\left(p^{2}\right) \tag{9}\]  
\[a_{j}^{5}(s)=\sum_{j=1}^{j=37}a_{j}^{4}(s)r^{2}w_{8}+b_{8} \tag{10}\]  
L7: The pooling layer consists of a pooling filter of size 2, which is used to reduce the parameters of the network. L8 and L9: Fully connected layer and softmax layer. Data after L7 which are connected with 100 neurons, and then classification by softmax layer. We use rectified linear unit (ReLU) as the activation function [36]. \(a^{6}(k)\) and \(a^{7}(k)\) denote the output data after fully connected(FC) layer. \(k\) is the number of feature maps. The calculation formula is as follows:  
\[a^{6}(k)=\sum_{k=1}^{k=288}a^{5}(k)w_{9}+b_{9} \tag{11}\]  
\[a^{7}(k)=relu\left(\sum_{k=1}^{k=100}a^{6}(k)w_{10}+b_{10}\right) \tag{12}\]  
When the calculated network output probability is greater than or equal to 0.5, the current input signals are determined to be P300 signals, otherwise not. The judgment is as follows:  
\[Q=\left\{