本技术属于ai模型,尤其涉及一种层序列提取实现方法、系统及存储介质。
背景技术:
1、深度神经网络(dnn)是自动驾驶领域常常会用到的一类ai模型。这一类ai模型往往需要大量数据和算力来进行训练以达到较好的表现,此过程是极其昂贵的。如果把一个已部署的dnn模型视为一个黑盒,则需要建立一个系统化的方法来通过旁路信息来分析模型的层序列。许多现存的工作通过假设一些实际难以获得的信息来进行相关研究,比如完整的内存循迹信息,训练过程的介入,目标dnn架构的范围等。有一些研究会设置一些额外的限制,比如对运算映射和层类型的限制来简化问题。在近期发表的研究中,基于深度学习的方法在较少的前置信息的情况下表现出可靠的性能表现。但是该方法仍然会假设dnn模型未经过诸如运算融合等方法的优化。这些优化可通过常用的工具如apache张量虚拟机(tvm)来实现。由于对部署的模型一般都有性能上的要求,这种假设是欠妥的。有证据表明当应用于tvm优化过的回归神经网络(rnn)和卷积神经网络(cnn)时,当下的基于深度学习逆向方法的准确度有大幅的下降。因此,需要一个新颖的基于深度学习的方法来克服这种由于模型部署优化引起的逆向性能的衰退。
技术实现思路
1、针对上述现有技术的缺陷,本技术提供了一种层序列提取实现方法、系统及存储介质,所述实现方法通过二阶段方案对目标层次序列进行提取,解决了由于运算融合优化造成的dnn模型层序列预测准确度大幅下降的问题,提高了层序列提取的准确度和降低了错误率,同时还解决了第二阶段中由于内核数小于运算层数造成的ctc损失函数无法收敛的问题,通过展平融合操作将融合的操作展开成比标签序列更长的序列,确保提取到更多的信息和特征,从而提高了层序列提取的准确度和提取性能。
2、为实现上述目的,本技术提供了一种层序列提取实现方法,所述方法主要包括:
3、s1:根据预设概率阈值范围判断目标特征矩阵中每个运算符的存在性,并输出运算符存在矩阵。
4、s2:通过所述运算符存在矩阵计算获得运算符数量矩阵。
5、s3:根据所述运算符存在矩阵和运算符数量矩阵,计算出操作分布矩阵和一阶段损失函数,并根据一阶段损失函数中的损失计算梯度进行一阶段迭代反向传播。
6、s4:提取所述操作分布矩阵中计数值大于预设数据的操作值进行序列编码和融合后,通过计算解码获得目标层次序列和二阶段损失函数,并根据二阶段损失函数中的ctc损失计算梯度进行二阶段迭代反向传播。
7、在本技术中,在所述步骤s1之前,还包括:
8、从目标侧信道信息中提取原始特征矩阵。
9、将所述原始特征矩阵投影到第一全卷积网络层中的潜在空间h,获取潜在向量。
10、在第二全卷积网络层中将所述潜在向量映射回操作空间,输出目标特征矩阵;其中,在每层全卷积网络中连接有循环神经网络。
11、在本技术中,所述步骤s1具体为:
12、将所述目标特征矩阵通过预设激活函数映射至预设范围内。
13、其中,对每个运算符按照所述预设概率阈值范围输出转化为存在概率,并输出运算符存在矩阵。
14、在本技术中,所述步骤s2具体为:
15、将所述运算符存在矩阵投影到第三全卷积网络层中的潜在空间h1。
16、将潜在空间h1在核维度上切片后输入第一多头注意力层,以输出第一注意力权重矩阵。
17、将所述第一注意力权重矩阵所在的潜在空间h2在核维度上切片后输入第二多头注意力层,输出第二注意力特征矩阵;其中,所述第二注意力特征矩阵被提取至潜在空间h3中。
18、对潜在空间h3输出的中间特征矩阵进行计数解码,以获得所述运算符数量矩阵。
19、在本技术中,所述计算出操作分布矩阵,具体为:
20、对所述运算符存在矩阵和运算符数量矩阵相乘后的结果按预设公式进行重构,以获得所述操作分布矩阵。
21、在本技术中,所述一阶段损失函数至少包括bceloss损失和bcewithlogitsloss损失。
22、其中,由所述运算符数量矩阵算得所述bceloss损失,由所述运算符存在矩阵算得所述bcewithlogitsloss损失。
23、将所述bceloss损失和bcewithlogitsloss损失进行加权和,以算得所述一阶段损失函数。
24、在本技术中,所述提取所述操作分布矩阵中计数值大于0的操作值进行序列编码和融合,具体为:
25、将所述进行序列编码后的操作值组成一个二维数组;其中,所述二维数组中的第一行包括表示操作的整数索引,第二行包括与每个操作值对应的运算符计数。
26、将二维数组中的序列输入循环神经网络组后,将其结果输入至第四全卷积网络层中进行融合,输出融合序列。
27、在本技术中,所述通过计算解码获得目标层次序列,具体为:
28、将所述融合序列输入预设激活函数,算得层序列的概率分布向量。
29、将所述概率分布向量输入ctc解码器进行解码后获得所述目标层次序列。
30、为实现上述目的,本技术还提供了一种层序列提取系统,所述系统主要包括:
31、存在性预测模块、计数预测模块、第一数据处理模块、序列编码模块和第二数据处理模块。
32、其中,所述存在性预测模块,用于根据预设概率阈值范围判断目标特征矩阵中每个运算符的存在性,并输出运算符存在矩阵。
33、所述计数预测模块,用于通过所述运算符存在矩阵计算获得运算符数量矩阵。
34、所述第一数据处理模块,用于根据所述运算符存在矩阵和运算符数量矩阵,计算出操作分布矩阵和一阶段损失函数,并根据一阶段损失函数中的损失计算梯度进行一阶段迭代反向传播。
35、所述序列编码模块,用于提取所述操作分布矩阵中计数值大于0的操作值进行序列编码和融合。
36、以及,所述第二数据处理模块,用于对进行序列编码和融合后的融合序列通过计算解码获得目标层次序列和二阶段损失函数,并根据二阶段损失函数中的ctc损失计算梯度进行二阶段迭代反向传播。
37、为实现上述目的,本技术还提供了一种车辆,所述车辆至少包括如上所述的层序列提取系统。
38、为实现上述目的,本技术还提供了一种存储介质,为计算机可读存储介质中的一种,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一所述的层序列提取实现方法。
39、与现有技术相比,本技术有益效果在于:
40、本技术提出的一种层序列提取实现方法、系统及存储介质,通过将目标特征矩阵输入二阶段方案输出最终目标层次序列,解决了由于运算融合优化造成的dnn模型层序列预测准确度大幅下降的问题,提高了层次序列提取的准确度和降低了错误率,同时还解决了第二阶段中由于内核数小于运算层数造成的ctc损失函数无法收敛的问题,通过展平融合操作将融合的操作展开成比标签序列更长的序列,确保提取到更多的信息和特征,从而提高了层序列提取性能。