<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">18492</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2022.018492</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Transferable Features from 1D-Convolutional Network for Industrial Malware Classification</article-title>
<alt-title alt-title-type="left-running-head">Transferable Features from 1D-Convolutional Network for Industrial Malware Classification</alt-title>
<alt-title alt-title-type="right-running-head">Transferable Features from 1D-Convolutional Network for Industrial Malware Classification</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Wang</surname>
<given-names>Liwei</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Sun</surname>
<given-names>Jiankun</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref></contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Luo</surname>
<given-names>Xiong</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="aff" rid="aff-3">3</xref><email>xluo@ustb.edu.cn</email>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Yang</surname>
<given-names>Xi</given-names>
</name>
<xref ref-type="aff" rid="aff-4">4</xref></contrib>
<aff id="aff-1"><label>1</label><institution>School of Computer and Communication Engineering, University of Science and Technology Beijing</institution>, <addr-line>Beijing, 100083</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Beijing Key Laboratory of Knowledge Engineering for Materials Science</institution>, <addr-line>Beijing, 100083</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Shunde Graduate School, University of Science and Technology Beijing</institution>, <addr-line>Foshan, 528399</addr-line>, <country>China</country></aff>
<aff id="aff-4"><label>4</label><institution>Beijing Intelligent Logistics System Collaborative Innovation Center</institution>, <addr-line>Beijing, 101149</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes><corresp id="cor1">&#x002A;Corresponding Author: Xiong Luo. Email: <email>xluo@ustb.edu.cn</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-12-10"><day>10</day>
<month>12</month>
<year>2021</year>
</pub-date>
<volume>130</volume>
<issue>2</issue>
<fpage>1003</fpage>
<lpage>1016</lpage>
<history>
<date date-type="received"><day>28</day>
<month>7</month>
<year>2021</year>
</date>
<date date-type="accepted"><day>28</day>
<month>9</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Zhang et al.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Zhang et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_18492.pdf"></self-uri>
<abstract>
<p>With the development of information technology, malware threats to the industrial system have become an emergent issue, since various industrial infrastructures have been deeply integrated into our modern works and lives. To identify and classify new malware variants, different types of deep learning models have been widely explored recently. Generally, sufficient data is usually required to achieve a well-trained deep learning classifier with satisfactory generalization ability. However, in current practical applications, an ample supply of data is absent in most specific industrial malware detection scenarios. Transfer learning as an effective approach can be used to alleviate the influence of the small sample size problem. In addition, it can also reuse the knowledge from pre-trained models, which is beneficial to the real-time requirement in industrial malware detection. In this paper, we investigate the transferable features learned by a 1D-convolutional network and evaluate our proposed methods on 6 transfer learning tasks. The experiment results show that 1D-convolutional architecture is effective to learn transferable features for malware classification, and indicate that transferring the first 2 layers of our proposed 1D-convolutional network is the most efficient way to reuse the learned features.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Transfer learning</kwd>
<kwd>malware classification</kwd>
<kwd>sequence data modeling</kwd>
<kwd>convolutional network</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>In the era of digitalization and intelligence, an increasing number of industrial devices are connected to the Internet and the generated data can be collected and analyzed more efficiently for personalized service and industrial production. Meanwhile, those devices suffer from various cyber-attacks [<xref ref-type="bibr" rid="ref-1">1</xref>]. Malicious attackers can spread malware, such as viruses, Trojan horses, or ransomware, to compromise industrial systems. To avoid the damages from the malware, an extensive exploration about deep neural networks, recurrent neural network (RNN), and convolutional neural network (CNN) for the industrial Internet of Things (IoT) and cyber-physical system security suggests that deep learning is a powerful tool to detect and classify malware [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-6">6</xref>].</p>
<p>Towards the deep learning solutions for the malware detection and classification tasks, the general idea is to train a deep learning model from scratch following the classical supervised training paradigm. However, the small sample size problem in practical applications degrades the performance severely in deep learning. Due to different kinds of heterogeneous devices in industrial systems and the specificity of malware, the small sample size problem often arises when applying deep learning techniques. Following that, transfer learning is a sophisticated paradigm to alleviate such an issue. In recent researches, transfer learning is widely applied to image-based malware analysis [<xref ref-type="bibr" rid="ref-7">7</xref>&#x2013;<xref ref-type="bibr" rid="ref-10">10</xref>]. The general procedures in such a scenario include: 1) converting every malware instance into a gray-scale or RGB image; 2) pre-training a CNN on a large source dataset, e.g., a ResNet-50 based on ImageNet; 3) transferring the convolutional layers in the pre-trained CNN to a new randomly initialized network, freezing the parameters in the convolutional layers, and fine-tuning the parameters in the fully connected layers on target dataset. Here, the key assumption is that the learned color blobs and Gabor filters from the CNN are also applicable to identify the texture of malware images. It is noted that the differences between natural images and malware images are obvious, which means a semantic gap exists.</p>
<p>To overcome issue of the semantic gap, we select opcode and application programming interface (API) sequence for malware behavior representation. Here, the functionality of various programs in different platforms is a process of executing commands sequentially, which means the opcode or API sequence is a more general and precise behavior representation for malware than image-based representation. Among the data-driven malicious sequence modeling architectures, RNN is a common network structure for modeling sequence data due to its weights sharing mechanism on the time dimension. In the era of big data, processing massive amounts of data has become the norm, and parallel computing is now an essential method to handle it. However, RNN is unable to gain benefit from the graphics processing unit (GPU) with parallel computing ability because of its sequential computation process. Hence, in order to make full use of the parallel computing ability of GPU, a new 1D-convolutional-based sequence data modeling scheme was developed and its excellent performance was validated in language modeling [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>] and time-series classification subsequently [<xref ref-type="bibr" rid="ref-13">13</xref>]. Based on the discussions above, a transfer learning-enhanced 1D-convolutional network architecture is explored for the specific sequence modeling task in this paper, i.e., malware sequence classification. The contributions of this paper are summarized as follows:
<list list-type="bullet">
<list-item><p>We propose a 1D-convolutional architecture to perform transfer learning and evaluate 3 convolutional strategies on 6 transfer learning tasks. The experiment results show that the 1D-convolutional network can effectively learn transferable features for malware classification.</p></list-item>
<list-item><p>We conduct several experiments to identify the practical way to transfer the parameters of convolutional layer. Moreover, the experiment results show that transfer learning is an effective approach to reduce the training time.</p></list-item>
</list></p>
<p>The remainder of this paper is organized as follows. <xref ref-type="sec" rid="s2">Section 2</xref> overviews some recent works on sequence data modeling. The proposed network architecture is described in <xref ref-type="sec" rid="s3">Section 3</xref>. Our experimental results are presented in <xref ref-type="sec" rid="s4">Section 4</xref>. The conclusion of this paper is stated in <xref ref-type="sec" rid="s5">Section 5</xref>.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>Deep learning and transfer learning are widely explored in sequence data modeling. In this section, for sequence data modeling task, the developed deep learning models, especially the 1D-convolutional networks on malicious sequence data, are overviewed firstly. Then, the transfer learning models on sequence data are analyzed.</p>
<sec id="s2_1">
<label>2.1</label>
<title>Deep Learning for Sequence Data Modeling</title>
<p>For malware classification, opcode and API sequences are usually used for malware behavior representation. HaddadPajouh et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] adopted long short-term memory (LSTM) for ARM-based IoT malware detection based on opcode sequence. Kang et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] and Jha et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] used LSTM to classify different malware families based on API sequence and opcode. To benefit from the parallel computing ability of GPU, the 1D-convolutional network is proposed for sequence data modeling. Shelhamer et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed a fully convolutional network (FCN) architecture for semantic segmentation. Wang et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] modified the original FCN with one-dimensional kernels and replaced the last layer of FCN with fully connected layers and a softmax layer for time series classification. After that, some researchers explored the potential of 1D-convolutional networks for malware detection. Hasegawa et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] used a 1D-convolutional network to detect Android malware. Then, to prevent information leakage from the future into the past, a specific temporal convolutional network (TCN) [<xref ref-type="bibr" rid="ref-19">19</xref>] was utilized to categorize malware into different families in the field of IoT malware classification [<xref ref-type="bibr" rid="ref-20">20</xref>].</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Transfer Learning for Sequence Data Modeling</title>
<p>The major assumption from the classical supervised learning scheme is that training and future data follow the same distribution. However, this assumption fails in some industrial malware detection cases, since malicious training instances from heterogeneous devices may not satisfy the same feature distribution. In addition, the training dataset may easily get out of date in the era of big data [<xref ref-type="bibr" rid="ref-21">21</xref>]. Hence, knowledge transfer will be a useful technique to improve the performance of deep learning models. Fawaz et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] extensively explored the transferable ability of 1D-FCN for time series classification, and their experiment results showed that knowledge transfer is beneficial to performance enhancement. Subsequently, Gao et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] explored a semi-supervised transfer learning technique to alleviate the influence of the small sample size problem.</p>
<p>Meanwhile, there are also some problems in the use of transfer learning. They can be summarized as follows: 1) what to transfer? 2) where to transfer? and 3) how to transfer? Currently, the mainstream transfer learning paradigm is based on pre-training and fine-tuning strategies, as illustrated in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, including 1) pre-training a deep learning model on source domain; 2) transferring the learned weights of the first few layers (i.e., what to transfer); 3) freezing the weights of transferred layers and retraining the parameters of the rest on target domain (i.e., how to transfer). In this paper, we follow the general strategy mentioned above, and determine where to transfer the layers pre-trained on the source domain in accordance with the experiment strategy developed in [<xref ref-type="bibr" rid="ref-24">24</xref>].</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>The general transfer learning paradigm using pre-training and fine-tuning strategies 
 
