## 3 Fishing Gear Type Identification from Automatic Identification System Trajectory Data
### The Proposed Deep Neural Network Model for Fishing Gear Type Identification
#### 3.4.2 Feature Extraction and Prediction Modules  
This section describes the feature extraction and prediction modules which extract meaningful features from the preprocessed data and makes predications for fishing gear types. The 1D CNN submodules for the fishing ship movement module extracts \(k\) features from s - 1 preprocessed data records of course change and speed using the deep-learning model of the following architecture:  
\(Input(s-1,\ 1)-[1D Conv (30)\times\text{ReLU Activation}]\times 2-\text{Max Pooling}-[1D Conv (30)\times\text{ReLU}\) Activation] \(\times 2-\text{Max Pooling}-\text{Flatten Layer}-Output(k,\ 1)\)  
In the architecture, 1D Conv(30) indicates a convolution layer that extracts features from one-dimensional data using 30 convolution filters. 1D Conv is used because input data of course change and speed can be treated as one-dimensional data. A convolution operation extracts features for an input with the kernel as follows. Suppose that input data \(\mathbf{C}^{n-1}\) is one-dimensional data and the kernel \(\mathbf{W}^{n}\) is a one-dimensional array of size, i.e., \(K\). Let * denote the convolution operation and \(f\) is an activation function with ReLU function [26]. When the convolution kernel \(\mathbf{W}^{n}\) is applied to input \(\mathbf{C}^{n-1}\) then the output \(\mathbf{C}^{n}\) is computed as follows. Here, \(\mathbf{b}^{n}\) is a bias term. The parameters of convolution kernels are automatically trained from the training data. \[\mathbf{C}^{n}\ =\ f\left(\sum_{i=\ 1}^{\mathbf{C}^{n-1}_{x}}\mathbf{C}^{n-1}_{i}*\mathbf{W}^{ n}_{i}+\mathbf{b}^{n}\right) \tag{8}\]  
Max pooling indicates the max pooling operation, and \([\ ]\times 2\) indicates the repetition number in the bracket \([\ ]\). It plays the role of selecting maximum feature values and of reducing input into a smaller one. The convolution layers use a \(3\times 1\) convolution kernel, and max pooling operations are carried out with the \(4\times 1\) window. The input is given as \((s-1)\times 1\) array which represents the fishing ship course change or speed vectors expressed in one channel. Here \(s\) is the number of pseudo-samples for the trajectory in a trajectory window data. In the experiments, the length of the trajectory window is 24 h, the sliding trajectory window moves the trajectory down by 3 min, and thus, the number \(s\) of pseudo-samples is 480. On the other hand, the output is produced in a \(k\times 1\) array. Here \(k\) is the number of nodes at the output layer of the feature extraction module. In the experiments, \(k\) is 3570 (119 \(\times\) 30). In the feature extraction module, the other feature extraction component for speed shares the same architecture for the feature extraction component of course change. Figure 6 shows those component outputs which are concatenated into a one-dimensional feature. \begin{table}
\begin{tabular}{c c c c} \hline \hline  & **Field** & **Type** & **Data Size** \\ \hline \multirow{2}{*}{**Ship Movement**} & **Course Change** & Continuous & \((s-1)\times 1\) \\  & **Speed** & Continuous & \((s-1)\times 1\) \\ \hline \multirow{4}{*}{**Fishing Environment**} & **Tidal Current** & Continuous & \(1\times 1\) \\  & **Daylight** & Categorical (0: Day, 1: Night) & \(1\times 1\) \\  & **Water Temperature** & Continuous & \(1\times 1\) \\ \cline{2-4}  & **Water Depth** & Continuous & \(1\times 1\) \\ \cline{1-1}  & **Seabed Type** & Categorical & \(5\times 1\) \\ \cline{1-1}  & (0: Mud, 1: Shell, 2: Rock, 3: Sand, 4: Gravel) & \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Constitution of training data set. The fishing environment data such as tidal current, daylight, water temperature, water depth, seabed type are aggregated into one-dimensional data and then fed into the following FCNN (fully connected neural network) which extracts fishing environment features:  
\[Input(9,1)-FCL(20)-Dropout(0.2)-FCL(20)-Dropout(0.2)-Output(20,1)\]  
here FCL(p) indicates a fully connected layer with \(p\) nodes.