CN112132262B - 基于可解释模型的循环神经网络后门攻击检测方法 - Google Patents

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

Info

Publication number
CN112132262B
CN112132262B CN202010936181.4A CN202010936181A CN112132262B CN 112132262 B CN112132262 B CN 112132262B CN 202010936181 A CN202010936181 A CN 202010936181A CN 112132262 B CN112132262 B CN 112132262B
Authority
CN
China
Prior art keywords
word
text
hidden layer
layer vector
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010936181.4A
Other languages
English (en)
Other versions
CN112132262A (zh
Inventor
范铭
司梓良
刘烃
魏闻英
魏佳利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202010936181.4A priority Critical patent/CN112132262B/zh
Publication of CN112132262A publication Critical patent/CN112132262A/zh
Application granted granted Critical
Publication of CN112132262B publication Critical patent/CN112132262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

基于可解释模型的循环神经网络后门攻击检测方法
技术领域
本发明涉及机器学习的可解释性技术领域,特别涉及循环神经网络(RecurrentNeural Network,RNN)的可解释性以及针对文本的后门检测方法。
背景技术
近年来,随着人工智能相关技术的飞速发展,深度神经网络在许多领域得到了广泛应用。然而,其安全性也引起了社会各界的担忧,特别是关于对抗样本与后门攻击技术的研究指出深度神经网络容易受到攻击,这也限制了深度神经网络在自动驾驶、国防等安全相关领域的进一步应用。
为了解释深度神经网络的决策并发现网络中的问题,国内外的研究人员针对卷积神经网络(Convolutional Neural Network,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:
Figure BDA0002672006060000031
式中:
f、g——激活函数;
x——输入向量;
u、v、w——模型参数;
i——第i个时间步;
步骤S203:将所有隐藏层向量h和输出层向量o分别加入到隐藏层向量集H和输出层向量集O中,隐藏层向量与输出层向量一一对应。
进一步的,所述步骤S102先通过输出层向量集O将隐藏层向量集H划分为若干个子集,再利用机器学习算法将隐藏层向量子集进行划分,具体步骤如下:
步骤S301:将隐藏层向量集划分为m个子集,划分依据由下式确定:
Hi={<h,o>|arg max(o)=i,0≤i≤m-1},
式中:
h——隐藏层向量;
o——输出层向量;
arg max——取最大值所在的维数;
m——输出层向量的维数;
步骤S302:使用机器学习算法对隐藏层向量子集Hi进行划分得到
Figure BDA0002672006060000041
式中:
Figure BDA0002672006060000042
——划分Si的分块;
k——自定义参数。
进一步的,所述步骤S302为使用k-means聚类算法得到Hi的一个划分,具体步骤如下:
a)根据聚类数k,随机选取k个隐藏层向量作为聚类中心;
b)评估Hi中所有隐藏层向量到聚类中心的距离,如果一个隐藏层向量距离第j个聚类中心最近,则认为其属于第j簇;
c)计算每个簇中隐藏层向量的平均值,将聚类中心设为簇的平均值;
d)重复以上步骤至所有隐藏层向量所属的簇不发生改变。
进一步的,所述步骤S103把所有划分Si的分块
Figure BDA0002672006060000053
视为状态,构建不确定有穷自动机,对于一条文本T,具体步骤如下:
步骤S401:设置当前状态为State0
步骤S402:按顺序获取其单词对应的隐藏层向量h与输出层向量o;
步骤S403:求解arg max(o),确定h所属的划分;若arg max(o)=i,则h属于Si
步骤S404:计算h与Si中各分块中心的相似度,选取相似度最高的分块作为下一状态;若相似度最高的分块为
Figure BDA0002672006060000051
那么下一状态为
Figure BDA0002672006060000052
步骤S405:在当前状态和下一状态间添加一条边;
步骤S406:设置当前状态为下一状态;若当前单词是T中最后一个单词,则退出;否则,返回步骤S402。
进一步的,所述步骤S404具体为计算h与各分块中心的欧氏距离,选取欧氏距离最小的分块作为下一状态。
进一步的,所述步骤S104利用构建好的不确定有穷自动机,确定文本T在自动机上的状态转移路径,对于一条文本T,具体步骤如下:
步骤S501:设置当前状态为State0
步骤S502:按顺序获取其单词对应的隐藏层向量h;
步骤S503:计算h与当前状态的相邻状态中心的相似度,选择相似度最高的状态作为下一状态;
步骤S504:记录当前状态,并设置当前状态为下一状态;
步骤S505:若当前单词是T中最后一个单词,则退出;否则,返回步骤S502。
进一步的,所述步骤S503具体为计算h与各相邻状态中心的欧氏距离同时选取欧氏距离最小的状态作为下一状态。
进一步的,所述步骤S105根据文本T在不确定有穷自动机上的状态转移路径,确定T中每个单词的转移权重I;具体为:设上一单词对应隐藏层向量所在的状态为i,当前单词对应隐藏层向量所在的状态为j;若i=j,则I=0;若i≠j且i与j在同一划分S中,则I=1;若i≠j且i与j在不同划分S中,则I=2。
进一步的,所述步骤S107计算单词解释结果的方式为Interpretation=I*W1*W2,数值越大,表明单词在文本T中越重要。
进一步的,所述步骤S109分别在已知无后门数据集Dn中加入集合C中的单词与其近义词,统计标签改变的概率,具体步骤如下:
步骤S601:人工选择少量无后门的文本构成数据集Dn
步骤S602:将集合C中的所有单词加入到Dn的每条文本中,并将Dn输入到RNN模型M,统计输出标签发生改变的概率记为P1
步骤S603:将集合C中的单词分别替换为其近义词,将修改后的集合C加入到Dn的每条文本中,并将Dn输入到RNN模型M,统计输出标签发生改变的概率记为P2
步骤S604:令概率P=P1-P2
进一步的,所述步骤S603使用GloVe词向量来查找单词的近义词,对于一个单词,在GloVe词库中查找与其词向量欧氏距离最小的词向量,从而获取对应的近义词。
本发明的进一步改进在于:所述步骤S103中借鉴不确定有穷自动机的思想,将分块视为状态,将文本对应的隐藏层向量在分块间的转移视为边,从而将RNN模型抽象为具有可解释性的自动机。
本发明的进一步改进在于:所述步骤S109中将集合C加入到Dn的方式是先将集合C中的n个单词按原文本中的顺序排列,然后插入到Dn中每一条文本的起始位置。
相对于现有技术,本发明具有以下有益效果:
1)本发明方法提供了一种解释RNN模型的机制,将RNN模型的决策过程以自动机的形式展现出来,借此可以更好地理解RNN、利用RNN;
2)本发明方法针对RNN在文本上的决策进行解释,效果显著好于原有深度神经网络通用解释方法。
3)本发明方法提供了针对文本后门的检测方法,可在不破坏原有正常数据集的情况下检测出被污染的后门文本,深度神经网络的安全性更进一步。
附图说明
图1为本发明基于可解释模型的循环神经网络后门攻击检测方法整体流程图;
图2为不确定有穷自动机的构建流程图;
图3为文本T的状态转移路径确定过程图。
具体实施方式
以下结合附图详细说明本发明基于可解释模型的循环神经网络后门攻击检测方法的具体实施方式。
图1为本发明基于可解释模型的循环神经网络后门攻击检测方法整体流程图;
本发明公开一种基于可解释模型的循环神经网络后门攻击检测方法,包括如下步骤:
步骤S101:对于文本数据集D和待抽象RNN模型M,将D中的每一条文本输入到M中,提取M中每一时间步的隐藏层向量与输出层向量;对于文本数据集D,生成所有文本的隐藏层向量集H和输出层向量集O。
具体而言,步骤S101对RNN模型M的中间变量进行提取,具体步骤如下:
步骤S201:使用词嵌入方法,获得文本数据集D中每一个单词的高维向量表示,从而将文本数据集D转化为三维张量DTensor
步骤S202:将DTensor输入到模型M中,使用如下公式提取M的隐藏层向量h与输出层向量o:
Figure BDA0002672006060000082
式中:
f、g——激活函数;
x——输入向量;
u、v、w——模型参数;
i——第i个时间步;
步骤S203:将所有隐藏层向量h和输出层向量o分别加入到隐藏层向量集H和输出层向量集O中,隐藏层向量与输出层向量一一对应。
步骤S102:根据输出层向量集O将隐藏层向量集H划分为一定数目的子集,对每个子集Hi分别使用机器学习算法,并得到Hi的一个划分Si
具体而言,步骤S102先通过输出层向量集O将隐藏层向量集H划分为若干个子集,再利用机器学习算法将隐藏层向量子集进行划分,具体步骤如下:
步骤S301:将隐藏层向量集划分为m个子集,划分依据由下式确定:
Hi={<h,o>|arg max(o)=i,0≤i≤m-1},
式中:
h——隐藏层向量;
o——输出层向量;
arg max——取最大值所在的维数;
m——输出层向量的维数;
步骤S302:使用机器学习算法对隐藏层向量子集Hi进行划分得到
Figure BDA0002672006060000081
式中:
Figure BDA0002672006060000091
——划分Si的分块;
k——自定义参数。
具体而言,使用k-means聚类算法得到Hi的一个划分,具体步骤如下:
a)根据聚类数k,随机选取k个隐藏层向量作为聚类中心;
b)评估Hi中所有隐藏层向量到聚类中心的距离,如果一个隐藏层向量距离第j个聚类中心最近,则认为其属于第j簇;
c)计算每个簇中隐藏层向量的平均值,将聚类中心设为簇的平均值;
d)重复以上步骤至所有隐藏层向量所属的簇不发生改变。
步骤S103:将文本数据集D中的每一条文本输入到待抽象模型M中,根据M中每一时间步的隐藏层向量与输出层向量,获得划分Si中分块之间以及划分Si与Sj的分块之间的连接关系R。
结合图2,具体而言,步骤S103把所有划分Si的分块
Figure BDA0002672006060000094
视为状态,构建不确定有穷自动机,对于一条文本T,具体步骤如下:
步骤S401:设置当前状态为State0
步骤S402:按顺序获取其单词对应的隐藏层向量h与输出层向量o;
步骤S403:求解arg max(o),确定h所属的划分;若arg max(o)=i,则h属于Si
步骤S404:计算h与Si中各分块中心的相似度,选取相似度最高的分块作为下一状态;若相似度最高的分块为
Figure BDA0002672006060000092
那么下一状态为
Figure BDA0002672006060000093
步骤S405:在当前状态和下一状态间添加一条边;
步骤S406:设置当前状态为下一状态;若当前单词是T中最后一个单词,则退出;否则,返回步骤S402。
具体而言,步骤S404具体为计算h与各分块中心的欧氏距离,选取欧氏距离最小的分块作为下一状态。
步骤S104:对于文本数据集D中的任一条文本T,根据T的每一单词的隐藏层向量计算其与各分块之间的相似关系,结合分块之间的连接关系R,确定文本T在分块之间的转移关系。
结合图3,具体而言,步骤S104利用构建好的不确定有穷自动机,确定文本T在自动机上的状态转移路径,对于一条文本T,具体步骤如下:
步骤S501:设置当前状态为State0
步骤S502:按顺序获取其单词对应的隐藏层向量h;
步骤S503:计算h与当前状态的相邻状态中心的相似度,选择相似度最高的状态作为下一状态;
步骤S504:记录当前状态,并设置当前状态为下一状态;
步骤S505:若当前单词是T中最后一个单词,则退出;否则,返回步骤S502。
具体而言,步骤S503具体为计算h与各相邻状态中心的欧氏距离同时选取欧氏距离最小的状态作为下一状态。
步骤S105:根据文本T中每一个单词在分块之间的转移关系,确定每一个单词的转移权重I。
具体而言,步骤S105根据文本T在不确定有穷自动机上的状态转移路径,确定T中每个单词的转移权重I;具体为:设上一单词对应隐藏层向量所在的状态为i,当前单词对应隐藏层向量所在的状态为j;若i=j,则I=0;若i≠j且i与j在同一划分S中,则I=1;若i≠j且i与j在不同划分S中,则I=2。
步骤S106:根据文本T相邻单词输出层向量的变化,计算每一单词的权重W1;将文本T中的单词依次删除,并将其输入到模型M中,根据每一单词删除后输出层向量的变化,计算每一单词的权重W2
步骤S107:结合每个单词的转移权重I、权重W1和W2,得到文本T每个单词的解释结果。
具体而言,步骤S107计算单词解释结果的方式为Interpretation=I*W1*W2,数值越大,表明单词在文本T中越重要。
步骤S108:对于文本数据集D中的每一条文本,根据其解释结果对单词的重要程度进行排序,选取前n个单词构成集合C。
步骤S109:将集合C中的单词加入到已知无后门数据集Dn并将Dn输入到模型M中,统计标签改变的概率P1;将集合C中的单词分别替换为与其有最高相似度的单词,并记为C',将C'加入到Dn并将Dn输入到模型M中,统计标签改变的概率P2;结合两个概率P1和P2得到概率P。
具体而言,步骤S109分别在已知无后门数据集Dn中加入集合C中的单词与其近义词,统计标签改变的概率,具体步骤如下:
步骤S601:人工选择少量无后门的文本构成数据集Dn
步骤S602:将集合C中的所有单词加入到Dn的每条文本中,并将Dn输入到RNN模型M,统计输出标签发生改变的概率记为P1
步骤S603:将集合C中的单词分别替换为其近义词,将修改后的集合C加入到Dn的每条文本中,并将Dn输入到RNN模型M,统计输出标签发生改变的概率记为P2
步骤S604:令概率P=P1-P2
具体而言,步骤S603使用GloVe词向量来查找单词的近义词,对于一个单词,在GloVe词库中查找与其词向量欧氏距离最小的词向量,从而获取对应的近义词。
步骤S110:设置阈值TH,若概率P大于TH,则判定集合C中的单词为后门,将包含集合C中所有单词的文本从文本数据集D中删除,形成修正文本数据集D';输出无后门的修正文本数据集D'。