</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-1.png"/>
</fig>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Methodology</title>
<p>In this section, we give a formal definition of the transfer learning task and descriptions of data preprocessing steps firstly. Then, the proposed 1D-convolutional network architecture is introduced.</p>
<p>Here, the schematic diagram of our proposed method is illustrated in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>The schematic diagram of our proposed method 
 
</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-2.png"/>
</fig>
<sec id="s3_1">
<label>3.1</label>
<title>Problem Statement</title>
<p>Domain and task are basic conceptions in transfer learning. A domain <italic>D</italic> is defined as <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mi mathvariant="script">X</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mrow><mml:mi mathvariant="script">X</mml:mi></mml:mrow></mml:math></inline-formula> is the feature space and <italic>P</italic>(<italic>X</italic>) is the marginal distribution of data points. Here, <italic>X</italic> denotes the sample set. A task <italic>T</italic> is defined as <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi>g</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> is the label space, <italic>C</italic> denotes the number of categories, and <italic>g</italic> is the discriminant function that needs to be learned. Here, <italic>g</italic> is usually a conditional distribution <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi mathvariant="script">X</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>y</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow></mml:math></inline-formula>. Hence, a supervised learning task can be denoted as a tuple &#x003C; <italic>D</italic>, <italic>T</italic> &#x003E; .</p>
<p>Based on the definition above, the transfer learning can be defined as: given a source supervised learning task &#x003C; <italic>D<sub>s</sub></italic>, <italic>T<sub>s</sub></italic> &#x003E; and a target supervised learning task &#x003C; <italic>D<sub>t</sub></italic>, <italic>T<sub>t</sub></italic> &#x003E; , the transfer learning utilizes the knowledge learned on the source task to improve the performance of discriminant function on the target task. Since opcode and API in different datasets used in this paper are not consistent, which means <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mi>D</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula>, we adopt the word embedding technique to align the feature space and ensure <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mrow><mml:mi mathvariant="script">X</mml:mi></mml:mrow><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="script">X</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula>. In addition, the key assumption of this paper is that a 1D-convolutional layer can learn general features of sequence data during the pre-training process, and fine-tuning operation is able to make a 1D-convolutional network learn task-specific features on the basis of the transferred layers.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Feature Space Alignment</title>
<p>To ensure the feature space of different datasets has the same mathematic representation, we utilize the GloVe word embedding algorithm [<xref ref-type="bibr" rid="ref-25">25</xref>] to align the feature space. Here, we treat each API or opcode as a word. The procedure of data preprocessing is illustrated in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The extraction of opcode and API can be implemented through the use of reverse engineering tools or the monitor for the dynamic execution process of malware in a sandbox.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>The procedure of data preprocessing</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-3.png"/>
</fig>
<p>GloVe is a word embedding algorithm that takes advantage of both global statistical information and local context. Before training the word vectors, we need to use a sliding window to compute the word-word co-occurrence matrix <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, where <italic>n</italic> denotes the number of API (opcode) and <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mrow><mml:mi mathvariant="bold">M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents occurrence frequency of word <italic>i</italic> around the word <italic>j</italic>. Then, the final optimization objective is shown in <xref ref-type="disp-formula" rid="eqn-1">(1)</xref>, where <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is a weight assignment function in <xref ref-type="disp-formula" rid="eqn-2">(2)</xref>, and it is defined in accordance with the similar setting in [<xref ref-type="bibr" rid="ref-25">25</xref>].</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>

<mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mi mathvariant="normal">L</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:munder><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">w</mml:mi></mml:mrow><mml:mi>j</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x22A4;</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<mml:math id="mml-eqn-2"><mml:mrow><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>/</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if&#x00A0;</mml:mtext><mml:mi>x</mml:mi><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>otherwise</mml:mtext><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> </mml:mrow></mml:mrow></mml:math>
</disp-formula></p>
<p>Here, <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mi>d</mml:mi></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mrow><mml:mi mathvariant="bold">w</mml:mi></mml:mrow><mml:mi>j</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mi>d</mml:mi></mml:msup></mml:math></inline-formula> represent the <italic>i</italic>-th row of <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and the <italic>j</italic>-th row of <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mrow><mml:mi mathvariant="bold">W</mml:mi></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, respectively, where <italic>d</italic> denotes the embedding size and <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mi mathvariant="bold">V</mml:mi><mml:mo mathvariant="bold">,</mml:mo><mml:mi mathvariant="bold">W</mml:mi></mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> are both word embedding matrices, i.e., each row of <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mrow><mml:mi mathvariant="bold">W</mml:mi></mml:mrow></mml:math></inline-formula> are all word vectors that need to be trained. In addition, <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>b</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>b</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are both bias terms that need to be updated during training. In practice, the optimization of the loss function <xref ref-type="disp-formula" rid="eqn-1">(1)</xref> is based on the samples with batches, and therefore the word vectors in <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mrow><mml:mi mathvariant="bold">W</mml:mi></mml:mrow></mml:math></inline-formula> are updated iteratively.</p>
<p>After the convergence of the training process, <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="bold">V</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mi mathvariant="bold">W</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> will be used as the final GloVe word embedding matrix for malware classification. With the assistance of GloVe, all the datasets used in this paper are embedded into the same feature space.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Network Architecture</title>
<p>In this paper, we redesign the 1D-FCN architecture proposed in [<xref ref-type="bibr" rid="ref-13">13</xref>]. To stabilize the training process, we replace the batch normalization with layer normalization and add shortcut connections to 1D-FCN, which is illustrated in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. In this figure, &#x2018;ReLU&#x2019; means the rectified liner unit (ReLU) activation function widely used in neural networks, and it will set negative output to zero and keep non-negative output unchanged. Meanwhile, for multiclass classification task, &#x2018;Softmax&#x2019; is an activation widely used as the last layer to output possibility distribution.</p>
<p>The functionality of basic 1D-convolutional operation is shown in <xref ref-type="fig" rid="fig-5">Fig. 5a</xref>, and the illustration of 1D-convolution with dilation is shown in <xref ref-type="fig" rid="fig-5">Fig. 5b</xref>. In <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, each blue column represents a word vector obtained from GloVe word embedding algorithm, and green columns denote the 1D-kernel. A 1D-kernel acts like a sliding window and travels from left to right to perform convolutional operation. Compared to conventional 1D-kernel, 1D-kernel with dilation can compute larger receptive field, as shown in <xref ref-type="fig" rid="fig-5">Fig. 5b</xref>. To prevent information leakage from the future into the past, padding zeros with <italic>L</italic> &#x2212;1 length will be applied before convolution. Here, <italic>L</italic> denotes the length of 1D-kernel, and such operations are called causal convolution.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>The architecture of our proposed 1D-convolutional network</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-4.png"/>
</fig>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Illustration of 1D-convolution. (a) 1D-Conv without dilation (b) 1D-Conv with dilation </title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-5.png"/>
</fig>
<p>With the architecture we proposed, we evaluate 3 different convolutional strategies: 1) FCN [<xref ref-type="bibr" rid="ref-13">13</xref>] (conventional 1D-convolution as shown in <xref ref-type="fig" rid="fig-5">Fig. 5a</xref>; 2) TCN [<xref ref-type="bibr" rid="ref-19">19</xref>] (1D-convolution with dilation as shown in <xref ref-type="fig" rid="fig-5">Fig. 5b</xref>, where the dilation is not a constant but expansion with the exponential rate, i.e., the dilation factors of the convolutional layers are <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msup><mml:mn>2</mml:mn><mml:mn>0</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mn>1</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mn>2</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo></mml:math></inline-formula>, sequentially; 3) gated convolutional network (GCN) (gated 1D-convolution which was first proposed in [<xref ref-type="bibr" rid="ref-11">11</xref>]).</p>
<p>Since different convolutional strategies share the same network architecture in our experiment settings, we select the gated convolutional layer (GCL) as our baseline convolutional strategy to tune the hyper-parameters. The GCL can be expressed by <xref ref-type="disp-formula" rid="eqn-3">(3)</xref>:</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>

