<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Neurosci.</journal-id>
<journal-title>Frontiers in Computational Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-5188</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fncom.2024.1358437</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>End-to-end model-based trajectory prediction for ro-ro ship route using dual-attention mechanism</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Zhao</surname> <given-names>Licheng</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2606411/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Zuo</surname> <given-names>Yi</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2609195/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Zhang</surname> <given-names>Wenjun</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="corresp" rid="c002"><sup>&#x0002A;</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Li</surname> <given-names>Tieshan</given-names></name>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Chen</surname> <given-names>C. L. Philip</given-names></name>
<xref ref-type="aff" rid="aff5"><sup>5</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Navigation College, Dalian Maritime University</institution>, <addr-line>Dalian</addr-line>, <country>China</country></aff>
<aff id="aff2"><sup>2</sup><institution>Maritime Big Data and Artificial Intelligent Application Centre, Dalian Maritime University</institution>, <addr-line>Dalian</addr-line>, <country>China</country></aff>
<aff id="aff3"><sup>3</sup><institution>Key Laboratory of Safety and Security Technology for Autonomous Shipping, Dalian Maritime University</institution>, <addr-line>Dalian</addr-line>, <country>China</country></aff>
<aff id="aff4"><sup>4</sup><institution>School of Automation Engineering, University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country></aff>
<aff id="aff5"><sup>5</sup><institution>School of Computer Science and Engineering, South China University of Technology</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Yushuai Li, University of Oslo, Norway</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Koorosh Gharehbaghi, RMIT University, Australia</p>
<p>Bi Liu, Anhui University, China</p>
<p>Shaolong Yang, Huazhong University of Science and Technology, China</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Yi Zuo <email>zuo&#x00040;dlmu.edu.cn</email></corresp>
<corresp id="c002">Wenjun Zhang <email>wenjunzhang&#x00040;dlmu.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>21</day>
<month>02</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>18</volume>
<elocation-id>1358437</elocation-id>
<history>
<date date-type="received">
<day>19</day>
<month>12</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>31</day>
<month>01</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2024 Zhao, Zuo, Zhang, Li and Chen.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Zhao, Zuo, Zhang, Li and Chen</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>With the rapid increase of economic globalization, the significant expansion of shipping volume has resulted in shipping route congestion, causing the necessity of trajectory prediction for effective service and efficient management. While trajectory prediction can achieve a relatively high level of accuracy, the performance and generalization of prediction models remain critical bottlenecks. Therefore, this article proposes a dual-attention (DA) based end-to-end (E2E) neural network (DAE2ENet) for trajectory prediction. In the E2E structure, long short-term memory (LSTM) units are included for the task of pursuing sequential trajectory data from the encoder layer to the decoder layer. In DA mechanisms, global attention is introduced between the encoder and decoder layers to facilitate interactions between input and output trajectory sequences, and multi-head self-attention is utilized to extract sequential features from the input trajectory. In experiments, we use a ro-ro ship with a fixed navigation route as a case study. Compared with baseline models and benchmark neural networks, DAE2ENet can obtain higher performance on trajectory prediction, and better validation of environmental factors on ship navigation.</p></abstract>
<kwd-group>
<kwd>ship fixed route</kwd>
<kwd>prediction</kwd>
<kwd>end-to-end model</kwd>
<kwd>attention mechanism</kwd>
<kwd>DAE2ENet</kwd>
</kwd-group>
<counts>
<fig-count count="9"/>
<table-count count="5"/>
<equation-count count="19"/>
<ref-count count="27"/>
<page-count count="12"/>
<word-count count="5941"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>It is crucial to obtain dynamic information and data on ship navigation, so as to provide trajectory predictions and develop security-friendly programs and countermeasures for ships&#x00027; intelligent navigation systems (Lehtola et al., <xref ref-type="bibr" rid="B9">2019</xref>). Currently, navigation monitoring information in the shipping process is mainly obtained via the automatic identification system (AIS), which can record the ship number, navigation position, speed, course, and other information. AIS data can provide reliable data support for research and analysis such as maritime traffic analysis, trajectory prediction, and route planning (Zhe et al., <xref ref-type="bibr" rid="B27">2020</xref>; Li et al., <xref ref-type="bibr" rid="B10">2023</xref>). To predict trajectories from the perspective of ship navigation, researchers often use kinematic modeling-based methods, such as the Kalman filter, nearly constant velocity, Bayesian model, and Gaussian-sum filter, which have made good achievements in ship trajectory prediction (Mazzarella et al., <xref ref-type="bibr" rid="B17">2015</xref>; Enrica et al., <xref ref-type="bibr" rid="B5">2018</xref>; Baichen et al., <xref ref-type="bibr" rid="B1">2019</xref>; Rong et al., <xref ref-type="bibr" rid="B18">2019</xref>). The characteristics of these methods make them more suitable for ships sailing in a relatively stable environment. Navigating ships is typically impacted by several geographical conditions, which require consideration of historical data for training prediction models to enhance generalization (Gao et al., <xref ref-type="bibr" rid="B6">2021</xref>). For this situation, machine learning techniques can provide higher prediction accuracy and better generalization ability compared with kinematic methods. Classic machine-learning models have been extensively utilized in the realm of ship trajectory prediction, such as logistic regression (LR) (Sheng et al., <xref ref-type="bibr" rid="B20">2017</xref>), support vector machines (SVM) (Liu et al., <xref ref-type="bibr" rid="B12">2019</xref>), along with many kinds of neural networks (NN) of multi-layer perceptron (MLP) (Valsamis et al., <xref ref-type="bibr" rid="B24">2017</xref>), back-propagation NN (BPNN) (Simsir and Ertugrul, <xref ref-type="bibr" rid="B21">2009</xref>), recurrent neural network (RNN) (Cho et al., <xref ref-type="bibr" rid="B4">2014</xref>; Capobianco et al., <xref ref-type="bibr" rid="B2">2021</xref>), and long short-term memory (LSTM) (Ma et al., <xref ref-type="bibr" rid="B15">2022</xref>; Tang et al., <xref ref-type="bibr" rid="B23">2022</xref>).</p>
<p>However, classic NNs lack a mechanism that can effectively mine information between sequences, so they have obvious limitations when dealing with sequential prediction problems (Zhang et al., <xref ref-type="bibr" rid="B25">2022</xref>). RNN and LSTM can process sequential information, which controls the transmission of information flow through a network by adding gated mechanisms (Schmidhuber and Hochreiter, <xref ref-type="bibr" rid="B19">1997</xref>; Cho et al., <xref ref-type="bibr" rid="B4">2014</xref>). Zhao et al. (<xref ref-type="bibr" rid="B26">2023</xref>) proposed an RNN-based encoder-decoder model for trajectory prediction during ship encounter situations, where the encoder-decoder model provided improvement for handling sequential information. For this case, attention mechanisms provide a more appropriate solution (Luong et al., <xref ref-type="bibr" rid="B14">2015</xref>). Several researchers have introduced the attention mechanism in the trajectory prediction model (Ma et al., <xref ref-type="bibr" rid="B16">2020</xref>; Liang et al., <xref ref-type="bibr" rid="B11">2022</xref>; Liu et al., <xref ref-type="bibr" rid="B13">2022</xref>). Another group of researchers used attention mechanisms for feature extraction in sequential prediction. In Jiang and Zuo (<xref ref-type="bibr" rid="B7">2023</xref>), a multi-class trajectory prediction model was trained using the attention mechanism, and significant predictive ability was achieved in predicting the trajectory sequence. In Chen et al. (<xref ref-type="bibr" rid="B3">2023</xref>), an attention mechanism was applied to associate trajectory change trends with ship navigation states, and adaptively update the weighted factors of features to improve prediction accuracy.</p>
<p>After a review of existing studies, this article proposes a dual-attention (DA) based end-to-end (E2E) neural network (DAE2ENet) model for sequential prediction of ship trajectory. There are two mainly improved parts of the DA mechanism and E2E structure. In the E2E structure, we design a parallel network of LSTM units to extract the complex relationship between the historical and current states of ship trajectories. In the DA mechanism, we incorporate two attention mechanisms, namely global attention (GA) and local attention (LA). The GA facilitates the identification of associations between the input and output sequences, which enables the dynamic adjustment of input sequence weights to suit various prediction tasks. The LA is employed for acquiring significant characteristics from the input sequence when generating the output. In comparison experiments, traditional models (e.g., LR, SVM, BPNN), and classic NNs (e.g., RNN, LSTM, Attention) are used as baseline methods. The results show that DAE2ENet improves the accuracy by around 50% compared to the classic NNs in ship trajectory prediction. In ablation experiments, the effect of LSTM, LA, and GA are investigated, where DA can successfully capture the latent information and associations in AIS data sequences to enhance the effectiveness and generalization of trajectory prediction. According to numerical results, DAE2ENet has improved accuracy by around 30% compared to other attention models.</p>
<p>The remaining parts of this article are presented as follows. Section 2 presents the prosed model of dual attentions, LSTM unit, and end-to-end structure. Section 3 presents experimental results, comparisons, and validations. Section 4 presents conclusions and future plans.</p>
</sec>
<sec sec-type="methods" id="s2">
<title>2 Methodology</title>
<sec>
<title>2.1 Variable statement of trajectory prediction</title>
<p>This article aims to predict the navigation position of ship trajectory based on navigating variables (<italic>X</italic><sub><italic>nav</italic></sub>) and environmental variables (<italic>X</italic><sub><italic>env</italic></sub>). Data gathering of navigating variables is mostly based on AIS, which includes longitude, latitude, speed, course, and so on. Data gathering of environmental variables is mostly based on sensors, which include wind, propeller pitch, rudder, and so on. <xref ref-type="disp-formula" rid="E1">Equation (1)</xref> is a set of ship navigation status and the environmental situation at time <italic>t</italic>.</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>a</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The current and historical navigational states have an impact on the position at sea of the ship in the upcoming moments during the sailing process. The sequence of navigation and environmental variables are shown as <italic>X</italic><sub><italic>nav</italic></sub> &#x0003D; {<italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic>), <italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic> &#x02212; 1), &#x02026;, <italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic> &#x02212; <italic>m</italic>)} and <italic>X</italic><sub><italic>env</italic></sub> &#x0003D; {<italic>X</italic><sub><italic>env</italic></sub>(<italic>t</italic>), <italic>X</italic><sub><italic>env</italic></sub>(<italic>t</italic> &#x02212; 1), &#x02026;, <italic>X</italic><sub><italic>env</italic></sub>(<italic>t</italic> &#x02212; <italic>m</italic>)}, where <italic>m</italic> denotes the time step used in the prediction trajectory. To predict the future position of ship trajectory at time <italic>t</italic> &#x0002B; 1, the mathematical expression is formulated as <xref ref-type="disp-formula" rid="E2">Equation (2)</xref>,</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x00177;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x00177;<sub><italic>t</italic>&#x0002B;1</sub> denotes predicted position of longitude and latitude, and <italic>f</italic>(&#x000B7;) denote the predicting function.</p>
</sec>
<sec>
<title>2.2 Overview of prediction framework</title>
<p>The proposed prediction framework of ship trajectory consists of three major segments that are shown in the diagram in <xref ref-type="fig" rid="F1">Figure 1</xref>. Module 1 is data processing, which includes data cleaning for data exceptions, duplication, errors, and missing values from raw data. This process also provides training and testing data for Modules 2 and 3. Module 2 is model building and training, where DAE2ENet is trained by incorporating LSTM-based E2E structure, local attention, and global attention. Module 2 also includes the fine-tuning process of DAE2ENet parameters based on training data. Module 3 is prediction and validation, which includes comparison experiments with baseline models, and ablation experiments with proposed models.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Overview of prediction framework for ship trajectory.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0001.tif"/>
</fig>
</sec>
<sec>
<title>2.3 Methodological design of DAE2ENet</title>
<p>The LSTM-based E2E structure extracts interactional information between sequences efficiently based on inputs. Since it becomes difficult to understand the dependence on information flowing control, the attention mechanism has been used to learn the dependence of input and output information. Therefore, this article proposes dual attention be incorporated into the E2E structure, where global attention is used to capture relationships from input to output, and local multi-head self-attention is used to extract dependent information in the input sequence. <xref ref-type="fig" rid="F2">Figure 2</xref> shows the visualization of the proposed model.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Network structure and organization of DAE2ENet.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0002.tif"/>
</fig>
<p>In the encoder block, we employ a forward network with two parallel LSTM cells in the hidden layer to pursue sequence data in the input layer. After the hidden layer, hidden states are aggregated by global attention, and dependent information with different relevant weights between input sequence and output value. In the decoder block, multi-head self-attention is employed to explore potential relationships among sequences of input information and generate representations of the relevance between input feature vectors. In the output layer, encoder states depending on global attention and local self-attention are concatenated for final output via MLP. In the encoder, the input sequence is given a new shape to the array without changing the data through the reshape operation, as input to the LSTM unit of the decoder. In the decoder, Add&#x00026;Norm is used to add up the inputs and outputs for the multi-head attention mechanism and perform layer normalization operations. After Add&#x00026;Norm, fully connected layer is to map the features extracted by the multi-head attention mechanism to the final output space as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<sec>
<title>2.3.1 LSTM-based E2E</title>
<p>The DAE2ENet reconstructs the decoder based on the LSTM-based E2E structure and combines it with dual attention mechanisms. <xref ref-type="fig" rid="F2">Figure 2</xref> shows the overall structure of the DAE2ENet model, and <xref ref-type="fig" rid="F3">Figure 3</xref> shows the structure of LSTM-based E2E as well as the operational structure of the LSTM cell. During the whole information flow of the encoding block, the LSTM transfers the input sequence into vector representation according to forward direction. LSTM is an RNN based on a gating strategy. It can effectively solve information loss caused by gradient vanishing in traditional RNNs.</p>
<list list-type="bullet">
<list-item><p><italic>x</italic><sub><italic>t</italic></sub> represents the input sequence, which is given in <xref ref-type="disp-formula" rid="E1">Equation (1)</xref>.</p></list-item>
<list-item><p><italic>h</italic><sub><italic>t</italic></sub> and <inline-formula><mml:math id="M3"><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represent the hidden state of the LSTM cell.</p></list-item>
<list-item><p>&#x00177;<sub><italic>t</italic>&#x0002B;1</sub> represents the output sequence, which is given in <xref ref-type="disp-formula" rid="E2">Equation (2)</xref>.</p></list-item>
<list-item><p>The symbol &#x003C3; refers to sigmoid activation function.</p></list-item>
<list-item><p><italic>C</italic><sub><italic>t</italic></sub> represents the cell state of the LSTM cell.</p></list-item>
</list>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Network structure and organization of LSTM-based E2E.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0003.tif"/>
</fig>
<p>The calculation process for three gate mechanisms is listed as follows.</p>
<list list-type="bullet">
<list-item><p>Forget gate calculates the information that needs to be forgotten at time t, using the previous hidden state <italic>h</italic><sub><italic>t</italic>&#x02212;1</sub>, previous cell state <italic>C</italic><sub><italic>t</italic>&#x02212;1</sub>, and current input <italic>x</italic><sub><italic>t</italic></sub>. <italic>f</italic><sub><italic>t</italic></sub> denotes state of forget gate as <xref ref-type="disp-formula" rid="E3">Equation (3)</xref>.
<disp-formula id="E3"><label>(3)</label><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>Input gate calculates the information that needs to be transferred at time <italic>t</italic>. In the LSTM cell, there are two input gates. The first gate uses the sigmoid function in <xref ref-type="disp-formula" rid="E4">Equation (4)</xref> to map the states <italic>h</italic><sub><italic>t</italic>&#x02212;1</sub> and <italic>x</italic><sub><italic>t</italic></sub>. The second gate also obtains the state from <italic>h</italic><sub><italic>t</italic>&#x02212;1</sub> and <italic>x</italic><sub><italic>t</italic></sub>, which uses the tanh function as <xref ref-type="disp-formula" rid="E5">Equation (5)</xref>.
<disp-formula id="E4"><label>(4)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E5"><label>(5)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo class="qopname">tanh</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
Then, cell state can be obtain according to <xref ref-type="disp-formula" rid="E9">Equation (9)</xref>.
<disp-formula id="E6"><label>(6)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><p>Output gate calculates the current hidden state using the current cell state. <xref ref-type="disp-formula" rid="E6">Equation (6)</xref> shows the calculation formula for transforming state <italic>h</italic><sub><italic>t</italic>&#x02212;1</sub> and <italic>x</italic><sub><italic>t</italic></sub> into information <italic>O</italic><sub><italic>t</italic></sub>. <xref ref-type="disp-formula" rid="E7">Equation (7)</xref> show current hidden state using <italic>O</italic><sub><italic>t</italic>&#x02212;1</sub> and <italic>C</italic><sub><italic>t</italic></sub> via tanh function.
<disp-formula id="E7"><label>(7)</label><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E8"><label>(8)</label><mml:math id="M9"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:mo class="qopname">tanh</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
</list>
<p>Finally, the brief output function calculated by the LSTM unit can be depicted as <xref ref-type="disp-formula" rid="E9">Equations (9)</xref> and <xref ref-type="disp-formula" rid="E10">(10)</xref>,</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>M</mml:mi><mml:mi>C</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E10"><label>(10)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>M</mml:mi><mml:mi>C</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where LSTMCell(&#x000B7;) represents a set of calculation rules for each gate mechanism. Notations &#x003B8; and &#x003B8;&#x02032; are the set of training parameters, which contain {<italic>W</italic><sub><italic>f</italic></sub>, <italic>W</italic><sub><italic>i</italic></sub>, <italic>W</italic><sub><italic>C</italic></sub>, <italic>W</italic><sub><italic>o</italic></sub>, <italic>b</italic><sub><italic>f</italic></sub>, <italic>b</italic><sub><italic>i</italic></sub>, <italic>b</italic><sub><italic>C</italic></sub>, <italic>b</italic><sub><italic>o</italic></sub>}.</p>
</sec>
<sec>
<title>2.3.2 Design of dual-attention mechanism</title>
<p>The attention mechanism has become a standard paradigm in deep learning to solve information overloading and re-allocating problems in sequential models (see <xref ref-type="fig" rid="F4">Figure 4</xref>). An attention mechanism using a key-value pair is included in DAE2ENet, which contains three components: query, key, and value. The query and key vectors are calculated through dot-product to obtain the basic attention score between each current <italic>q</italic><sub><italic>i</italic></sub> and different <italic>k</italic><sub><italic>i</italic></sub>, and the softmax function is used to map this score &#x003B1;<sub><italic>i</italic></sub>. The weight &#x003B1;<sub><italic>i</italic></sub> and value <italic>v</italic><sub><italic>i</italic></sub> are calculated through multiplication to obtain the final attention score based on weighted summation. The calculations are given in <xref ref-type="disp-formula" rid="E11">Equations (11)</xref>&#x02013;<xref ref-type="disp-formula" rid="E13">(13)</xref>.</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>D</italic> represents the dimension of the query vector, <italic>s</italic>(<italic>q</italic><sub><italic>i</italic></sub>, <italic>k</italic><sub><italic>i</italic></sub>) represents the score function for <italic>q</italic><sub><italic>i</italic></sub> and <italic>k</italic><sub><italic>i</italic></sub>.</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E13"><label>(13)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>The basic calculation process of attention mechanism.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0004.tif"/>
</fig>
<p>According to <xref ref-type="fig" rid="F4">Figure 4</xref> and <xref ref-type="disp-formula" rid="E13">Equation (13)</xref>, the product of the values vector <italic>v</italic><sub><italic>i</italic></sub> and weight &#x003B1;<sub><italic>i</italic></sub> obtained by <xref ref-type="disp-formula" rid="E12">Equation (12)</xref> is the attention value between the query vector and the key vector.</p>
<p>Based on the basic attention mechanism, we design dual attentions in DAE2ENet as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. For the encoder, all the hidden states are inputted to calculate attention, which is considered global attention (see <xref ref-type="fig" rid="F5">Figure 5A</xref>). The value of global attention is calculated by inputting the states <italic>h</italic>&#x02032; of the encoder and the decoding state <inline-formula><mml:math id="M15"><mml:msubsup><mml:mrow><mml:mi>h</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> of the decoder as <inline-formula><mml:math id="M16"><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:math></inline-formula>. The calculations of <italic>A</italic><sub><italic>global</italic></sub> are given in <xref ref-type="disp-formula" rid="E14">Equation (14)</xref></p>
<disp-formula id="E14"><label>(14)</label><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M18"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math id="M19"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math id="M20"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denote the query, key, and value vectors of global attention. For the decoder, multi-head self-attention is adopted to calculate the relationships of the input sequence, which is considered as local attention (see <xref ref-type="fig" rid="F5">Figure 5B</xref>). In multi-head attention calculation, a group of attention vectors <italic>Q</italic><sub>&#x003C4;</sub>, <italic>K</italic><sub>&#x003C4;</sub>, <italic>V</italic><sub>&#x003C4;</sub> can be obtained by input <italic>X</italic><sub><italic>t</italic></sub>, and the header value of <italic>head</italic><sub>&#x003C4;</sub> is calculated as <xref ref-type="disp-formula" rid="E15">Equation (15)</xref></p>
<disp-formula id="E15"><label>(15)</label><mml:math id="M21"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The calculations <italic>A</italic><sub><italic>local</italic></sub> of all headers are concatenated as <xref ref-type="disp-formula" rid="E16">Equation (16)</xref>,</p>
<disp-formula id="E16"><label>(16)</label><mml:math id="M22"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>W</mml:mi></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>W</italic><sub><italic>MH</italic></sub> is used for the weight parameter that can be learned during training, and <italic>concat</italic>(&#x000B7;) refers to the concatenation function, which is used to connect the outputs of multi-header self-attention.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Dual-attention mechanism of DAE2ENet. <bold>(A)</bold> Global attention. <bold>(B)</bold> Local attention.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0005.tif"/>
</fig>
<p>Finally, the predicted value of &#x00177;<sub><italic>t</italic>&#x0002B;1</sub> can be obtain by <xref ref-type="disp-formula" rid="E17">Equation (17)</xref>.</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M23"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x00177;</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi>L</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>F</mml:mi><mml:mi>C</mml:mi><mml:mi>N</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>FCNN</italic> denotes fully-connected neural networks, and <italic>MLP</italic> denotes multi-layer perceptron neural networks.</p>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3 Numerical experiments</title>
<sec>
<title>3.1 Data description</title>
<p>The primary trajectory of the ship is depicted in <xref ref-type="fig" rid="F6">Figure 6A</xref>. This article obtained the historical navigation trajectory from 15 February 2010 to 13 April 2010, which contains two routes. Route 1 (234 trajectories, shown in <xref ref-type="fig" rid="F6">Figure 6B</xref>) is the main route, and Route 2 (38 trajectories, shown in <xref ref-type="fig" rid="F6">Figure 6C</xref>) is an alternative route for worse weather conditions. The details of trajectory data are collected and displayed in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Visualization diagram of experimental trajectory. <bold>(A)</bold> Main route of the case ship. <bold>(B)</bold> Typical course of Route 1. <bold>(C)</bold> Typical course of Route 2.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0006.tif"/>
</fig>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Principal information about the experimental data.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Route</bold></th>
<th valign="top" align="center"><bold>Longitude range</bold></th>
<th valign="top" align="center"><bold>Latitude range</bold></th>
<th valign="top" align="center"><bold>No. of trajectories</bold></th>
<th valign="top" align="center"><bold>No. of points</bold></th>
<th valign="top" align="center"><bold>Period</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Route 1</td>
<td valign="top" align="center">(&#x02212;6.60, &#x02212;6.30)</td>
<td valign="top" align="center">(61.30, 61.60)</td>
<td valign="top" align="center">234</td>
<td valign="top" align="center">6,135</td>
<td valign="top" align="center">Feb 15 to Apr 13, 2010</td>
</tr>
<tr>
<td valign="top" align="left">Route 2</td>
<td valign="top" align="center">(&#x02212;6.60, &#x02212;6.30)</td>
<td valign="top" align="center">(61.30, 61.60)</td>
<td valign="top" align="center">38</td>
<td valign="top" align="center">7,362</td>
<td valign="top" align="center">Feb 15 to Apr 13, 2010</td>
</tr></tbody>
</table>
</table-wrap>
<p>The navigation mode of ships on the same route is consistent. Therefore, the experimental data was randomly divided for both routes 1 and 2, with 60% going toward the training set and 40% set aside for testing purposes. The experimental data comes from AIS data and onboard sensor data, and the status information is shown in <xref ref-type="table" rid="T2">Table 2</xref>. Numerical experiments discussed here involve two main components. Firstly, the main experiment is to use ship navigation factors for model training and validation. Secondly, in the discussion section, numerical experiments are conducted to explore the impact resulting from environmental factors on predicting ship trajectory.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Navigation Status and environmental situation of ship trajectory.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th/>
<th valign="top" align="left"><bold>Variable</bold></th>
<th valign="top" align="left"><bold>Abbreviation</bold></th>
<th valign="top" align="center"><bold>Sampling frequency</bold></th>
<th valign="top" align="left"><bold>Description</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left" rowspan="4">Navigation status (<italic>X</italic><sub><italic>nav</italic></sub>)</td>
<td valign="top" align="left">Longitude</td>
<td valign="top" align="left">Lon</td>
<td valign="top" align="center">1 s</td>
<td valign="top" align="left">The ship&#x00027;s longitude coordinates.</td>
</tr>
<tr>
<td valign="top" align="left">Latitude</td>
<td valign="top" align="left">Lat</td>
<td valign="top" align="center">1 s</td>
<td valign="top" align="left">The ship&#x00027;s latitude coordinates.</td>
</tr>
<tr>
<td valign="top" align="left">Course</td>
<td valign="top" align="left">Cou</td>
<td valign="top" align="center">1 s</td>
<td valign="top" align="left">Course over ground.</td>
</tr>
<tr>
<td valign="top" align="left">Speed(knots)</td>
<td valign="top" align="left">Spe</td>
<td valign="top" align="center">1 s</td>
<td valign="top" align="left">Speed over ground.</td>
</tr> <tr>
<td valign="top" align="left" rowspan="6">Environmental situation (<italic>X</italic><sub><italic>env</italic></sub>)</td>
<td valign="top" align="left">Wind Angle</td>
<td valign="top" align="left">WA</td>
<td valign="top" align="center">2 s</td>
<td valign="top" align="left">The angle between the wind direction and the ship&#x00027;s heading is called the wind angle.</td>
</tr>
<tr>
<td valign="top" align="left">Wind Speed</td>
<td valign="top" align="left">WS</td>
<td valign="top" align="center">2 s</td>
<td valign="top" align="left">Wind speed is the rate of airflow in the surrounding environment during ship navigation.</td>
</tr>
<tr>
<td valign="top" align="left">Starboard propeller pitch</td>
<td valign="top" align="left">SPP</td>
<td valign="top" align="center">1 s</td>
<td valign="top" align="left" rowspan="2">Propeller pitch measures forward travel per revolution.</td>
</tr>
 <tr>
<td valign="top" align="left">Port propeller pitch</td>
<td valign="top" align="left">PPP</td>
<td valign="top" align="center">1 s</td>
</tr>
<tr>
<td valign="top" align="left">Port Side rudder</td>
<td valign="top" align="left">PSR</td>
<td valign="top" align="center">1 s</td>
<td valign="top" align="left" rowspan="2">A rudder controls a boat&#x00027;s direction in water, usually positioned at the stern for turning left or right.</td>
</tr>
<tr>
<td valign="top" align="left">Starboard Side rudder</td>
<td valign="top" align="left">SSR</td>
<td valign="top" align="center">1 s</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>3.2 Experimental preparation and setting</title>
<sec>
<title>3.2.1 Model evaluation criterion</title>
<p>Experimental evaluation is an important component of conducting numerical experiments. During the model training process, we chose mean squared error (MSE) as a means to quantify the disparity between the estimated and observed outcomes, and thereafter adjust the model parameters via the backpropagation method. This helps improve prediction accuracy by minimizing errors compared to the true values, thus achieving the purpose of model training. After the model training is completed, we rely on root mean square error (RMSE) metrics to measure our model output accuracy. Smaller MSE and RMSE values suggest a stronger agreement between the predicted and actual results. The Formulas of MSE and RMSE are given as <xref ref-type="disp-formula" rid="E18">Equations (18)</xref> and <xref ref-type="disp-formula" rid="E19">(19)</xref>.</p>
<disp-formula id="E18"><label>(18)</label><mml:math id="M24"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x00177;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E19"><label>(19)</label><mml:math id="M25"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>R</mml:mi><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x00177;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msqrt></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>p</italic> indicates sample quantity, &#x00177;<sub><italic>i</italic></sub> denotes predicted positions and <italic>y</italic><sub><italic>i</italic></sub> represents real navigation positions.</p>
</sec>
<sec>
<title>3.2.2 Parameter settings of the model</title>
<p>In the experiments, the classic optimization algorithm Adam (Kingma and Ba, <xref ref-type="bibr" rid="B8">2015</xref>) is used to modify the adjustable variables in our model architecture, and the learning rate needs to be determined during operation. The sequence information encoding section of the model is frequently formed by three LSTM network structures. The hidden layer is investigated to find the optimal value within the range of [16, 320]. The magnitude of this parameter indicates the degree of non-linearity for fitting the model. When it is large, the model exhibits overfitting of the training set. For each epoch, we train 5,120 samples, which is repeated for 2,000 times. Additionally, to prevent overfitting of the model, dropout (Srivastava et al., <xref ref-type="bibr" rid="B22">2014</xref>) and regularization terms were employed during the training process. Through numerous experiments, the optimized ranges, interval granularity, and optimal parameter values of the model were determined in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Basic information of model hyperparameters.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left"><bold>Hyperparameters</bold></th>
<th valign="top" align="center"><bold>Optimization boundary</bold></th>
<th valign="top" align="center"><bold>Granularity of intervals</bold></th>
<th valign="top" align="center"><bold>Route 1</bold></th>
<th valign="top" align="center"><bold>Route 2</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Learning rate</td>
<td valign="top" align="center">(0.0001, 0.1)</td>
<td valign="top" align="center">0.0001</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">0.01</td>
</tr> <tr>
<td valign="top" align="left">Dropout rate</td>
<td valign="top" align="center">(0.1, 0.5)</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.3</td>
</tr> <tr>
<td valign="top" align="left">Number of LSTM layers</td>
<td valign="top" align="center">(1, 2, 3)</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">2</td>
</tr> <tr>
<td valign="top" align="left">Number of hidden cells</td>
<td valign="top" align="center">(32, 320)</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">128</td>
<td valign="top" align="center">128</td>
</tr>
<tr>
<td valign="top" align="left">Regularization parameter</td>
<td valign="top" align="center">(0.001, 1)</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">0.003</td>
<td valign="top" align="center">0.001</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>3.2.3 Baseline models</title>
<list list-type="bullet">
<list-item><p>LR is a continuous probability estimation method that can be used to solve regression problems when not compressing nonlinearly with a sigmoid function (Sheng et al., <xref ref-type="bibr" rid="B20">2017</xref>).</p></list-item>
<list-item><p>SVM determines an optimal kernel function in regression tasks, making the learned function as close as possible to predicting continuous target variables (Liu et al., <xref ref-type="bibr" rid="B12">2019</xref>).</p></list-item>
<list-item><p>BPNN are prevalent methods of forecasting neural networks with backpropagation (Lehtola et al., <xref ref-type="bibr" rid="B9">2019</xref>).</p></list-item>
<list-item><p>RNN is a classic neural network for sequential prediction (Capobianco et al., <xref ref-type="bibr" rid="B2">2021</xref>).</p></list-item>
<list-item><p>LSTM is one of the RNNs incorporating gating mechanisms (Tang et al., <xref ref-type="bibr" rid="B23">2022</xref>).</p></list-item>
<list-item><p>EncDec-ATTN is an encoder-decoder model including attention mechanism (Capobianco et al., <xref ref-type="bibr" rid="B2">2021</xref>).</p></list-item>
<list-item><p>DAE2ENet is the proposed method in this article.</p></list-item>
<list-item><p>LAE2EDNet is one of variant DAE2ENet remaining only local attention.</p></list-item>
<list-item><p>GAE2ENet is one of variant DAE2ENet remaining only global attention.</p></list-item>
<list-item><p>DAE2EMLP is one of variant DAE2ENet replacing LSTM with MLP.</p></list-item>
</list>
</sec>
</sec>
<sec>
<title>3.3 Experimental comparisons and analyses</title>
<sec>
<title>3.3.1 Comparison of model performance</title>
<p>In comparison with baseline models, we only use navigation status as input <italic>X</italic><sub><italic>nav</italic></sub> &#x0003D; {<italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic>), <italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic> &#x02212; 1), &#x02026;, <italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic> &#x02212; <italic>m</italic>)}, where <italic>X</italic><sub><italic>nav</italic></sub>(<italic>t</italic>) &#x0003D; {<italic>Lon</italic>(<italic>t</italic>), <italic>Lat</italic>(<italic>t</italic>), <italic>Spe</italic>(<italic>t</italic>), <italic>Cou</italic>(<italic>t</italic>)}. The output is the predicting position of &#x00177;(<italic>t</italic> &#x0002B; 1) &#x0003D; {<italic>Lon</italic>(<italic>t</italic> &#x0002B; 1), <italic>Lat</italic>(<italic>t</italic> &#x0002B; 1)}. The last column of <xref ref-type="table" rid="T4">Table 4</xref> shows the optimal parameter values of each model during training. When SVM is used for regression prediction experiments, we chose the Gaussian radial basis (RBF) function as kernel and selected the penalty coefficient <italic>c</italic> &#x0003D; 2.1 for the objective function and the coefficient <italic>gamma</italic> &#x0003D; 0.02. For neural network models, the optimal parameter of this column represents the number of hidden layers, number of hidden units, learning rate, and regularization value, respectively. According to the results of <xref ref-type="table" rid="T4">Table 4</xref>, deep learning methods based on LSTM have achieved better performance compared to traditional methods (such as LR, SVM, and BPNN). On the other hand, models incorporating attention mechanisms performed better than baseline methods. LAE2EDNet and GAE2ENet performed worse than DAE2ENet, which reveals that incorporating the dual-attention mechanism boosts overall performance. In addition, compared with DAE2ENet, the variant model DAE2EMLP also has poor performance, indicating that when using LSTM as the encoding and decoding structure, gated mechanisms can more effectively extract information from sequential data.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>Comparison of model performance indicators.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th rowspan="2"/>
<th valign="top" align="center" rowspan="2"><bold>Model</bold></th>
<th valign="top" align="center" colspan="2"><bold>Route 1</bold></th>
<th valign="top" align="center" colspan="2"><bold>Route 2</bold></th>
<th valign="top" align="center" rowspan="2"><bold>Optimal parameter</bold></th>
</tr>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="center"><bold>MSE</bold></th>
<th valign="top" align="center"><bold>RMSE</bold></th>
<th valign="top" align="center"><bold>MSE</bold></th>
<th valign="top" align="center"><bold>RMSE</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left" rowspan="6">Baseline models</td>
<td valign="top" align="left">LR</td>
<td valign="top" align="center">9.62e-4</td>
<td valign="top" align="center">0.0177</td>
<td valign="top" align="center">8.38e-4</td>
<td valign="top" align="center">0.0167</td>
<td valign="top" align="center">-</td>
</tr>
<tr>
<td valign="top" align="left">SVM</td>
<td valign="top" align="center">5.76e-3</td>
<td valign="top" align="center">0.0413</td>
<td valign="top" align="center">3.62e-3</td>
<td valign="top" align="center">0.0345</td>
<td valign="top" align="center">c = 2.1, gamma = 0.02</td>
</tr>
<tr>
<td valign="top" align="left">BPNN</td>
<td valign="top" align="center">7.00e-4</td>
<td valign="top" align="center">0.0057</td>
<td valign="top" align="center">4.71e-5</td>
<td valign="top" align="center">0.0053</td>
<td valign="top" align="center">2, (128, 64), 0.01, 0.002</td>
</tr>
<tr>
<td valign="top" align="left">RNN</td>
<td valign="top" align="center">6.38e-4</td>
<td valign="top" align="center">0.0045</td>
<td valign="top" align="center">2.39e-5</td>
<td valign="top" align="center">0.0040</td>
<td valign="top" align="center">2, (128, 128), 0.05, 0.05</td>
</tr>
<tr>
<td valign="top" align="left">LSTM</td>
<td valign="top" align="center">6.28e-4</td>
<td valign="top" align="center">0.0042</td>
<td valign="top" align="center">1.65e-5</td>
<td valign="top" align="center">0.0036</td>
<td valign="top" align="center">2, (128, 128), 0.01, 0.002</td>
</tr>
<tr>
<td valign="top" align="left">EncDec-ATTN</td>
<td valign="top" align="center">2.35e-5</td>
<td valign="top" align="center">0.0030</td>
<td valign="top" align="center">1.26e-5</td>
<td valign="top" align="center">0.0028</td>
<td valign="top" align="center">2, (128, 128), 0.02, 0.001</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="4">Our models</td>
<td valign="top" align="left"><bold>DAE2ENet</bold></td>
<td valign="top" align="center">9.10e-6</td>
<td valign="top" align="center"><bold>0.0016</bold></td>
<td valign="top" align="center">8.35e-6</td>
<td valign="top" align="center"><bold>0.0019</bold></td>
<td valign="top" align="center">2, (128, 128), 0.01, 0.003</td>
</tr>
<tr>
<td valign="top" align="left">LAE2ENet</td>
<td valign="top" align="center">1.09e-5</td>
<td valign="top" align="center">0.0028</td>
<td valign="top" align="center">9.38e-6</td>
<td valign="top" align="center">0.0024</td>
<td valign="top" align="center">2, (128, 128), 0.01, 0.003</td>
</tr>
<tr>
<td valign="top" align="left">GAE2ENet</td>
<td valign="top" align="center">7.10e-5</td>
<td valign="top" align="center">0.0023</td>
<td valign="top" align="center">1.05e-5</td>
<td valign="top" align="center">0.0027</td>
<td valign="top" align="center">2, (128, 128), 0.01, 0.003</td>
</tr>
<tr>
<td valign="top" align="left">DAE2EMLP</td>
<td valign="top" align="center">2.40e-5</td>
<td valign="top" align="center">0.0041</td>
<td valign="top" align="center">2.29e-5</td>
<td valign="top" align="center">0.0039</td>
<td valign="top" align="center">2, (128, 128), 0.01, 0.003</td>
</tr></tbody>
</table>
<table-wrap-foot>
<p>The bold values mean the best prediction results can be obtained under current conditions.</p>
</table-wrap-foot>
</table-wrap>
</sec>
<sec>
<title>3.3.2 Result of ship trajectory prediction</title>
<p>The visual representation of the experimental results is depicted in <xref ref-type="fig" rid="F7">Figure 7</xref>. Our model of DAE2ENet predicts a route that is consistent with the actual location of Route 1. <xref ref-type="fig" rid="F7">Figure 7A</xref> displays the forecast outcomes of each model, while <xref ref-type="fig" rid="F7">Figure 7D</xref> highlights discrepancies between actual and estimated movement trajectories. The overall comparison shows that predictions of longitude and latitude obtained by DAE2ENet have the smallest errors compared to other models. <xref ref-type="fig" rid="F7">Figures 7B</xref>, <xref ref-type="fig" rid="F7">C</xref> show more details about the performance of DAE2Net in predicting turning and straight navigation. Especially during ship turning, its prediction error gradually increases in the longitudinal direction due to changes in the navigation status of the ship. However, the prediction result of our model is more stable and has less error compared to other models. Qualitative and numeric analyses provide additional confirmation of the functionality and implementation ability.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Prediction results of the trajectory for Route 1. <bold>(A)</bold> Model predicted results Route 1. <bold>(B)</bold> Prediction results of the turning phase. <bold>(C)</bold> Prediction results of straight stage. <bold>(D)</bold> Model predicted error value of Route 1. <bold>(E)</bold> Prediction error value of turning phase. <bold>(F)</bold> Prediction error value of straight stage.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0007.tif"/>
</fig>
<p>Route 2 is used as validation, and the results are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. Route 2 has larger turning angles, which makes prediction more difficult. As shown in <xref ref-type="fig" rid="F8">Figure 8D</xref>, the prediction errors of BPNN and LSTM have greater volatility and worse prediction performance, especially during navigation turning. DAE2ENet shows lower prediction errors with smaller variations and indicates superior generality and reliability for trajectory prediction.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Prediction results of the trajectory for Route 2. <bold>(A)</bold> Model predicted results Route 2. <bold>(B)</bold> Prediction results of the turning phase. <bold>(C)</bold> Prediction results of straight stage. <bold>(D)</bold> Model predicted error value of Route 2. <bold>(E)</bold> Prediction error value of turning phase. <bold>(F)</bold> Prediction error value of straight stage.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0008.tif"/>
</fig>
</sec>
</sec>
<sec>
<title>3.4 Discussion and implications</title>
<p>During navigation, ships are not only influenced by their navigation factors (<italic>X</italic><sub><italic>nav</italic></sub>={<italic>Lon, Lat, Cou, Spe</italic>}), but also affected by environmental factors (<italic>X</italic><sub><italic>env</italic></sub>={<italic>WS, WA, SPP, PPP, PSR, SSR</italic>}). In this section, we incorporated environmental factors into DAE2ENet as shown in <xref ref-type="table" rid="T2">Table 2</xref>. and investigated the effect of environmental factors on our model. The investigation data used four categories and six types of environmental factors.</p>
<p>In this investigation, ship navigation status <italic>X</italic><sub><italic>nav</italic></sub> was added sequentially to the three groups of environmental situations to explore the repercussions of external factors on maritime route predictions. The results are shown in <xref ref-type="table" rid="T5">Table 5</xref>. When Route 1 is combined with ship navigation <italic>X</italic><sub><italic>nav</italic></sub> and <italic>X</italic><sub><italic>env</italic></sub>={<italic>WS, WA</italic>}, the RMSE value is minimal. For Route 2, the RMSE value is minimal without consideration of environmental factors. When combined with propeller pitch <italic>X</italic><sub><italic>env</italic></sub>={<italic>SPP, PPP</italic>} and rudder angle <italic>X</italic><sub><italic>env</italic></sub>={<italic>PSR, SSR</italic>}, the prediction accuracy of the model decreased. The findings reveal that in the actual trajectory prediction process, environmental factors are unnecessary to maintain a positive effect on the prediction efficiency.</p>
<table-wrap position="float" id="T5">
<label>Table 5</label>
<caption><p>RMSE of cumulative combinations for different variables.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="left" rowspan="2"><bold>Category</bold></th>
<th valign="top" align="left" rowspan="2"><bold>Input feature variables</bold></th>
<th valign="top" align="center" colspan="2"><bold>RMSE</bold></th>
</tr>
<tr style="background-color:#919498;color:#ffffff">
<th valign="top" align="center"><bold>Route 1</bold></th>
<th valign="top" align="center"><bold>Route 2</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>C</italic><sub>1</sub> &#x0003D; {<italic>X</italic><sub><italic>nav</italic></sub>}</td>
<td valign="top" align="left">{<italic>Lon, Lat, Cou, Spe</italic>}</td>
<td valign="top" align="center">0.0016</td>
<td valign="top" align="center"><bold>0.0019</bold></td>
</tr> <tr>
<td valign="top" align="left"><italic>C</italic><sub>2</sub> &#x0003D; {<italic>X</italic><sub><italic>nav</italic></sub>, <italic>X</italic><sub><italic>env</italic></sub>}</td>
<td valign="top" align="left"><italic>C</italic><sub>1</sub> &#x0222A; {<italic>WA, WS</italic>}</td>
<td valign="top" align="center"><bold>0.0013</bold></td>
<td valign="top" align="center">0.0030</td>
</tr> <tr>
<td valign="top" align="left"><italic>C</italic><sub>3</sub> &#x0003D; {<italic>X</italic><sub><italic>nav</italic></sub>, <italic>X</italic><sub><italic>env</italic></sub>}</td>
<td valign="top" align="left"><italic>C</italic><sub>2</sub> &#x0222A; {<italic>SPP, PPP</italic>}</td>
<td valign="top" align="center">0.0027</td>
<td valign="top" align="center">0.0042</td>
</tr>
<tr>
<td valign="top" align="left"><italic>C</italic><sub>4</sub> &#x0003D; {<italic>X</italic><sub><italic>nav</italic></sub>, <italic>X</italic><sub><italic>env</italic></sub>}</td>
<td valign="top" align="left"><italic>C</italic><sub>3</sub> &#x0222A; {<italic>PSR, SSR</italic>}</td>
<td valign="top" align="center">0.0034</td>
<td valign="top" align="center">0.0051</td>
</tr></tbody>
</table>
<table-wrap-foot>
<p>The bold values mean the best prediction results can be obtained under current conditions.</p>
</table-wrap-foot>
</table-wrap>
<p>To further investigate the various impacts of environmental variables regarding the prediction results of two different routes, we discussed the changes in global attention weights of the two different routes when combined with <italic>X</italic><sub><italic>env</italic></sub>={<italic>WS, WA</italic>} as shown in <xref ref-type="fig" rid="F9">Figure 9</xref>. In the case of Route 1 (see <xref ref-type="fig" rid="F9">Figure 9A</xref>), the visual results show that the weights are changing at different positions, which helps us to improve the model&#x00027;s ability to predict accurately with consideration of WS and WA factors. In case of Route 2 (see <xref ref-type="fig" rid="F9">Figure 9B</xref>), the distribution of attention weights at different time steps is more focused, which results in better prediction results for the model without considering WA and WS factors.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Investigation of attention weight scores in trajectory prediction for different factors. <bold>(A)</bold> Case of Route 1. <bold>(B)</bold> Case of Route 2.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fncom-18-1358437-g0009.tif"/>
</fig>
<p>According to the comparative analysis of two sets of experiments, the attention mechanism can affect the sequence information obtained from the output by adjusting the attention weight, thereby enhancing the sequence of information related to the future and obtaining better prediction results. However, if the feature information of the input data is insufficient or unclear, the attention mechanism might lead the model to concentrate on inaccurate or irrelevant information, leading to a decrease in model performance.</p>
</sec>
</sec>
<sec sec-type="conclusions" id="s4">
<title>4 Conclusions</title>
<p>In this article, we propose a dual-attention-based end-to-end neural network to pursue the sequential prediction task of ship trajectory. The proposed DAE2ENet introduces global attention in the encoder layer and local multi-head self-attention in the decoder layer. The global attention mechanism is employed to mine the potential relevance between input and output sequences, and the multi-head self-attention mechanism is used to capture spatial-temporal correlations among sequential feature data. Compared with previous studies, this article mainly contributes to the fields of machine learning and ship navigation from two perspectives. For technique perspective, DAE2ENet provides a novel network structure for time-series analysis and sequential prediction. From an application perspective, DAE2ENet provides a fusion process of AIS data and sensor data, and sufficiently improve the performance of trajectory prediction. Through experimental comparisons and investigations, DAE2ENet and its ablation variants outperformed baseline models including classic and state-of-art neural networks. The numerical results show that DAE2ENet improved the accuracy by around 45&#x02013;70% in RMSE compared to EncDec-ATTN, LSTM, and RNN, and also obtained higher accuracy by around 30&#x02013;60% in RMSE compared to LAE2ENet, GAE2Enet, and DAE2EMLP.</p>
<p>There are two limitations of this study. One is the impact of environmental factors on trajectory prediction. However, DAE2ENet can obtain sufficient accuracy in trajectory prediction without consideration of environmental factors. It is still necessary to improve DAE2ENet by incorporating these factors to enhance prediction accuracy. The other limitation is that dynamic navigation routes were not included to extend the applicability of DAE2ENet.</p>
</sec>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding authors.</p>
</sec>
<sec sec-type="author-contributions" id="s6">
<title>Author contributions</title>
<p>LZ: Conceptualization, Data curation, Formal analysis, Methodology, Software, Visualization, Writing &#x02013; original draft. YZ: Conceptualization, Formal analysis, Methodology, Project administration, Software, Supervision, Visualization, Writing &#x02013; original draft, Writing &#x02013; review &#x00026; editing. WZ: Funding acquisition, Project administration, Resources, Supervision, Writing &#x02013; review &#x00026; editing. TL: Formal analysis, Funding acquisition, Project administration, Resources, Validation, Writing &#x02013; review &#x00026; editing. CC: Formal analysis, Funding acquisition, Project administration, Resources, Validation, Writing &#x02013; review &#x00026; editing.</p>
</sec>
</body>
<back>
<sec sec-type="funding-information" id="s7">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This work was supported by the National Key R&#x00026;D Program of China (Grant No. 2023YFB4302300), the National Natural Science Foundation of China (Grant Nos. 52131101 and 51939001), and the Science and Technology Fund for Distinguished Young Scholars of Dalian (Grant No. 2021RJ08).</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s8">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baichen</surname> <given-names>J.</given-names></name> <name><surname>Jian</surname> <given-names>G.</given-names></name> <name><surname>Wei</surname> <given-names>Z.</given-names></name> <name><surname>Xiaolong</surname> <given-names>C.</given-names></name></person-group> (<year>2019</year>). <article-title>Vessel trajectory prediction algorithm based on polynomial fitting kalman filtering</article-title>. <source>J. Signal Process</source>. <volume>35</volume>, <fpage>741</fpage>&#x02013;<lpage>746</lpage>. <pub-id pub-id-type="doi">10.16798/j.issn.1003-0530.2019.05.002</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Capobianco</surname> <given-names>S.</given-names></name> <name><surname>M</surname> <given-names>M. L.</given-names></name> <name><surname>Nicola</surname> <given-names>F.</given-names></name> <name><surname>Paolo</surname> <given-names>B.</given-names></name> <name><surname>Peter</surname> <given-names>W.</given-names></name></person-group> (<year>2021</year>). <article-title>Deep learning methods for vessel trajectory prediction based on recurrent neural networks</article-title>. <source>IEEE Transact. Aerospace Electron. Syst</source>. <volume>57</volume>, <fpage>4329</fpage>&#x02013;<lpage>4346</lpage>. <pub-id pub-id-type="doi">10.1109/TAES.2021.3096873</pub-id></citation>
</ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>J.</given-names></name> <name><surname>Jixin</surname> <given-names>Z.</given-names></name> <name><surname>Hao</surname> <given-names>C.</given-names></name> <name><surname>Zhao</surname> <given-names>Y.</given-names></name> <name><surname>Wang</surname> <given-names>H.</given-names></name></person-group> (<year>2023</year>). <article-title>A tdv attention-based bigru network for ais-based vessel trajectory prediction</article-title>. <source>iScience</source> <volume>26</volume>:<fpage>106383</fpage>. <pub-id pub-id-type="doi">10.1016/j.isci.2023.106383</pub-id><pub-id pub-id-type="pmid">37063464</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Cho</surname> <given-names>K.</given-names></name> <name><surname>van Merrienboer</surname> <given-names>B.</given-names></name> <name><surname>&#x000C7;aglar G&#x000FC;l&#x000E7;ehre</surname></name> <name><surname>Bougares</surname> <given-names>F.</given-names></name> <name><surname>Schwenk</surname> <given-names>H.</given-names></name> <name><surname>Bengio</surname> <given-names>Y.</given-names></name></person-group> (<year>2014</year>). <article-title>Learning phrase representations using rnn encoder-decoder for statistical machine translation</article-title>, in <source>2014 Conference on Empirical Methods in Natural Language Processing (EMNLP)</source>, eds <person-group person-group-type="editor"><name><surname>Moschitti</surname> <given-names>A.</given-names></name> <name><surname>Pang</surname> <given-names>B.</given-names></name> <name><surname>Daelemans</surname> <given-names>W.</given-names></name></person-group> (<publisher-loc>Doha</publisher-loc>: <publisher-name>Association for Computational Linguistics</publisher-name>), <fpage>1724</fpage>&#x02013;<lpage>1734</lpage>.</citation>
</ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Enrica</surname> <given-names>A.</given-names></name> <name><surname>Paolo</surname> <given-names>B.</given-names></name> <name><surname>M</surname> <given-names>M. L.</given-names></name> <name><surname>Peter</surname> <given-names>W.</given-names></name></person-group> (<year>2018</year>). <article-title>Detecting anomalous deviations from standard maritime routes using the ornstein&#x02013;uhlenbeck process</article-title>. <source>IEEE Transact. Signal Process</source>. <volume>66</volume>, <fpage>6474</fpage>&#x02013;<lpage>6487</lpage>. <pub-id pub-id-type="doi">10.1109/TSP.2018.2875887</pub-id></citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gao</surname> <given-names>D.</given-names></name> <name><surname>Zhu</surname> <given-names>Y.</given-names></name> <name><surname>Zhang</surname> <given-names>J.</given-names></name> <name><surname>He</surname> <given-names>Y.</given-names></name> <name><surname>Yan</surname> <given-names>K.</given-names></name> <name><surname>Yan</surname> <given-names>B.</given-names></name></person-group> (<year>2021</year>). <article-title>A novel mp-lstm method for ship trajectory prediction based on ais data</article-title>. <source>Ocean Eng</source>. <volume>228</volume>:<fpage>108956</fpage>. <pub-id pub-id-type="doi">10.1016/j.oceaneng.2021.108956</pub-id></citation>
</ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname> <given-names>J.</given-names></name> <name><surname>Zuo</surname> <given-names>Y.</given-names></name></person-group> (<year>2023</year>). <article-title>Prediction of ship trajectory in nearby port waters based on attention mechanism model</article-title>. <source>Sustainability</source> <volume>15</volume>:<fpage>7435</fpage>. <pub-id pub-id-type="doi">10.3390/su15097435</pub-id></citation>
</ref>
<ref id="B8">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kingma</surname> <given-names>D. P.</given-names></name> <name><surname>Ba</surname> <given-names>J.</given-names></name></person-group> (<year>2015</year>). <article-title>Adam: a method for stochastic optimization</article-title>, in <source>International Conference on Learning Representations (LCLR)</source> (<publisher-loc>San Diego, CA</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>15</lpage>.</citation>
</ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lehtola</surname> <given-names>V.</given-names></name> <name><surname>Montewka</surname> <given-names>J.</given-names></name> <name><surname>Goerlandt</surname> <given-names>F.</given-names></name> <name><surname>Guinness</surname> <given-names>R.</given-names></name> <name><surname>Lensu</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Finding safe and efficient shipping routes in ice-covered waters: a framework and a model</article-title>. <source>Cold Reg. Sci. Technol</source>. <volume>165</volume>:<fpage>102795</fpage>. <pub-id pub-id-type="doi">10.1016/j.coldregions.2019.102795</pub-id></citation>
</ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Liang</surname> <given-names>M.</given-names></name> <name><surname>Li</surname> <given-names>H.</given-names></name> <name><surname>Yang</surname> <given-names>Z.</given-names></name> <name><surname>Du</surname> <given-names>L.</given-names></name> <name><surname>Chen</surname> <given-names>Z.</given-names></name></person-group> (<year>2023</year>). <article-title>Deep learning-powered vessel traffic flow prediction with spatial-temporal attributes and similarity grouping</article-title>. <source>Eng. Appl. Artif. Intell</source>. <volume>126</volume>:<fpage>107012</fpage>. <pub-id pub-id-type="doi">10.1016/j.engappai.2023.107012</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liang</surname> <given-names>M.</given-names></name> <name><surname>Liu</surname> <given-names>R. W.</given-names></name> <name><surname>Zhan</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>H.</given-names></name> <name><surname>Zhu</surname> <given-names>F.</given-names></name> <name><surname>Wang</surname> <given-names>F.-Y.</given-names></name></person-group> (<year>2022</year>). <article-title>Fine-grained vessel traffic flow prediction with a spatio-temporal multigraph convolutional network</article-title>. <source>IEEE Transact. Intell. Transport. Syst</source>. <volume>23</volume>, <fpage>23694</fpage>&#x02013;<lpage>23707</lpage>. <pub-id pub-id-type="doi">10.1109/TITS.2022.3199160</pub-id></citation>
</ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>J.</given-names></name> <name><surname>Shi</surname> <given-names>G.</given-names></name> <name><surname>Zhu</surname> <given-names>K.</given-names></name></person-group> (<year>2019</year>). <article-title>Vessel trajectory prediction model based on ais sensor data and adaptive chaos differential evolution support vector regression (acde-svr)</article-title>. <source>Appl. Sci</source>. <volume>9</volume>:<fpage>2983</fpage>. <pub-id pub-id-type="doi">10.3390/app9152983</pub-id></citation>
</ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>R. W.</given-names></name> <name><surname>Liang</surname> <given-names>M.</given-names></name> <name><surname>Nie</surname> <given-names>J.</given-names></name> <name><surname>Yuan</surname> <given-names>Y.</given-names></name> <name><surname>Xiong</surname> <given-names>Z.</given-names></name> <name><surname>Yu</surname> <given-names>H.</given-names></name> <etal/></person-group>. (<year>2022</year>). <article-title>Stmgcn: Mobile edge computing empowered vessel trajectory prediction using spatio-temporal multigraph convolutional network</article-title>. <source>IEEE Transact. Ind. Informat</source>. <volume>18</volume>, <fpage>7977</fpage>&#x02013;<lpage>7987</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2022.3165886</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Luong</surname> <given-names>T.</given-names></name> <name><surname>Pham</surname> <given-names>H.</given-names></name> <name><surname>Manning</surname> <given-names>C. D.</given-names></name></person-group> (<year>2015</year>). <article-title>Effective approaches to attention-based neural machine translation</article-title>, in <source>Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing</source>, eds <person-group person-group-type="editor"><name><surname>M&#x000E0;rquez</surname> <given-names>L.</given-names></name> <name><surname>Callison-Burch</surname> <given-names>C.</given-names></name> <name><surname>Su</surname> <given-names>J.</given-names></name></person-group> (<publisher-loc>Lisbon</publisher-loc>: <publisher-name>Association for Computational Linguistics</publisher-name>), <fpage>1412</fpage>&#x02013;<lpage>1421</lpage>.</citation>
</ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ma</surname> <given-names>H.</given-names></name> <name><surname>Zuo</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>T.</given-names></name></person-group> (<year>2022</year>). <article-title>Vessel navigation behavior analysis and multiple-trajectory prediction model based on ais data</article-title>. <source>J. Adv. Transport</source>. <volume>2022</volume>, <fpage>1</fpage>&#x02013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1155/2022/6622862</pub-id></citation>
</ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ma</surname> <given-names>J.</given-names></name> <name><surname>Jia</surname> <given-names>C.</given-names></name> <name><surname>Xin</surname> <given-names>Y.</given-names></name> <name><surname>Xiaochun</surname> <given-names>C.</given-names></name> <name><surname>Wenkai</surname> <given-names>L.</given-names></name> <name><surname>Chunwei</surname> <given-names>Z.</given-names></name></person-group> (<year>2020</year>). <article-title>A data-driven approach for collision risk early warning in vessel encounter situations using attention-bilstm</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>188771</fpage>&#x02013;<lpage>188783</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.3031722</pub-id></citation>
</ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mazzarella</surname> <given-names>F.</given-names></name> <name><surname>Arguedas</surname> <given-names>V. F.</given-names></name> <name><surname>Vespe</surname> <given-names>M.</given-names></name></person-group> (<year>2015</year>). <article-title>Knowledge-based vessel position prediction using historical ais data</article-title>, in <source>2015 Sensor Data Fusion: Trends, Solutions, Applications (SDF)</source> (<publisher-loc>Bonn</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>.</citation>
</ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rong</surname> <given-names>H.</given-names></name> <name><surname>Teixeira</surname> <given-names>A.</given-names></name> <name><surname>Soares</surname> <given-names>C. G.</given-names></name></person-group> (<year>2019</year>). <article-title>Ship trajectory uncertainty prediction based on a gaussian process model</article-title>. <source>Ocean Eng</source>. <volume>182</volume>, <fpage>499</fpage>&#x02013;<lpage>511</lpage>. <pub-id pub-id-type="doi">10.1016/j.oceaneng.2019.04.024</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schmidhuber</surname> <given-names>J.</given-names></name> <name><surname>Hochreiter</surname> <given-names>S.</given-names></name></person-group> (<year>1997</year>). <article-title>Long short-term memory</article-title>. <source>Neural Comput</source>. <volume>9</volume>, <fpage>1735</fpage>&#x02013;<lpage>1780</lpage>. <pub-id pub-id-type="doi">10.1162/neco.1997.9.8.1735</pub-id></citation>
</ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sheng</surname> <given-names>K.</given-names></name> <name><surname>Liu</surname> <given-names>Z.</given-names></name> <name><surname>Zhou</surname> <given-names>D.</given-names></name> <name><surname>He</surname> <given-names>A.</given-names></name> <name><surname>Feng</surname> <given-names>C.</given-names></name></person-group> (<year>2017</year>). <article-title>Research on ship classification based on trajectory features</article-title>. <source>J. Navigat</source>. <volume>71</volume>, <fpage>100</fpage>&#x02013;<lpage>116</lpage>. <pub-id pub-id-type="doi">10.1017/S0373463317000546</pub-id></citation>
</ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Simsir</surname> <given-names>U.</given-names></name> <name><surname>Ertugrul</surname> <given-names>S.</given-names></name></person-group> (<year>2009</year>). <article-title>Prediction of manually controlled vessels position and course navigating in narrow waterways using artificial neural networks</article-title>. <source>Appl. Soft Comp</source>. <volume>9</volume>, <fpage>1217</fpage>&#x02013;<lpage>1224</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2009.03.002</pub-id></citation>
</ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Srivastava</surname> <given-names>N.</given-names></name> <name><surname>Hinton</surname> <given-names>G.</given-names></name> <name><surname>Krizhevsky</surname> <given-names>A.</given-names></name> <name><surname>Sutskever</surname> <given-names>I.</given-names></name> <name><surname>Salakhutdinov</surname> <given-names>R.</given-names></name></person-group> (<year>2014</year>). <article-title>Dropout: a simple way to prevent neural networks from overfitting</article-title>. <source>J. Mach. Learn. Res</source>. <volume>15</volume>, <fpage>1929</fpage>&#x02013;<lpage>1958</lpage>. <pub-id pub-id-type="doi">10.5555/2627435.2670313</pub-id></citation>
</ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tang</surname> <given-names>H.</given-names></name> <name><surname>Yin</surname> <given-names>Y.</given-names></name> <name><surname>Shen</surname> <given-names>H.</given-names></name></person-group> (<year>2022</year>). <article-title>A model for vessel trajectory prediction based on long short-term memory neural network</article-title>. <source>J. Mar. Eng. Technol</source>. <volume>21</volume>, <fpage>136</fpage>&#x02013;<lpage>145</lpage>. <pub-id pub-id-type="doi">10.1080/20464177.2019.1665258</pub-id></citation>
</ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Valsamis</surname> <given-names>A.</given-names></name> <name><surname>Tserpes</surname> <given-names>K.</given-names></name> <name><surname>Zissis</surname> <given-names>D.</given-names></name> <name><surname>Anagnostopoulos</surname> <given-names>D.</given-names></name> <name><surname>Varvarigou</surname> <given-names>T.</given-names></name></person-group> (<year>2017</year>). <article-title>Employing traditional machine learning algorithms for big data streams analysis: the case of object trajectory prediction</article-title>. <source>J. Syst. Softw</source>. <volume>127</volume>, <fpage>249</fpage>&#x02013;<lpage>257</lpage>. <pub-id pub-id-type="doi">10.1016/j.jss.2016.06.016</pub-id></citation>
</ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>X.</given-names></name> <name><surname>Fu</surname> <given-names>X.</given-names></name> <name><surname>Xiao</surname> <given-names>Z.</given-names></name> <name><surname>Xu</surname> <given-names>H.</given-names></name> <name><surname>Qin</surname> <given-names>Z.</given-names></name></person-group> (<year>2022</year>). <article-title>Vessel trajectory prediction in maritime transportation: current approaches and beyond</article-title>. <source>IEEE Transact. Intell. Transport. Syst</source>. <volume>23</volume>, <fpage>19980</fpage>&#x02013;<lpage>19998</lpage>. <pub-id pub-id-type="doi">10.1109/TITS.2022.3192574</pub-id></citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname> <given-names>L.</given-names></name> <name><surname>Zuo</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>T.</given-names></name> <name><surname>Philip Chent</surname> <given-names>C. L.</given-names></name></person-group> (<year>2023</year>). <article-title>Application of an encoder&#x02013;decoder model with attention mechanism for trajectory prediction based on ais data: case studies from the yangtze river of china and the eastern coast of the U.S</article-title>. <source>J. Mar. Sci. Eng</source>. <volume>11</volume>:<fpage>1530</fpage>. <pub-id pub-id-type="doi">10.3390/jmse11081530</pub-id></citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhe</surname> <given-names>X.</given-names></name> <name><surname>Xiuju</surname> <given-names>F.</given-names></name> <name><surname>Liye</surname> <given-names>Z.</given-names></name> <name><surname>Mong</surname> <given-names>G. R. S.</given-names></name></person-group> (<year>2020</year>). <article-title>Traffic pattern mining and forecasting technologies in maritime traffic service networks: a comprehensive survey</article-title>. <source>IEEE Transact. Intell. Transport. Syst</source>. <volume>21</volume>, <fpage>1796</fpage>&#x02013;<lpage>1825</lpage>. <pub-id pub-id-type="doi">10.1109/TITS.2019.2908191</pub-id></citation>
</ref>
</ref-list>
</back>
</article>