Claims (8)

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;把所有划分Si的分块
Figure FDA0003519001430000011
视为状态,构建不确定有穷自动机,对于一条文本T,具体步骤如下:
步骤S401:设置当前状态为State0
步骤S402:按顺序获取其单词对应的隐藏层向量h与输出层向量o;
步骤S403:求解arg max(o),确定h所属的划分;若arg max(o)=i,则h属于Si
步骤S404:计算h与Si中各分块中心的相似度,选取相似度最高的分块作为下一状态;若相似度最高的分块为
Figure FDA0003519001430000012
那么下一状态为
Figure FDA0003519001430000013
计算h与各分块中心的欧氏距离,选取欧氏距离最小的分块作为下一状态;
步骤S405:在当前状态和下一状态间添加一条边;
步骤S406:设置当前状态为下一状态;若当前单词是T中最后一个单词,则退出;否则,返回步骤S402;
2)、基于RNN抽象模型的解释结果生成:
步骤S104:对于文本数据集D中的任一条文本T,根据T的每一单词的隐藏层向量计算其与各分块之间的相似关系,结合分块之间的连接关系R,确定文本T在分块之间的转移关系;利用构建好的不确定有穷自动机,确定文本T在自动机上的状态转移路径,对于一条文本T,具体步骤如下:
步骤S501:设置当前状态为State0
步骤S502:按顺序获取其单词对应的隐藏层向量h;
步骤S503:计算h与当前状态的相邻状态中心的相似度,选择相似度最高的状态作为下一状态;计算h与各相邻状态中心的欧氏距离同时选取欧氏距离最小的状态作为下一状态;
步骤S504:记录当前状态,并设置当前状态为下一状态;
步骤S505:若当前单词是T中最后一个单词,则退出;否则,返回步骤S502;
步骤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:
Figure FDA0003519001430000032
式中:
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——输出层向量;
arg max——取最大值所在的维数;
m——输出层向量的维数;
步骤S302:使用机器学习算法对隐藏层向量子集Hi进行划分得到
Figure FDA0003519001430000041
式中:
Figure FDA0003519001430000042
——划分Si的分块;
k——自定义参数。
4.根据权利要求3所述的方法,其特征在于,所述步骤S302为使用k-means聚类算法得到Hi的一个划分,具体步骤如下:
a)根据聚类数k,随机选取k个隐藏层向量作为聚类中心;
b)评估Hi中所有隐藏层向量到聚类中心的距离,如果一个隐藏层向量距离第j个聚类中心最近,则认为其属于第j簇;
c)计算每个簇中隐藏层向量的平均值,将聚类中心设为簇的平均值;
d)重复以上步骤至所有隐藏层向量所属的簇不发生改变。
5.根据权利要求1所述的方法,其特征在于,所述步骤S105根据文本T在不确定有穷自动机上的状态转移路径,确定T中每个单词的转移权重I;具体为:设上一单词对应隐藏层向量所在的状态为i,当前单词对应隐藏层向量所在的状态为j;若i=j,则I=0;若i≠j且i与j在同一划分S中,则I=1;若i≠j且i与j在不同划分S中,则I=2。
6.根据权利要求1所述的方法,其特征在于,所述步骤S107计算单词解释结果的方式为Interpretation=I*W1*W2,数值越大,表明单词在文本T中越重要。
7.根据权利要求1所述的方法,其特征在于,所述步骤S109分别在已知无后门数据集Dn中加入集合C中的单词与其近义词,统计标签改变的概率,具体步骤如下:
步骤S601:人工选择少量无后门的文本构成数据集Dn
步骤S602:将集合C中的所有单词加入到Dn的每条文本中,并将Dn输入到RNN模型M,统计输出标签发生改变的概率记为P1
步骤S603:将集合C中的单词分别替换为其近义词,将修改后的集合C加入到Dn的每条文本中,并将Dn输入到RNN模型M,统计输出标签发生改变的概率记为P2
步骤S604:令概率P=P1-P2
8.根据权利要求7所述的方法,其特征在于,所述步骤S603使用GloVe词向量来查找单词的近义词,对于一个单词,在GloVe词库中查找与其词向量欧氏距离最小的词向量,从而获取对应的近义词。
CN202010936181.4A 2020-09-08 2020-09-08 基于可解释模型的循环神经网络后门攻击检测方法 Active CN112132262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010936181.4A CN112132262B (zh) 2020-09-08 2020-09-08 基于可解释模型的循环神经网络后门攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010936181.4A CN112132262B (zh) 2020-09-08 2020-09-08 基于可解释模型的循环神经网络后门攻击检测方法

