一种基于人工神经网络的微处理器应用场景识别方法

文档序号:29982565发布日期:2022-05-11 12:51阅读:132来源:国知局
一种基于人工神经网络的微处理器应用场景识别方法

1.本发明属于电子设计自动化领域,涉及一种基于人工神经网络的微处理器应用场景识别方法。


背景技术:

2.时间序列一直是数据挖掘领域中的热点问题。时间序列是指按时间顺序将属性值记录下来的序列数据,而时间序列分析是根据历史记录值对数据变化过程和未来趋势进行分析。随着大数据时代的到来和计算机硬件技术的发展,航空、金融、医疗、工业生产等领域产生了海量的多元时间序列数据。对原始时间序列中的隐含信息进行进一步探索,有助于发现规律和模式。时间序列分类不仅要考虑不同属性间的数值关系,还须考虑序列中时序点的先后次序关系,因此比传统分类问题具有更大的挑战性。
3.近几年,国内外学者尝试将深度学习引入到时间序列分类任务中,有研究者将深度学习中递归神经网络(recurrent neural network,rnn)的隐藏层作为特征表示,然后用分类器对隐藏层状态进行分类,分类结果的可靠性有所提高,但循环神经网络由于存在梯度爆炸和梯度消失问题而不够稳定,且计算复杂度随着输入数据的增加而增加。为了解决循环神经网络梯度爆炸和梯度消失问题,研究者提出长短期神经网络(long short term memory network,lstm)。此外,研究人员逐渐转向通过从空间指标维度来进行特征提取,基于特征的分类方法取代原时间序列,转而使用部分子序列进行分类。
4.微处理器在使用过程中会面临着不同的应用场景,如果在使用过程中识别微处理器当前的应用场景,就能对当前使用场景做出针对性优化,因而有利于微处理器的高效使用。以往有人通过解析应用开启时的网络数据包,判断当前使用的应用,但这种方法只能在联网时使用;也有人通过标记使用者的行为特征,(比如触摸手机屏幕等特征)构造针对某些应用的特征数据集合,然后通过数据集合进行识别,但构造数据集的过程是主观且复杂的,此外针对所有应用都进行数据采集也是不现实的。
5.总而言之,针对上述问题,提出一种可以针对微处理器在使用过程中会面临着不同的应用场景的识别方法,对于微处理器的高效使用是非常重要的。


技术实现要素:

6.本文针对背景技术提出的问题,提出了一种基于人工神经网络的微处理器应用场景识别方法。本发明着眼于解决在微处理器在运行过程的应用场景识别问题,首先要构建数据集,在识别过程中需要实时输入采集的系统数据,根据以往的研究发现,利用intel-pcm(intel performance counter monitor)可以获取到微处理器的运行过程中的全面数据;然后根据数据进行主成分分析(principal components analysis,pca),将冗余的数据维度进行删除,从空间的角度对数据集压缩,有效降低神经网络算法计算的复杂度;最后将处理后的数据输入训练好的lstm网络中,通过lstm模型的遗忘机制和信息依赖进行应用场景的识别。
7.本发明的技术方案如下:
8.步骤一,从intel-pcm中提取出数据,首先我们需要在bios(basic input output system)中固定处理器的电压和频率,确定系统的功率策略不会影响我们的使用场景特征,其次固定微处理器的散热条件,保证系统固定系统风扇转速以保持稳定不变的外部散热条件,降低对微处理器性能数据的统计影响。
9.步骤二,因为从intel-pcm中提取出数据包含太多的项目,所以整体使用lstm网络进行识别时需要很大计算时间复杂度,我们对数据之间的关系进行分析与提取,保留其中的关键信息进行后续识别步骤。
10.步骤三,统计一段时间系统在处理不同应用时的数据,从intel-pcm中提取出的系统数据是一段很长的数据序列,利用lstm网络进行训练时需要将其处理成固定长度的时间序列数据段,数据的截取方式采用滑动窗口的方法,每次窗口的移动步长为数据的一个统计周期,窗口的具体长度由我们自行确定。
11.步骤四,训练之前,根据不同的应用给已经截取处理的数据段打上应用标签,经标记完成的数据送入lstm网络进行训练,会出现验证集识别不准的情况,主要原因是有的应用对于系统资源的调用其实是类似的,不能单纯因为其应用不同而将其划分为两类应用,应修改应用的标签将这些应用划归为单一类型。
12.步骤五,将未经测试与验证的数据进行步骤三,四的处理,将数据送入到已经训练完成的神经网络中,将得到的输出与实际的标签进行对比,验证方法的准确性。
附图说明
13.下面结合附图和实施方式对本发明进行详细说明。
14.图1为一种基于人工神经网络的微处理器应用场景识别方法的流程图;
15.图2为采集并处理数据的流程图;
16.图3为lstm网络中的重复单元。
17.图4为本发明应用的lstm网络的结构。
具体实施方式
18.为了更好的阐述本发明的技术实施流程,下面将结合本发明中的附图,对各技术部分进行更清晰的阐述。在本发明中所描述的实例只为一部分,不是全部适用的实例。基于本发明中的实例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实例,都属于本发明保护的范围。
19.图1为一种基于人工神经网络的微处理器应用场景识别方法的流程图。
20.在本发明中,根据多元时间序列数据的特点,提出一种基于人工神经网络的微处理器应用场景识别方法,整个框架包含了数据预处理、输入层、隐藏层、输出层、网络训练和网络预测分类6个层级,预处理过程负责将原始数据集处理成能供给下层使用的数据格式,并对冗余的数据降维,然后将得到的标准格式输入数据传递给输入层,输入层将接收到的数据集以7:3的比例划分为训练数据集和测试数据集,隐藏层用图4所示的lstm细胞搭建循环神经网络,训练网络参数并存储,输出层得到预测分类结果。前面已经完成了网络的训练部分,得到了一个可以用于识别的人工神经网络,利用此网络与实时处理的数据即可完成
整个识别过程。
21.图2采集并处理数据的流程图。
22.该流程的目标是对数据降维并处理成后续使用的数据格式,实验在一台intel9750h的电脑上进行,在bios中固定处理器频率与风扇转速后,运行不同的应用采集原始的实验数据。采集到的原始数据共计214项(包含system core c-states,system pack c-states,core0(socket0)至core11(socket0)等项目),对空间维度的冗余数据进行处理后,保留exec、ipc freq、afreq、l3miss、l2miss、l3hit、l3mpi、l2mpi、read、write、inst、acyc、time(ticks)、physipc、physipc%、instnom、instnom%、c0res%、c1res%、c3res%、c7res%、proc energy(joules)这23项数据进行识别。时间维度上采用滑动的窗口框取数据,每50个时间步长的一段数据作为单次类型识别数据输入,即窗口大小为50,每次步长定为10ms,即单次输入500ms的数据。
23.图3为lstm网络中的重复单元。
24.lstm单元的第一步就是决定什么信息应该被神经元遗忘。这是一个被称为“遗忘门层”的sigmod层组成的。sigmod层中“1”表示“完全保留这个”,“0”表示“完全遗忘这个”。它输入h
t-1
和xt,然后在c
t-1
的每个神经元状态输出0~1之间的数字。下一步就是决定我们要在神经元细胞中保存什么信息,这包括两个部分。首先,一个被称为“输入门层”的sigmod层决定我们要更新的数值。然后,一个tanh层生成一个新的候选数值g
t
。它会被增加到神经元状态中。在下一步中,我们会组合这两步去生成一个更新状态值。最后,我们要决定要输出什么。这个输出是建立在我们的神经元状态的基础上的,但是有一个滤波器。首先,我们使用sigmod层决定哪一部分的神经元状态需要被输出;然后我们让神经元状态经过tanh(让输出值变为-1~1之间)层并且乘上sigmod门限的输出,只输出我们想要输出的。
25.图4为lstm网络的结构。
26.本发明使用的为双层lstm网络,其中第一层为输入层,第二层为lstm层,第三层为dropout层,第四层为lstm层,第五层为全连接层,第六层为激活函数层,第七层为输出层,数据经过网络后将输出应用识别结果值于更新网络参数。
27.本发明涉及一种基于人工神经网络的微处理器应用场景识别方法,以及实例对本发明的各处理流程都进行了详细说明,但是并不局限于此,之后依然可以对其中的技术方案进行进一步的优化,这并不会使相应技术方案的本质脱离本发明各实例技术方案的精神和范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1