基于GRU序列的攻击趋势预测

2022-02-21 01:01李佳
科技信息 2022年5期
关键词:编码器时间序列

李佳

摘要:深度学习是机器学习研究中的一个新的领域,在入侵检测领域有了飞速发展。本文讨论了一种基于GRU序列的攻击趋势预测技术,将深度学习技术更加方便的应用于实际生产。

关键词:递归神经网络;时间序列;编码器;译码器

1 方案背景

入侵检测领域对于机器学习的应用在近些年有了飞速提升,如人工神经网络,遗传算法等,都在入侵检测领域颇见成效。但是由于机器学习方法存在很多局限性,使得他无法面对多样化的入侵手段。需要对学习方法有高要求,才能应对入侵特征的自动提取和分析。深度学习在处理复杂数据时,有突出的识别能力,是由于应用了高度非线性结构。同时,深度学习算法也由于并行计算硬件设施的高速发展,有了更强大的硬件能力。借助合理的网络结构,可以对深度神经网络的参数量进行控制,使得深度神经网络即能保证网络性能,也能降低运行成本。

2 需求描述

2.1 技术关键点

RNN递归神经网络(recurrent neural network),是近年来非常热门的一类神经网络模型,简单来说就是每一个隐含层的计算结果都与当前输入以及上一次的隐含层结果相关,是可以模拟时序结构的神经网络。LSTM(Long Short-Term Memory),GRU(Gated Recurrent Unit)都是RNN的变型。

时间序列是指按时间先后顺序分布的一列同一统计指标的数据集,这样的序列可能呈现一定的季节性变动和固定趋势。时间序列的预测分析是指利用过去一段时间内序列的特征来预测未来一段时间内该序列的走向。和回归分析模型的预测不同,时间序列模型时依赖于序列发生的先后顺序。

Encoder-decoder自编码器由编码器(Encoder)和解码器(decoder)两部分构成,编码器将输入信息变换为中间的编码信息C,而解码器则从中间信息C重建目标序列。Encoder/Decoder框架在文本处理领域应用广泛,例如在机器翻译任务中,RNN编码器將输入序列进行编码,输出固定长度的向量,该向量被看做是输入文本的语义表达C。而另一个RNN解码器则根据该中间语义表示C产生目标语言的文本。

2.2 问题分析

Sequence to Sequence模型框架分为编码和解码两个阶段,每个阶段都采用了可以处理时序序列的RNN类模型,以此建立了一个能直接处理变长输入与变长输出的结构,实现了不固定长度的多对多任务。

3 解决方案

本文提出基于GRU序列自编码的攻击趋势预测技术,能够节省时间和资源,对共享的环境和情报也有更好的模拟。对变长的多对多模型可以使得时间序列的预测分析更加灵活,可以应对多种情况。另外在预测分析中加入辅助信息联合训练,也使得模型对问题的模拟更综合全面。

3.1 方案思路

现有的对于同一个环境下的多台机器或者多个资产,如果每个个体单独应用模型进行预测分析,会消耗过多的时间和机器资源,并且这些个体(资产等)很可能共享同一部分环境因素。为了能够更加节省时间和资源,该模型整合分析相同时期的病毒情报和攻击情报,综合考虑多个个体的联合模型,能够更加有效的解约时间和资源成本,对共享的环境和情报也有更好的模拟。

随着多个体模型的引入,需要对经典RNN结构进行优化,虽然经典的RNN结构也能实现等长/同步的多对多模型,但是相等长度的假设限制了它的应用场景。采用Encoder-decoder架构可以更灵活的将提炼/编码的输入信息,反馈到解码的输出部分,比如teaching force,peek以及attention等机制。变长的多对多模型可以更灵活的引入辅助信息(如特定的病毒情报,攻击情报),参与中间过程的计算,与主模型序列的参数联合训练。

最后,在Sequence to Sequence模型框架的编码和解码两个阶段,都采用了可以处理时序序列的RNN类模型,以此建立了一个能直接处理变长输入与变长输出的结构,实现了不固定长度的多对多任务,变长的多对多模型中灵活的引入辅助信息(如特定的病毒情报,攻击情报),参与中间过程的计算,与主模型序列的参数联合训练。

3.2 方案验证

经过分析,为了得到更好的攻击预测模型,需要在Sequence to Sequence模型框架的编码和解码两个阶段,采用可处理时序蓄力的RNN类模型,也就是GRU模型。这样,模型可以直接处理变长输出和变长输出的结构,满足特定场景下,不固定长度的多对多任务。同时引入特定的病毒情报或者攻击情报作为辅助信息,参与中间过程的计算,能够使得模型训练的结果,更加贴近生产环境,模型结果更加准确。

具体流程:

步骤1:提取t时刻n个主体的状态量Xt。

步骤2:将t时刻n个主体的状态量输入编码器,编码器的RNN接受输入的n个主体状态量,最终编码输出编码向量C,所有神经元的隐藏状态h。

步骤3:输入辅助信息S,构建辅助信息S属性向量。

步骤4:编码向量C与辅助信息S属性向量合并成合并向量CS。

步骤5:在解码器中输入上一个神经元的隐藏层向量 S1、S2、…、…、Sn,上一个神经元的输出,当前的输入合并向量CS。

步骤6:解码器输出t+1时刻n个主体的状态Xt+1。

编码器

输入:t时刻n个主体的状态

输出:编码向量C,隐向量H(该隐向量将传递给解码器的神经网络)

解码器(每单元)

输入包含三个部分,分别为编码向量C(此处可以有多种组合机制,如teaching force,peek以及attention等),第二部分是解码器前一个单元预测输出的向量(在预测阶段,在训练阶段也可使用真实的标签或是随机选取真实值/预测值),第三部分是辅助情报信息S。

输出:t+1时刻n个主体的状态的预测值

4.总结

本文主要讨论了一种基于GRU序列自编码的攻击趋势预测技术,使深度学习在实际工作中发挥实际的效用。本文讨论了基于深度学习和神经递归网络在现有环境中的使用,在此基础上,提出了基于GRU序列,采用Encoder-decoder架构的优化改进方案,并进行了介绍和验证。

猜你喜欢
编码器时间序列
基于ResNet18特征编码器的水稻病虫害图像描述生成
编码器反馈信号对变频调速系统地影响
基于TMS320F28335的绝对式光电编码器驱动设计
上证综指收益率的影响因素分析
基于指数平滑的电站设备故障时间序列预测研究
基于时间序列的我国人均GDP分析与预测
基于线性散列索引的时间序列查询方法研究
基于组合模型的能源需求预测
JPEG 2000标准中MQ编码器的VLSI结构设计
具备DV解码功能的DVD编码器——数字视频刻录应用的理想选择