<mml:math id="mml-eqn-3" display="block"><mml:mtext>GCL</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi>K</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2299;</mml:mo><mml:mtext>sigmoid</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi>M</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>where <italic>X</italic> is the input sequence data, <italic>K</italic> and <italic>M</italic> are two different 1D-convolutional kernels with the same shape, &#x2018; * &#x2019; is the convolution operator, and &#x2018;<inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mo>&#x2299;</mml:mo></mml:math></inline-formula>&#x2019; denotes the element-wise multiplication.</p>
<sec id="s3_3_1" sec-type="paragraph">
<title>Shortcut Connection</title>
<p>During the training process of a deep learning model, to solve the gradient vanishing problem, the shortcut connection was proposed in [<xref ref-type="bibr" rid="ref-26">26</xref>]. It is effective and concise shown in <xref ref-type="disp-formula" rid="eqn-4">(4)</xref>:</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>

<mml:math id="mml-eqn-4" display="block"><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mtext>Activate</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow></mml:math></inline-formula> denotes the input data, <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents a layer in a deep learning model, <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mtext>Activate</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes the activation function, and <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow></mml:math></inline-formula> denotes the output of the shortcut connection. According to the shortcut connection, the low-level feature can pass into inner layers, and the fusion of low-level and high-level features is implemented implicitly. In our experiment settings, the number of input channels in the first convolutional layer may be inconsistent with the number of output channels. Hence, a <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mn>1</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> convolutional kernel is applied to adjust the shape of input sequence data to make sure element-wise addition operation is feasible.</p>
</sec>
<sec id="s3_3_2" sec-type="paragraph">
<title>Layer Normalization</title>
<p>Compared with batch normalization, the layer normalization (LN) is helpful to stabilize the training process, and it is more suitable for sequence data and independent of batch size [<xref ref-type="bibr" rid="ref-27">27</xref>], since its computation is limited to one single instance. The computation of LN is defined in <xref ref-type="disp-formula" rid="eqn-5">(5)</xref>:</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>

<mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mi mathvariant="normal">L</mml:mi><mml:mi mathvariant="normal">N</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="double-struck">E</mml:mi></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo stretchy="false">]</mml:mo></mml:mrow><mml:msqrt><mml:mtext>Var</mml:mtext><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mi>&#x03B5;</mml:mi></mml:msqrt></mml:mfrac><mml:mo>&#x2299;</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow></mml:math></inline-formula> is the input data that needs to be normalized, <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mrow><mml:mi mathvariant="double-struck">E</mml:mi></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> represents the operation of calculating average value of <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mtext>Var</mml:mtext><mml:mo stretchy="false">[</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> denotes the operation of computing variance of <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula> is a small constant that is used to avoid zero division error, and it is usually set to 10<sup>&#x2212;5</sup>. Meanwhile, <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>&#x03B3;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula> are the affine coefficients to be learned during training, and they are usually initialized to <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mrow><mml:mn mathvariant="bold">0</mml:mn></mml:mrow></mml:math></inline-formula>, respectively.</p>
</sec>
<sec id="s3_3_3" sec-type="paragraph">
<title>Positional Encoding</title>
<p>To enrich the input sequence representation, positional encoding, which can provide the current positional information for the 1D convolution, is introduced in the proposed model. The utilized positional encoding can be formalized by <xref ref-type="disp-formula" rid="eqn-6">(6)</xref> [<xref ref-type="bibr" rid="ref-28">28</xref>]:</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mstyle><mml:mtext>Positional_Encoding</mml:mtext></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mo>sin</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>q</mml:mi><mml:mo>/</mml:mo><mml:mn>1000</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mstyle><mml:mtext>if&#x00A0;</mml:mtext><mml:mi>k</mml:mi><mml:mtext>&#x00A0;is&#x00A0;even</mml:mtext></mml:mstyle><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mo>cos</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>q</mml:mi><mml:mo>/</mml:mo><mml:mn>1000</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/><mml:mstyle><mml:mtext>if&#x00A0;</mml:mtext><mml:mi>k</mml:mi><mml:mtext>&#x00A0;is&#x00A0;odd</mml:mtext></mml:mstyle><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where <italic>q</italic> denotes the <italic>q</italic>-position in the sequence, <italic>d</italic> is the positional embedding size, <italic>k</italic> denotes the <italic>k</italic>-th entry of the positional vector. In addition, its visualization is illustrated in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>. Each row in <xref ref-type="fig" rid="fig-6">Fig. 6</xref> represents a position vector, and as time step increases, the changes in the high-dimensional component of the position vector become more significant. In this paper, the addition operation between the GloVe vector and positional vector is applied before the 1D-convolutional network.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Visualization of positional encoding 
 