Publications (2)

Publication Number Publication Date
CN112132262A CN112132262A (zh) 2020-12-25
CN112132262B true CN112132262B (zh) 2022-05-20

Family

ID=73846239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010936181.4A Active CN112132262B (zh) 2020-09-08 2020-09-08 基于可解释模型的循环神经网络后门攻击检测方法

Country Status (1)

Country Link
CN (1) CN112132262B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765607B (zh) * 2021-01-19 2022-05-17 电子科技大学 一种神经网络模型后门攻击检测方法
CN113010888B (zh) * 2021-03-02 2022-04-19 电子科技大学 一种基于关键神经元的神经网络后门攻击防御方法
CN113204745B (zh) * 2021-04-12 2022-08-30 武汉大学 基于模型剪枝和逆向工程的深度学习后门防御方法
CN116383814B (zh) * 2023-06-02 2023-09-15 浙江大学 一种神经网络模型后门检测方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516041A (zh) * 2017-08-17 2017-12-26 北京安普诺信息技术有限公司 基于深度神经网络的WebShell检测方法及其系统
CN109582954A (zh) * 2018-01-24 2019-04-05 广州数知科技有限公司 用于输出信息的方法和装置
CN110019795A (zh) * 2017-11-09 2019-07-16 普天信息技术有限公司 敏感词检测模型的训练方法和系统
WO2020051256A1 (en) * 2018-09-04 2020-03-12 Michelle Archuleta Reinforcement learning approach to modify sentences using state groups
CN111133454A (zh) * 2017-12-15 2020-05-08 英特尔公司 利用尖峰神经网络解析正则表达式
CN111191695A (zh) * 2019-12-19 2020-05-22 杭州安恒信息技术股份有限公司 一种基于深度学习的网站图片篡改检测方法
CN111614599A (zh) * 2019-02-25 2020-09-01 北京金睛云华科技有限公司 基于人工智能的webshell检测方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132444B2 (en) * 2018-04-16 2021-09-28 International Business Machines Corporation Using gradients to detect backdoors in neural networks
US11694062B2 (en) * 2018-09-27 2023-07-04 Nec Corporation Recurrent neural networks having a probabilistic state component and state machines extracted from the recurrent neural networks
CN109472024B (zh) * 2018-10-25 2022-10-11 安徽工业大学 一种基于双向循环注意力神经网络的文本分类方法
CN109543084B (zh) * 2018-11-09 2021-01-19 西安交通大学 一种建立面向网络社交媒体的隐蔽敏感文本的检测模型的方法
CN110110318B (zh) * 2019-01-22 2021-02-05 清华大学 基于循环神经网络的文本隐写检测方法及系统
CN110457701A (zh) * 2019-08-08 2019-11-15 南京邮电大学 基于可解释性对抗文本的对抗训练方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516041A (zh) * 2017-08-17 2017-12-26 北京安普诺信息技术有限公司 基于深度神经网络的WebShell检测方法及其系统
CN110019795A (zh) * 2017-11-09 2019-07-16 普天信息技术有限公司 敏感词检测模型的训练方法和系统
CN111133454A (zh) * 2017-12-15 2020-05-08 英特尔公司 利用尖峰神经网络解析正则表达式
CN109582954A (zh) * 2018-01-24 2019-04-05 广州数知科技有限公司 用于输出信息的方法和装置
WO2020051256A1 (en) * 2018-09-04 2020-03-12 Michelle Archuleta Reinforcement learning approach to modify sentences using state groups
CN111614599A (zh) * 2019-02-25 2020-09-01 北京金睛云华科技有限公司 基于人工智能的webshell检测方法和装置
CN111191695A (zh) * 2019-12-19 2020-05-22 杭州安恒信息技术股份有限公司 一种基于深度学习的网站图片篡改检测方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"A Backdoor Attack Against LSTM-Based Text Classification Systems";JIAZHU DAI等;《IEEE Access》;20190913;第138872-138878页 *
"Can We Trust Your Explanations? Sanity Checks for Interpreters in Android Malware Analysis";Ming Fan等;《IEEE Transactions on Information Forensics and Security》;20200904;第838-853页 *
"Learning with interpretable structure from gated RNN";Bo-Jian Hou等;《IEEE Transactions on Neural Networks and Learning Systems》;20200213;第 2267-2279页 *
"Mitigating backdoor attacks in LSTM-based Text Classification Systems by Backdoor Keyword Identification";Chuanshuai Chen等;《https://arxiv.org/abs/2007.12070v1》;20200711;第1-8页 *
"SEMBeF: 一种基于分片循环神经网络的敏感高效的恶意代码行为检测框架";詹静等;《信息安全学报》;20191130;第67-79页 *
"基于HTTP流量的WebShell检测研究";关洪超;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190815;I139-101 *
"基于机器学习的Webshell检测研究";李婷婷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200715;I139-109 *
"蜜网中的入侵告警分析研究";刘雷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111015;I139-99 *

Also Published As

Publication number Publication date
CN112132262A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN112132262B (zh) 基于可解释模型的循环神经网络后门攻击检测方法
CN108632279B (zh) 一种基于网络流量的多层异常检测方法
Kim et al. Towards speech emotion recognition" in the wild" using aggregated corpora and deep multi-task learning
CN110033281B (zh) 一种智能客服至人工客服转换的方法及装置
CN111222318B (zh) 基于双通道双向lstm-crf网络的触发词识别方法
CN108446334B (zh) 一种无监督对抗训练的基于内容的图像检索方法
CN109829478B (zh) 一种基于变分自编码器的问题分类方法和装置
Asadi et al. Creating discriminative models for time series classification and clustering by HMM ensembles
Nanculef et al. Efficient classification of multi-labeled text streams by clashing
Chen et al. Progressive EM for latent tree models and hierarchical topic detection
Wang et al. An improved k NN text classification method
CN112883722B (zh) 一种基于云数据中心分布式文本摘要方法
CN112749274A (zh) 基于注意力机制和干扰词删除的中文文本分类方法
CN109670182A (zh) 一种基于文本哈希向量化表示的海量极短文本分类方法
CN115688024A (zh) 基于用户内容特征和行为特征的网络异常用户预测方法
CN112948578A (zh) 一种dga域名开集分类方法、装置、电子设备及介质
Pristyanto et al. The effect of feature selection on classification algorithms in credit approval
Zhang et al. Ensemble classification for skewed data streams based on neural network
Cathcart Toward a deep dialectological representation of Indo-Aryan
Zainuddin et al. Radial basis function neural networks in protein sequence classification
Ali et al. Biometric studies with hidden Markov model and its extension on short fixed-text input
CN111984762B (zh) 一种对抗攻击敏感的文本分类方法
CN113282746B (zh) 一种网络媒体平台变体评论对抗文本生成方法
Anjali et al. Detection of counterfeit news using machine learning
Song et al. Genetic algorithm-based text clustering technique: Automatic evolution of clusters with high efficiency

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant