【技术实现步骤摘要】
基于可解释模型的循环神经网络后门攻击检测方法
本专利技术涉及机器学习的可解释性
,特别涉及循环神经网络(RecurrentNeuralNetwork,RNN)的可解释性以及针对文本的后门检测方法。
技术介绍
近年来,随着人工智能相关技术的飞速发展,深度神经网络在许多领域得到了广泛应用。然而,其安全性也引起了社会各界的担忧,特别是关于对抗样本与后门攻击技术的研究指出深度神经网络容易受到攻击,这也限制了深度神经网络在自动驾驶、国防等安全相关领域的进一步应用。为了解释深度神经网络的决策并发现网络中的问题,国内外的研究人员针对卷积神经网络(ConvolutionalNeuralNetwork,CNN)的可解释性进行了大量的研究,提出了CAM、Grad-CAM等多种解释方法,并且取得了较好的效果。然而,现有的研究主要针对CNN,针对RNN可解释性的研究相对较少,更没有针对RNN的后门检测方法。但不可忽视的是,RNN在自然语言处理、语音识别等任务中扮演着举足轻重的角色。总的来说,现有RNN的研究存在以下问题:1)没有针对RNN的解释方法;2)RNN因其神经元独特的性质,通用的解释方法难以取得好的效果;3)目前没有针对RNN的后门检测方法。
技术实现思路
本专利技术的内容在于提出一种基于可解释模型的循环神经网络后门攻击检测方法,以解决上述技术问题。本方法分三步对RNN模型进行抽象并对文本进行后门检测:首先使用机器学习算法对RNN隐藏层向量进行聚类,构建不确定有穷自动 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。