</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-6.png"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Experimental Results and Discussion</title>
<p>In our experiments, we choose Python 3.8, PyTorch 1.7 and CUDA 11.0 to build the convolutional network architecture. The proposed model is tested in a computer that runs Ubuntu and consists of NVIDIA 1080Ti, Intel(R) Xeon(R) CPU E5-2673 v3 and 64 GB memory.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Dataset</title>
<p>There are two Windows platform datasets, including a bigger one, i.e., the Microsoft Malware Classification Challenge (BIG 2015) dataset from Kaggle competition [<xref ref-type="bibr" rid="ref-29">29</xref>], and a smaller one, i.e., the Windows portable executable (PE) dataset from Allan et al. [<xref ref-type="bibr" rid="ref-30">30</xref>]. To make full use of the diversity of the samples and the different malware families in the original datasets, we construct different transfer learning tasks to evaluate our proposed models more comprehensively. Hence, these two datasets are reorganized to conduct the experiments. After the data reorganization, the former bigger dataset is comprised of sequential opcode and API function names, and the latter one is comprised of API sequences. To extensively explore the performance of our proposed architecture, the former Kaggle dataset is split into 3 sub-datasets <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, and the latter PE dataset is split into 2 sub-datasets <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:mi>E</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. The statistical information about the sub-datasets <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:mi>E</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> is presented in <xref ref-type="table" rid="table-1">Table 1</xref>. In the second column of <xref ref-type="table" rid="table-1">Table 1</xref>, each malware family in each dataset is assigned an index. The number of instances in different malware families is listed in <xref ref-type="table" rid="table-1">Table 1</xref>, and their corresponding categories are also listed in the bracket. Additionally, the number of opcodes (APIs) in each dataset is listed in the third column. In addition, each sub-dataset is split into training set and test set according to the proportion 80% and 20%, respectively.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Statistical information about the sub-datasets</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Dataset</th>
<th colspan="3">Categories and the corresponding indices</th>
<th>Opcode (API)</th>
</tr>
<tr>
<th></th>
<th>0</th>
<th>1</th>
<th>2</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><italic>A</italic></td>
<td>1513 (Ramnit)</td>
<td>2470 (Lollipop)</td>
<td>1168 (Obfuscator.ACY)</td>
<td>1070</td>
</tr>
<tr>
<td><italic>B</italic></td>
<td>2936 (Kelihos_ver3)</td>
<td>1168 (Obfuscator.ACY)</td>
<td>1012 (Gatak)</td>
<td>680</td>
</tr>
<tr>
<td><italic>C</italic></td>
<td>446 (Vundo)</td>
<td>294 (Tracur)</td>
<td>387 (Kelihos_ver1)</td>
<td>439</td>
</tr>
<tr>
<td><italic>D</italic></td>
<td>100 (benign)</td>
<td>100 (Backdoor)</td>
<td>80 (Virus)</td>
<td>179</td>
</tr>
<tr>
<td><italic>E</italic></td>
<td>80 (Virus)</td>
<td>100 (Worm)</td>
<td>172 (Trojan)</td>
<td>225</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Parameters Selection</title>
<p>Here, GloVe word embedding algorithm is applied before the training process of the proposed architecture, and the hyper-parameters for the GloVe algorithm are listed in <xref ref-type="table" rid="table-2">Table 2</xref>. Towards the proposed architecture, the key hyper-parameters, including output channels, kernel size in the convolutional layers, and the hidden dimension in the fully connected layer are determined by cross-validation. In addition, other hyper-parameters listed in <xref ref-type="table" rid="table-3">Table 3</xref> are selected by our engineering experience motivated by [<xref ref-type="bibr" rid="ref-13">13</xref>&#x2013;<xref ref-type="bibr" rid="ref-15">15</xref>].</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Hyper-parameters for GloVe algorithm</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Epochs</td>
<td>20</td>
</tr>
<tr>
<td>Batch size</td>
<td>16</td>
</tr>
<tr>
<td>Learning rate</td>
<td>10<sup>&#x2212;3</sup></td>
</tr>
<tr>
<td><inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>100</td>
</tr>
<tr>
<td>Sliding window size</td>
<td>11</td>
</tr>
<tr>
<td>Embedding size</td>
<td>256</td>
</tr>
</tbody>
</table>
</table-wrap>
 
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Hyper-parameters for transfer learning</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Input channels</td>
<td>256</td>
</tr>
<tr>
<td>Output channels</td>
<td>64</td>
</tr>
<tr>
<td>Kernel size</td>
<td>7</td>
</tr>
<tr>
<td>Learning rate</td>
<td>10<sup>&#x2212;3</sup></td>
</tr>
<tr>
<td>Batch size</td>
<td>16</td>
</tr>
<tr>
<td>Pre-training epochs</td>
<td>20</td>
</tr>
<tr>
<td>Fine-tuning epochs</td>
<td>40</td>
</tr>
<tr>
<td>Cross-validation folds</td>
<td>5</td>
</tr>
<tr>
<td>Hidden dimension of fully connected layer</td>
<td>64</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The cross-validation results, i.e., accuracy (mean <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula> std) on training set of <italic>A</italic>, are shown in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>. Firstly, the key hyper-parameters in the 1D-convolutional layer, i.e., kernel size and the number of output channels, are tuned via grid search strategy. In <xref ref-type="fig" rid="fig-7">Fig. 7a</xref>, the horizontal axis denotes the kernel size and the vertical axis denotes the output channels. By observing the cross-validation performance, we select the best combination of output channel and kernel size, then 7 and 64 are chosen as kernel size and output channels, respectively. Moreover, in the fully connected layer, the hyper-parameter, i.e., hidden dimension, is tuned with fixed kernel size and output channels from the previous results. In addition, according to the cross-validation results, as shown in <xref ref-type="fig" rid="fig-7">Fig. 7b</xref>, we select the hidden dimension value that achieves the highest accuracy, then 64 is selected as the hidden dimension. It should be noted that different convolutional networks used here have the same architecture. Therefore, the same hyper-parameter settings can be applied for all different networks on the same dataset. Here, we select GCN as our baseline model to tune hyper-parameters. When all the hyper-parameters are determined, the parameters of 1D-convolution network are initialized to random values, and then they are updated by Adam optimizer.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Cross-validation results (mean <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula> std%) for hyper-parameters tuning 
 
</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-7.png"/>
</fig>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Results and Discussion</title>
<p>To evaluate the performance of our proposed 1D-convolutional architecture comprehensively, GCN, TCN and FCN are selected as comparative algorithms due to their validated excellent performance in many other tasks [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>,<xref ref-type="bibr" rid="ref-22">22</xref>]. To identify where to transfer the learned weights of the 1D-convolution network, we evaluate GCN on 4 transfer learning tasks: <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>A</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>B</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>B</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>A</mml:mi></mml:math></inline-formula>. In <xref ref-type="fig" rid="fig-8">Figs. 8a</xref> and <xref ref-type="fig" rid="fig-8">8d</xref>, we show the accuracy (mean <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula> std) changes on the test set with the increase of the transferred layers for the GCN structure. The baseline <italic>A</italic> and <italic>B</italic> represent the accuracy on test set of <italic>A</italic> and <italic>B</italic> from the GCN without transferred layers. Meanwhile, <italic>AnB</italic> means the first <italic>n</italic> layers of a pre-trained GCN on dataset <italic>A</italic> are transferred to the corresponding first <italic>n</italic> layers in an untrained model and the remaining layers are fine-tuned on <italic>B</italic>. According to <xref ref-type="fig" rid="fig-8">Fig. 8a</xref>, the fine-tuning is able to recover the accuracy no matter how many layers are transferred for <italic>AnA</italic> task, which means fragile co-adaptation phenomenon does not exist in this transfer learning task. In addition, the performance of transfer learning is dropped with the increase of the transferred layers for <italic>AnB</italic> task, which is caused by task-specific features learned by the model. Similarly, <italic>BnB</italic> and <italic>BnA</italic> hold the same conclusion, as shown in <xref ref-type="fig" rid="fig-8">Fig. 8d</xref>. Furthermore, as shown in <xref ref-type="fig" rid="fig-8">Figs. 8b</xref>, <xref ref-type="fig" rid="fig-8">8c</xref>, <xref ref-type="fig" rid="fig-8">8e</xref>, and <xref ref-type="fig" rid="fig-8">8f</xref>, the experimental results of TCN and FCN also hold the same conclusion. Additionally, in order to find out how much time can be reduced by transfer learning, the training time of the fine-tuned model and the pre-trained one is recorded, and then the ratio between them is calculated, as illustrated in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>. The results demonstrate that transferring one convolutional layer is able to reduce the training time by over 10% and transferring all 3 convolutional layers can reduce over 30% of the time. Moreover, the GCN is the most effective model to reduce training time.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Accuracy with different transferred layers. (a) <italic>AnX</italic> tasks using GCN. (b) <italic>AnX</italic> tasks using TCN. (c) <italic>AnX</italic> tasks using FCN. (d) <italic>BnX</italic> tasks using GCN. (e) <italic>BnX</italic> tasks using TCN. (f)<italic>BnX</italic> tasks using FCN 
 
</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-8.png"/>
</fig>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Ratio with different transferred layers. (a) GCN. (b) TCN. (c) FCN</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_18492-fig-9.png"/>
</fig>
<p>We evaluate 3 different 1D-convolutional strategies on 6 transfer learning tasks, as shown in <xref ref-type="table" rid="table-4">Table 4</xref>. Here, &#x2018;XCN-<italic>n</italic>&#x2019; means transferring the first <italic>n</italic> layers of XCN, and each row in <xref ref-type="table" rid="table-4">Table 4</xref> demonstrates experimental results of XCN-<italic>n</italic> on different transfer tasks. For a fair comparison, TCN and FCN have the same hyper-parameters as GCN. From <xref ref-type="table" rid="table-4">Table 4</xref>, in most cases, transferring the first 2 convolutional layers is better than transferring the first 3 layers directly, since the top convolutional layer is more task-specific than previous layers. However, the improvement is slight or even negative when the number of training instances in the target domain is small (i.e., <italic>D</italic> and <italic>E</italic>).</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Accuracy (mean <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula> std) with different transfer tasks on test set</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Model</th>
<th><inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>C</mml:mi></mml:math></inline-formula>(%)</th>
<th><inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>D</mml:mi></mml:math></inline-formula>(%)</th>
<th><inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>(%)</th>
<th><inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>C</mml:mi></mml:math></inline-formula>(%)</th>
<th><inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>D</mml:mi></mml:math></inline-formula>(%)</th>
<th><inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>(%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>GCN-2</td>
<td><inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mn>95.51</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.58</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mn>92.96</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.78</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mn>96.65</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.60</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mn>91.55</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td>GCN-3</td>
<td><inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mn>94.10</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.82</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mn>92.11</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>2.11</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mn>95.86</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.60</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mn>91.55</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td>TCN-2</td>
<td><inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mn>93.22</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.45</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mn>98.93</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.87</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mn>92.68</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.38</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mn>96.04</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.84</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mn>96.79</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.34</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mn>88.73</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.78</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td>TCN-3</td>
<td><inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mn>92.69</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.35</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mn>98.57</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.71</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mn>90.42</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.64</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mn>94.80</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.85</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mn>98.21</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mn>89.30</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>2.11</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td>FCN-2</td>
<td><inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mn>92.51</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.15</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mn>91.55</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mn>95.33</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.45</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mn>89.86</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.64</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td>FCN-3</td>
<td><inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mn>90.31</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.56</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mn>91.55</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mn>94.63</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.51</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mn>100.0</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>0.00</mml:mn></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mn>89.30</mml:mn><mml:mo>&#x00B1;</mml:mo><mml:mn>1.13</mml:mn></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The other conclusion revealed by <xref ref-type="table" rid="table-4">Table 4</xref> is that the source domain, which contains more behavior representation, is more capable of improving the performance of transfer learning tasks. For example, the source domain <italic>A</italic> contains 1070 opcodes (APIs) and <italic>B</italic> contains 680 opcodes (APIs). Hence, the performance of <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>D</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula> is better than (or equal to) the performance of <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>D</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>. In addition, the accuracy of <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>A</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>C</mml:mi></mml:math></inline-formula> is less than that of <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>B</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>C</mml:mi></mml:math></inline-formula>, since <italic>B</italic> and <italic>C</italic> both contain Kelihos malware as shown in <xref ref-type="table" rid="table-1">Table 1</xref>, which means <italic>B</italic> and <italic>C</italic> are more similar.</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>In this paper, we propose a 1D-convolutional architecture for malware classification, and then evaluate the architecture via 3 convolutional strategies on 6 transfer learning tasks. Our experimental results verify that the transfer learning technique is an effective approach to reuse the learned knowledge from other datasets, and transferring the first 2 convolutional layers is a better choice for this malware classification task. Moreover, the experimental results also demonstrate the time reduction in the training process. For future work, our proposed method is expected to be evaluated on other extensive tasks, and domain adaption techniques will be further investigated for performance improvement.</p>
</sec>
</body>
<back>
<fn-group><fn fn-type="other"><p><bold>Funding Statement:</bold> This work was supported in part by the National Natural Science Foundation of China under Grants U1836106 and 81961138010, in part by the Beijing Natural Science Foundation under Grants 19L2029 and M21032, in part by the Scientific and Technological Innovation Foundation of Foshan under Grants BK20BF010 and BK21BF001, in part by the Scientific and Technological Innovation Foundation of Shunde Graduate School, USTB, under Grant BK19BF006, and in part by the Fundamental Research Funds for the University of Science and Technology Beijing under Grant FRF-BD-19-012A.</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn></fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>1.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Lee</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Seo</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Cyber attack scenarios on smart city and their ripple effects</article-title>. <conf-name>Proceedings of the International Conference on Platform Technology and Service</conf-name>, pp. <fpage>1</fpage>&#x2013;<lpage>5</lpage>. Jeju, Korea, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-2"><label>2.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Al-Garadi</surname>, <given-names>M. A.</given-names></string-name>, <string-name><surname>Mohamed</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Al-Ali</surname>, <given-names>A. K.</given-names></string-name>, <string-name><surname>Du</surname>, <given-names>X. J.</given-names></string-name>, <string-name><surname>Ali</surname>, <given-names>I.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>A survey of machine and deep learning methods for Internet of Things (IoT) security</article-title>. <source>IEEE Communications Surveys &#x0026; Tutorials</source><italic>,</italic> <volume>22</volume><issue>(3)</issue><italic>,</italic> <fpage>1646</fpage>&#x2013;<lpage>1685</lpage>. DOI <pub-id pub-id-type="doi">10.1109/COMST.2020.2988293</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>3.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ma</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Tian</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Qiu</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Lo</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Gao</surname>, <given-names>D.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2021</year>). <article-title>Deep-learning-based app sensitive behavior surveillance for android powered cyber-physical systems</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>17</volume><issue>(8)</issue><italic>,</italic> <fpage>5840</fpage>&#x2013;<lpage>5850</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TII.2020.3038745</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>4.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Luo</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>L.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2019</year>). <article-title>A novel human activity recognition scheme for smart health using multilayer extreme learning machine</article-title>. <source>IEEE Internet of Things Journal</source><italic>,</italic> <volume>6</volume><issue>(2)</issue><italic>,</italic> <fpage>1410</fpage>&#x2013;<lpage>1418</lpage>. DOI <pub-id pub-id-type="doi">10.1109/JIOT.2018.2856241</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>5.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Luo</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>W.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2018</year>). <article-title>Short-term wind speed forecasting via stacked extreme learning machine with generalized correntropy</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>14</volume><issue>(11)</issue><italic>,</italic> <fpage>4963</fpage>&#x2013;<lpage>4971</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TII.2018.2854549</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>6.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Luo</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>X.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Ophthalmic disease detection via deep learning with a novel mixture loss function</article-title>. <source>IEEE Journal of Biomedical and Health Informatics</source><italic>,</italic> <volume>25</volume><issue>(9)</issue><italic>,</italic> <fpage>3332</fpage>&#x2013;<lpage>3339</lpage>. DOI <pub-id pub-id-type="doi">10.1109/JBHI.2021.3083605</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>7.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Rezende</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Ruppert</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Carvalho</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Ramos</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>de Geus</surname>, <given-names>P.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Malicious software classification using transfer learning of resNet-50 deep neural network</article-title>. <conf-name>Proceedings of the 16th IEEE International Conference on Machine Learning and Applications</conf-name>, pp. <fpage>1011</fpage>&#x2013;<lpage>1014</lpage>. Cancun, Mexico, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-8"><label>8.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Bhodia</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Prajapati</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Di Troia</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Stamp</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Transfer learning for image-based malware classification</article-title>. <conf-name>Proceedings of the 5th International Conference on Information Systems Security and Privacy</conf-name>, pp. <fpage>719</fpage>&#x2013;<lpage>726</lpage>. Prague, Czech Republic, <publisher-name>SciTePress</publisher-name>.</mixed-citation></ref>
<ref id="ref-9"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nahmias</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Cohen</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Nissim</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Elovici</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Deep feature transfer learning for trusted and automated malware signature generation in private cloud environments</article-title>. <source>Neural Networks</source><italic>,</italic> <volume>124</volume><italic>,</italic> <fpage>243</fpage>&#x2013;<lpage>257</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.neunet.2020.01.003</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>10.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sudhakar</surname>, <given-names>Kumar</given-names></string-name></person-group>, S. (<year>2021</year>). <article-title>MCFT-CNN: Malware classification with fine-tune convolution neural networks using traditional and transfer learning in internet of things</article-title>. <source>Future Generation Computer Systems</source><italic>,</italic> <volume>125</volume><italic>,</italic> <fpage>334</fpage>&#x2013;<lpage>351</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.future.2021.06.029</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>11.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Dauphin</surname>, <given-names>Y. N.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Auli</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Grangier</surname>, <given-names>D.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Language modeling with gated convolutional networks</article-title>. <conf-name>Proceedings of the 34th International Conference on Machine Learning</conf-name>, pp. <fpage>933</fpage>&#x2013;<lpage>941</lpage>. Sydney, Australia, <publisher-name>IMLS</publisher-name>.</mixed-citation></ref>
<ref id="ref-12"><label>12.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Gehring</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Auli</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Grangier</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Yarats</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Dauphin</surname>, <given-names>Y. N.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Convolutional sequence to sequence learning</article-title>. <conf-name>Proceedings of the 34th International Conference on Machine Learning</conf-name>, pp. <fpage>2029</fpage>&#x2013;<lpage>2042</lpage>. Sydney, Australia, <publisher-name>IMLS</publisher-name>.</mixed-citation></ref>
<ref id="ref-13"><label>13.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Wang</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Yan</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Oates</surname>, <given-names>T.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Time series classification from scratch with deep neural networks: A strong baseline</article-title>. <conf-name>Proceedings of the International Joint Conference on Neural Networks</conf-name>, pp. <fpage>1578</fpage>&#x2013;<lpage>1585</lpage>. Anchorage, AK, USA, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-14"><label>14.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>HaddadPajouh</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Dehghantanha</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Khayami</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Choo</surname>, <given-names>K. K. R.</given-names></string-name></person-group> (<year>2018</year>). <article-title>A deep recurrent neural network based approach for internet of things malware threat hunting</article-title>. <source>Future Generation Computer Systems</source><italic>,</italic> <volume>85</volume><italic>,</italic> <fpage>88</fpage>&#x2013;<lpage>96</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.future.2018.03.007</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>15.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Jang</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Jeong</surname>, <given-names>Y. S.</given-names></string-name>, <string-name><surname>Sung</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Long short-term memory-based malware classification method for information security</article-title>. <source>Computers &#x0026; Electrical Engineering</source><italic>,</italic> <volume>77</volume><italic>,</italic> <fpage>366</fpage>&#x2013;<lpage>375</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.compeleceng.2019.06.014</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>16.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Jha</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Prashar</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Long</surname>, <given-names>H. V.</given-names></string-name>, <string-name><surname>Taniar</surname>, <given-names>D.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Recurrent neural network for detecting malware</article-title>. <source>Computers &#x0026; Security</source><italic>,</italic> <volume>99</volume><italic>,</italic> <fpage>102037</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.cose.2020.102037</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>17.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shelhamer</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Long</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Darrell</surname>, <given-names>T.</given-names></string-name></person-group> (<year>2017</year>). <article-title>Fully convolutional networks for semantic segmentation</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source><italic>,</italic> <volume>39</volume><issue>(4)</issue><italic>,</italic> <fpage>640</fpage>&#x2013;<lpage>651</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TPAMI.2016.2572683</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>18.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Hasegawa</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Iyatomi</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2018</year>). <article-title>One-dimensional convolutional neural networks for android malware detection</article-title>. <conf-name>Proceedings of the IEEE 14th International Colloquium on Signal Processing &#x0026; Its Applications</conf-name>, pp. <fpage>99</fpage>&#x2013;<lpage>102</lpage>. Penang, Malaysia, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-19"><label>19.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Bai</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kolter</surname>, <given-names>J. Z.</given-names></string-name>, <string-name><surname>Koltun</surname>, <given-names>V.</given-names></string-name></person-group> (<year>2018</year>). <article-title>An empirical evaluation of generic convolutional and recurrent networks for sequence modeling</article-title>. arXiv:1803.01271.</mixed-citation></ref>
<ref id="ref-20"><label>20.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sun</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Luo</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Gao</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Gao</surname>, <given-names>Y.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>Categorizing malware via a word2vec-based temporal convolutional network scheme</article-title>. <source>Journal of Cloud Computing</source><italic>,</italic> <volume>9</volume><issue>(1)</issue><italic>,</italic> <fpage>53</fpage>. DOI <pub-id pub-id-type="doi">10.1186/s13677-020-00200-y</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>21.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pan</surname>, <given-names>S. J.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>Q.</given-names></string-name></person-group> (<year>2010</year>). <article-title>A survey on transfer learning</article-title>. <source>IEEE Transactions on Knowledge and Data Engineering</source><italic>,</italic> <volume>22</volume><issue>(10)</issue><italic>,</italic> <fpage>1345</fpage>&#x2013;<lpage>1359</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TKDE.2009.191</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>22.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Fawaz</surname>, <given-names>H. I.</given-names></string-name>, <string-name><surname>Forestier</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Weber</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Idoumghar</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Muller</surname>, <given-names>P. A.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Transfer learning for time series classification</article-title>. <conf-name>Proceedings of the IEEE International Conference on Big Data</conf-name>, pp. <fpage>1367</fpage>&#x2013;<lpage>1376</lpage>. Seattle, WA, USA, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-23"><label>23.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gao</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Shan</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Niu</surname>, <given-names>Z.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>Malware classification for the cloud via semi-supervised transfer learning</article-title>. <source>Journal of Information Security and Applications</source><italic>,</italic> <volume>55</volume><italic>,</italic> <fpage>102661</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.jisa.2020.102661</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>24.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Yosinski</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Clune</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Bengio</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Lipson</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2014</year>). <article-title>How transferable are features in deep neural networks?</article-title> <conf-name>Proceedings of the 27th International Conference on Neural Information Processing Systems</conf-name>, pp. <fpage>3320</fpage>&#x2013;<lpage>3328</lpage>. Montreal, QC, Canada, <publisher-name>NIPSF</publisher-name>.</mixed-citation></ref>
<ref id="ref-25"><label>25.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Pennington</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Socher</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Manning</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2014</year>). <article-title>Glove: Global vectors for word representation</article-title>. <conf-name>Proceedings of the Conference on Empirical Methods in Natural Language Processing</conf-name>, pp. <fpage>1532</fpage>&#x2013;<lpage>1543</lpage>. Doha, Qatar, <publisher-name>ACL</publisher-name>.</mixed-citation></ref>
<ref id="ref-26"><label>26.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>He</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Ren</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Deep residual learning for image recognition</article-title>. <conf-name>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</conf-name>, pp. <fpage>770</fpage>&#x2013;<lpage>778</lpage>. Las Vegas, NV, USA, <publisher-name>IEEE</publisher-name>.</mixed-citation></ref>
<ref id="ref-27"><label>27.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Ba</surname>, <given-names>J. L.</given-names></string-name>, <string-name><surname>Kiros</surname>, <given-names>J. R.</given-names></string-name>, <string-name><surname>Hinton</surname>, <given-names>G. E.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Layer normalization</article-title>. arXiv:1607.06450.</mixed-citation></ref>
<ref id="ref-28"><label>28.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Vaswani</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Shazeer</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Parmar</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Uszkoreit</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Jones</surname>, <given-names>L.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2017</year>). <article-title>Attention is all you need</article-title>. <conf-name>Proceedings of the 31st International Conference on Neural Information Processing Systems</conf-name>, pp. <fpage>5999</fpage>&#x2013;<lpage>6009</lpage>. Long Beach, CA, USA, <publisher-name>NIPSF</publisher-name>.</mixed-citation></ref>
<ref id="ref-29"><label>29.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Ronen</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Radu</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Feuerstein</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Yom-Tov</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Ahmadi</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Microsoft malware classification challenge</article-title>. arXiv:1802.10135.</mixed-citation></ref>
<ref id="ref-30"><label>30.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Allan</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Ngubiri</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Windows PE API calls for malicious and benigin programs</article-title>. DOI <pub-id pub-id-type="doi">10.13140/RG.2.2.14417.68960</pub-id>.</mixed-citation></ref>
</ref-list>
</back>
</article>