基于可解释模型的循环神经网络后门攻击检测方法技术

技术编号:26846522 阅读:25 留言:0更新日期:2020-12-25 13:09
本发明专利技术公开一种基于可解释模型的循环神经网络后门攻击检测方法,分三步对RNN模型进行抽象并对文本进行后门检测:首先使用机器学习算法对RNN隐藏层向量进行聚类,构建不确定有穷自动机;其次根据构建的不确定有穷自动机,获取文本的状态转移路径,从而计算文本中每个单词的权重;最后基于变异测试的思想,对文本中的后门进行检测。通过以上方法,可以准确地对RNN在文本上的决策做出解释,并准确检测出后门文本。

【技术实现步骤摘要】
基于可解释模型的循环神经网络后门攻击检测方法
本专利技术涉及机器学习的可解释性
,特别涉及循环神经网络(RecurrentNeuralNetwork,RNN)的可解释性以及针对文本的后门检测方法。
技术介绍
近年来,随着人工智能相关技术的飞速发展,深度神经网络在许多领域得到了广泛应用。然而,其安全性也引起了社会各界的担忧,特别是关于对抗样本与后门攻击技术的研究指出深度神经网络容易受到攻击,这也限制了深度神经网络在自动驾驶、国防等安全相关领域的进一步应用。为了解释深度神经网络的决策并发现网络中的问题,国内外的研究人员针对卷积神经网络(ConvolutionalNeuralNetwork,CNN)的可解释性进行了大量的研究,提出了CAM、Grad-CAM等多种解释方法,并且取得了较好的效果。然而,现有的研究主要针对CNN,针对RNN可解释性的研究相对较少,更没有针对RNN的后门检测方法。但不可忽视的是,RNN在自然语言处理、语音识别等任务中扮演着举足轻重的角色。总的来说,现有RNN的研究存在以下问题:1)没有针对RNN的解释方法;2)RNN因其神经元独特的性质,通用的解释方法难以取得好的效果;3)目前没有针对RNN的后门检测方法。
技术实现思路
本专利技术的内容在于提出一种基于可解释模型的循环神经网络后门攻击检测方法,以解决上述技术问题。本方法分三步对RNN模型进行抽象并对文本进行后门检测:首先使用机器学习算法对RNN隐藏层向量进行聚类,构建不确定有穷自动机;其次根据构建的不确定有穷自动机,获取文本的状态转移路径,从而计算文本中每个单词的权重;最后基于变异测试的思想,对文本中的后门进行检测。通过以上方法,可以准确地对RNN在文本上的决策做出解释,并准确检测出后门文本。为了实现上述目的,本专利技术采用以下技术方案:基于可解释模型的循环神经网络后门攻击检测方法,包括如下步骤:1)、基于聚类算法的RNN模型抽象:步骤S101:对于文本数据集D和待抽象RNN模型M,将D中的每一条文本输入到M中,提取M中每一时间步的隐藏层向量与输出层向量;对于文本数据集D,生成所有文本的隐藏层向量集H和输出层向量集O;步骤S102:根据输出层向量集O将隐藏层向量集H划分为一定数目的子集,对每个子集Hi分别使用机器学习算法,并得到Hi的一个划分Si;步骤S103:将文本数据集D中的每一条文本输入到待抽象模型M中,根据M中每一时间步的隐藏层向量与输出层向量,获得划分Si中分块之间以及划分Si与Sj的分块之间的连接关系R;2)、基于RNN抽象模型的解释结果生成:步骤S104:对于文本数据集D中的任一条文本T,根据T的每一单词的隐藏层向量计算其与各分块之间的相似关系,结合分块之间的连接关系R,确定文本T在分块之间的转移关系;步骤S105:根据文本T中每一个单词在分块之间的转移关系,确定每一个单词的转移权重I;步骤S106:根据文本T相邻单词输出层向量的变化,计算每一单词的权重W1;将文本T中的单词依次删除,并将其输入到模型M中,根据每一单词删除后输出层向量的变化,计算每一单词的权重W2;步骤S107:结合每个单词的转移权重I、权重W1和W2,得到文本T每个单词的解释结果。3)、基于变异测试的后门检测:步骤S108:对于文本数据集D中的每一条文本,根据其解释结果对单词的重要程度进行排序,选取前n个单词构成集合C;步骤S109:将集合C中的单词加入到已知无后门数据集Dn并将Dn输入到模型M中,统计标签改变的概率P1;将集合C中的单词分别替换为与其有最高相似度的单词,并记为C',将C'加入到Dn并将Dn输入到模型M中,统计标签改变的概率P2;结合两个概率P1和P2得到概率P;步骤S110:设置阈值TH,若概率P大于TH,则判定集合C中的单词为后门,将包含集合C中所有单词的文本从文本数据集D中删除,形成修正文本数据集D';输出无后门的修正文本数据集D'。进一步的,所述步骤S101对RNN模型M的中间变量进行提取,具体步骤如下:步骤S201:使用词嵌入方法,获得文本数据集D中每一个单词的高维向量表示,从而将文本数据集D转化为三维张量DTensor;步骤S202:将DTensor输入到模型M中,使用如下公式提取M的隐藏层向量h与输出层向量o:式中:f、g——激活函数;x——输入向量;u、v、w——模型参数;i——第i个时间步;步骤S203:将所有隐藏层向量h和输出层向量o分别加入到隐藏层向量集H和输出层向量集O中,隐藏层向量与输出层向量一一对应。进一步的,所述步骤S102先通过输出层向量集O将隐藏层向量集H划分为若干个子集,再利用机器学习算法将隐藏层向量子集进行划分,具体步骤如下:步骤S301:将隐藏层向量集划分为m个子集,划分依据由下式确定:Hi={<h,o>|argmax(o)=i,0≤i≤m-1},式中:h——隐藏层向量;o——输出层向量;argmax——取最大值所在的维数;m——输出层向量的维数;步骤S302:使用机器学习算法对隐藏层向量子集Hi进行划分得到式中:——划分Si的分块;k——自定义参数。进一步的,所述步骤S302为使用k-means聚类算法得到Hi的一个划分,具体步骤如下:a)根据聚类数k,随机选取k个隐藏层向量作为聚类中心;b)评估Hi中所有隐藏层向量到聚类中心的距离,如果一个隐藏层向量距离第j个聚类中心最近,则认为其属于第j簇;c)计算每个簇中隐藏层向量的平均值,将聚类中心设为簇的平均值;d)重复以上步骤至所有隐藏层向量所属的簇不发生改变。进一步的,所述步骤S103把所有划分Si的分块视为状态,构建不确定有穷自动机,对于一条文本T,具体步骤如下:步骤S401:设置当前状态为State0;步骤S402:按顺序获取其单词对应的隐藏层向量h与输出层向量o;步骤S403:求解argmax(o),确定h所属的划分;若argmax(o)=i,则h属于Si;步骤S404:计算h与Si中各分块中心的相似度,选取相似度最高的分块作为下一状态;若相似度最高的分块为那么下一状态为步骤S405:在当前状态和下一状态间添加一条边;步骤S406:设置当前状态为下一状态;若当前单词是T中最后一个单词,则退出;否则,返回步骤S402。进一步的,所述步骤S404具体为计算h与各分块中心的欧氏距离,选取欧氏距离最小的分块作为下一状态。进一步的,所述步骤S104利用构建好的不确定有穷自动机,确定文本T在自动机上的状态转移路径,对于一条文本T,具体步骤如下:步骤S501:设置当前状态为State0;步骤S502:按顺序获取其单词对应的本文档来自技高网...

【技术保护点】
1.基于可解释模型的循环神经网络后门攻击检测方法,其特征在于,包括如下步骤:/n1)、基于聚类算法的RNN模型抽象:/n步骤S101:对于文本数据集D和待抽象RNN模型M,将D中的每一条文本输入到M中,提取M中每一时间步的隐藏层向量与输出层向量;对于文本数据集D,生成所有文本的隐藏层向量集H和输出层向量集O;/n步骤S102:根据输出层向量集O将隐藏层向量集H划分为一定数目的子集,对每个子集H

【技术特征摘要】
1.基于可解释模型的循环神经网络后门攻击检测方法,其特征在于,包括如下步骤:
1)、基于聚类算法的RNN模型抽象:
步骤S101:对于文本数据集D和待抽象RNN模型M,将D中的每一条文本输入到M中,提取M中每一时间步的隐藏层向量与输出层向量;对于文本数据集D,生成所有文本的隐藏层向量集H和输出层向量集O;
步骤S102:根据输出层向量集O将隐藏层向量集H划分为一定数目的子集,对每个子集Hi分别使用机器学习算法,并得到Hi的一个划分Si;
步骤S103:将文本数据集D中的每一条文本输入到待抽象模型M中,根据M中每一时间步的隐藏层向量与输出层向量,获得划分Si中分块之间以及划分Si与Sj的分块之间的连接关系R;
2)、基于RNN抽象模型的解释结果生成:
步骤S104:对于文本数据集D中的任一条文本T,根据T的每一单词的隐藏层向量计算其与各分块之间的相似关系,结合分块之间的连接关系R,确定文本T在分块之间的转移关系;
步骤S105:根据文本T中每一个单词在分块之间的转移关系,确定每一个单词的转移权重I;
步骤S106:根据文本T相邻单词输出层向量的变化,计算每一单词的权重W1;将文本T中的单词依次删除,并将其输入到模型M中,根据每一单词删除后输出层向量的变化,计算每一单词的权重W2;
步骤S107:结合每个单词的转移权重I、权重W1和W2,得到文本T每个单词的解释结果;
3)、基于变异测试的后门检测:
步骤S108:对于文本数据集D中的每一条文本,根据其解释结果对单词的重要程度进行排序,选取前n个单词构成集合C;
步骤S109:将集合C中的单词加入到已知无后门数据集Dn并将Dn输入到模型M中,统计标签改变的概率P1;将集合C中的单词分别替换为与其有最高相似度的单词,并记为C',将C'加入到Dn并将Dn输入到模型M中,统计标签改变的概率P2;结合两个概率P1和P2得到概率P;
步骤S110:设置阈值TH,若概率P大于TH,则判定集合C中的单词为后门,将包含集合C中所有单词的文本从文本数据集D中删除,形成修正文本数据集D';输出无后门的修正文本数据集D'。


2.根据权利要求1所述的方法,其特征在于,所述步骤S101对RNN模型M的中间变量进行提取,具体步骤如下:
步骤S201:使用词嵌入方法,获得文本数据集D中每一个单词的高维向量表示,从而将文本数据集D转化为三维张量DTensor;
步骤S202:将DTensor输入到模型M中,使用如下公式提取M的隐藏层向量h与输出层向量o:



式中:
f、g——激活函数;
x——输入向量;
u、v、w——模型参数;
i——第i个时间步;
步骤S203:将所有隐藏层向量h和输出层向量o分别加入到隐藏层向量集H和输出层向量集O中,隐藏层向量与输出层向量一一对应。


3.根据权利要求1所述的方法,其特征在于,所述步骤S102先通过输出层向量集O将隐藏层向量集H划分为若干个子集,再利用机器学习算法将隐藏层向量子集进行划分,具体步骤如下:
步骤S301:将隐藏层向量集划分为m个子集,划分依据由下式确定:
Hi={<h,o>|argmax(o)=i,0≤i≤m-1},
式中:
h——隐藏层向量;
o——输出层向量;
argmax——取最大值所在的维数;
m——输出层向量的维数;
步骤S302:使用机器学习算法对隐藏层向量子集Hi进行划分得到



式中:

——划分Si的分块;
k—...

【专利技术属性】
技术研发人员:范铭司梓良刘烃魏闻英魏佳利
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1