Paper Summary & Evaluating CNN and LSTM for Web Attack Detection

与2017年的paper《CNN-Webshell: Malicious Web Shell Detection with Convolutional Neural Network》不同,作者在本篇文章中改良了之前对HTTP Requests流量文本分割的方式。

根据之前的工作,通过符号 \& 进行分割后,每一个单词可以变为一个one-hot向量,对于一个长为L的序列,其可以得到一组one-hot向量:

但这样是非常浪费时间的,不仅因为其是高维向量,并且忽略了单词与单词之间的关系。受到word embedding的启发,作者将one-hot向量转换成一个低维连续向量:

其可以通过one-hot向量左乘权重矩阵来实现:

其中:

,|V|是词汇表中唯一单词的数目。

对于矩阵M,其可以通过随机分配或学习具有一个隐藏层的网络来获得。在此作者通过输入一个词(一个one-hot向量)并输出下一个词(一个one-hot向量)来训练网络,以学习两个共现词之间的关系。同时经过实验,这样得到的矩阵M比随机分配具有更好的性能。

经过这样转换,之前的one-hot向量序列转换为如下矩阵: