美文网首页
异常检测:MS-LSTM阅读笔记

异常检测:MS-LSTM阅读笔记

作者: 飙6风 | 来源:发表于2020-04-21 21:04 被阅读0次

    一、文章简介

    名称:《MS-LSTM: a Multi-Scale LSTM Model for BGP Anomaly Detection

    时间:2016年

    期刊:2016 IEEE 24thInternational Conference on Network Protocols (ICNP)

    二、论文总结

    2.1 论文目的

        使用LSTM对BGP流量进行异常检测。

    2.2 写作动机    

        前人采用签名、统计、机器学习等方法进行BGP流量异常检测有很多不足:(1)所有方法通常都会选择当前的流量特征来做出决定,而与流量数据的时间序列无关,因为时间序列分析会带来额外的影响;(2)基于统计的技术假设数据集遵循一定的分布,并且需要领域知识,例如阈值参数。但是,规则流量是随机的,因此很难确定流量模型的固定参数。因此,基于统计的技术在实际使用中并不实用。

        建议采用长期短期记忆(LSTM)模型进行BGP异常检测。我们发现BGP流量的时间序列在不同的时间尺度上表现出不同的不同模式。选择适当的时标可以帮助分类模型更好地执行。基于此观察,我们将时标属性整合到LSTM模型中(本文中称为MS-LSTM模型),并验证其在多个时标中的性能。

    2.3 实现思路


        输入:前N个流量x_{t_{1}} , x_{t_{2}} , ...., x_{t_{n}}

        输出:第x_{t_{n+1}}个流量状态(是否异常)。


    (1)数据预处理

        假设窗口长度为e,状态x_{t_{n}}与子序列S_{n}=(x_{t_{n-e+1}},x_{t_{n-e+2}},…,x_{t_{n}})相关联;每个子序列S_{n}被时间尺度p压缩,S_{n}=(d_{1},d_{2},…,d_{e/p})

        dS_{n}p个样本的平均值,d_{1}=1/p(x_{t_{n-e+1}}+x_{t_{n-e+2}}+…+x_{t_{n-e+p}})

    这样就得到n-e+1个训练数据集S,每个数据集标签与最后一个向量的状态相同,L(S_{n})=L(X_{t_{n}})

    (2)构建MS-LSTM分类模型

    LSTM memory cell结构

        让S作为memory cell的输入,C_{t^, }表示cell状态,h_{t^,}表示时间为t^,时输出门的值,W_{f} , W_{c}, W_{o}, U_{i}, U_{f} , U_{c}, U_{o}, V_{o}代表权重矩阵,b_{i},b_{f},b_{o}是偏差向量。

    LSTM分类图

         LSTM网络的关键是能够向单元状态添加或删除信息,该功能由称为门的结构来控制。 门就像过滤器一样,使可选信息通过。它们由S型神经层组成,其输出在0到1之间。上图,我们可以看到一个LSTM cell有三个这样的门来控制信息。 通过LSTM,信息被传输,过滤,合并,最后将整体消息输出到下一个存储单元。

        步骤如下:

    - 丢弃多余的旧信息:

    公式1

    - 存储有用的新信息:

    公式2

    - 更新单元状态:

    公式3

    - 下一个存储单元的输出:

    公式4

    文章使用的LSTM模型由一个LSTM层,一个平均轮询层和一个Logistic回归层组成。 在平均池化层中对输出门值h_{1}h_{2},...,h_{t}^, 进行平均,并得出新的h
。 Logistic回归层是一个二进制分类层,它训练hlabel的损失函数。

    相关文章

      网友评论

          本文标题:异常检测:MS-LSTM阅读笔记

          本文链接:https://www.haomeiwen.com/subject/eaxjihtx.html