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

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

Info

Publication number
CN112132262A
CN112132262A CN202010936181.4A CN202010936181A CN112132262A CN 112132262 A CN112132262 A CN 112132262A CN 202010936181 A CN202010936181 A CN 202010936181A CN 112132262 A CN112132262 A CN 112132262A
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.)
Granted
Application number
CN202010936181.4A
Other languages
English (en)
Other versions
CN112132262B (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)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (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 (10)

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:
Figure FDA0002672006050000021
式中:
f、g——激活函数;
x——输入向量;
u、v、w——模型参数;
i——第i个时间步;
步骤S203:将所有隐藏层向量h和输出层向量o分别加入到隐藏层向量集H和输出层向量集O中,隐藏层向量与输出层向量一一对应。
3.根据权利要求1所述的方法,其特征在于,所述步骤S102先通过输出层向量集O将隐藏层向量集H划分为若干个子集,再利用机器学习算法将隐藏层向量子集进行划分,具体步骤如下:
步骤S301:将隐藏层向量集划分为m个子集,划分依据由下式确定:
Hi={<h,o>|arg max(o)=i,0≤i≤m-1},
式中:
h——隐藏层向量;
o——输出层向量;
arg max——取最大值所在的维数;
m——输出层向量的维数;
步骤S302:使用机器学习算法对隐藏层向量子集Hi进行划分得到
Figure FDA0002672006050000031
式中:
Figure FDA0002672006050000032
——划分Si的分块;
k——自定义参数。
4.根据权利要求3所述的方法,其特征在于,所述步骤S302为使用k-means聚类算法得到Hi的一个划分,具体步骤如下:
a)根据聚类数k,随机选取k个隐藏层向量作为聚类中心;
b)评估Hi中所有隐藏层向量到聚类中心的距离,如果一个隐藏层向量距离第j个聚类中心最近,则认为其属于第j簇;
c)计算每个簇中隐藏层向量的平均值,将聚类中心设为簇的平均值;
d)重复以上步骤至所有隐藏层向量所属的簇不发生改变。
5.根据权利要求1所述的方法,其特征在于,所述步骤S103把所有划分Si的分块
Figure FDA0002672006050000033
视为状态,构建不确定有穷自动机,对于一条文本T,具体步骤如下:
步骤S401:设置当前状态为State0
步骤S402:按顺序获取其单词对应的隐藏层向量h与输出层向量o;
步骤S403:求解arg max(o),确定h所属的划分;若arg max(o)=i,则h属于Si
步骤S404:计算h与Si中各分块中心的相似度,选取相似度最高的分块作为下一状态;若相似度最高的分块为
Figure FDA0002672006050000041
那么下一状态为
Figure FDA0002672006050000042
计算h与各分块中心的欧氏距离,选取欧氏距离最小的分块作为下一状态;
步骤S405:在当前状态和下一状态间添加一条边;
步骤S406:设置当前状态为下一状态;若当前单词是T中最后一个单词,则退出;否则,返回步骤S402。
6.根据权利要求1所述的方法,其特征在于,所述步骤S104利用构建好的不确定有穷自动机,确定文本T在自动机上的状态转移路径,对于一条文本T,具体步骤如下:
步骤S501:设置当前状态为State0
步骤S502:按顺序获取其单词对应的隐藏层向量h;
步骤S503:计算h与当前状态的相邻状态中心的相似度,选择相似度最高的状态作为下一状态;计算h与各相邻状态中心的欧氏距离同时选取欧氏距离最小的状态作为下一状态;
步骤S504:记录当前状态,并设置当前状态为下一状态;
步骤S505:若当前单词是T中最后一个单词,则退出;否则,返回步骤S502。
7.根据权利要求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。
8.根据权利要求1所述的方法,其特征在于,所述步骤S107计算单词解释结果的方式为Interpretation=I*W1*W2,数值越大,表明单词在文本T中越重要。
9.根据权利要求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
10.根据权利要求9所述的方法,其特征在于,所述步骤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 true CN112132262A (zh) 2020-12-25
CN112132262B 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)

Cited By (4)

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

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516041A (zh) * 2017-08-17 2017-12-26 北京安普诺信息技术有限公司 基于深度神经网络的WebShell检测方法及其系统
CN109472024A (zh) * 2018-10-25 2019-03-15 安徽工业大学 一种基于双向循环注意力神经网络的文本分类方法
CN109543084A (zh) * 2018-11-09 2019-03-29 西安交通大学 一种建立面向网络社交媒体的隐蔽敏感文本的检测模型的方法
CN109582954A (zh) * 2018-01-24 2019-04-05 广州数知科技有限公司 用于输出信息的方法和装置
CN110019795A (zh) * 2017-11-09 2019-07-16 普天信息技术有限公司 敏感词检测模型的训练方法和系统
CN110110318A (zh) * 2019-01-22 2019-08-09 清华大学 基于循环神经网络的文本隐写检测方法及系统
US20190318099A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Using Gradients to Detect Backdoors in Neural Networks
CN110457701A (zh) * 2019-08-08 2019-11-15 南京邮电大学 基于可解释性对抗文本的对抗训练方法
WO2020051256A1 (en) * 2018-09-04 2020-03-12 Michelle Archuleta Reinforcement learning approach to modify sentences using state groups
US20200104671A1 (en) * 2018-09-27 2020-04-02 NEC Laboratories Europe GmbH Recurrent neural networks and state machines
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检测方法和装置

Patent Citations (13)

* 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 广州数知科技有限公司 用于输出信息的方法和装置
US20190318099A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Using Gradients to Detect Backdoors in Neural Networks
WO2020051256A1 (en) * 2018-09-04 2020-03-12 Michelle Archuleta Reinforcement learning approach to modify sentences using state groups
US20200104671A1 (en) * 2018-09-27 2020-04-02 NEC Laboratories Europe GmbH Recurrent neural networks and state machines
CN109472024A (zh) * 2018-10-25 2019-03-15 安徽工业大学 一种基于双向循环注意力神经网络的文本分类方法
CN109543084A (zh) * 2018-11-09 2019-03-29 西安交通大学 一种建立面向网络社交媒体的隐蔽敏感文本的检测模型的方法
CN110110318A (zh) * 2019-01-22 2019-08-09 清华大学 基于循环神经网络的文本隐写检测方法及系统
CN111614599A (zh) * 2019-02-25 2020-09-01 北京金睛云华科技有限公司 基于人工智能的webshell检测方法和装置
CN110457701A (zh) * 2019-08-08 2019-11-15 南京邮电大学 基于可解释性对抗文本的对抗训练方法
CN111191695A (zh) * 2019-12-19 2020-05-22 杭州安恒信息技术股份有限公司 一种基于深度学习的网站图片篡改检测方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
BO-JIAN HOU等: ""Learning with interpretable structure from gated RNN"", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》 *
CHUANSHUAI CHEN等: ""Mitigating backdoor attacks in LSTM-based Text Classification Systems by Backdoor Keyword Identification"", 《HTTPS://ARXIV.ORG/ABS/2007.12070V1》 *
JIAZHU DAI等: ""A Backdoor Attack Against LSTM-Based Text Classification Systems"", 《IEEE ACCESS》 *
MING FAN等: ""Can We Trust Your Explanations? Sanity Checks for Interpreters in Android Malware Analysis"", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 *
关洪超: ""基于HTTP流量的WebShell检测研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
刘雷: ""蜜网中的入侵告警分析研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李婷婷: ""基于机器学习的Webshell检测研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
詹静等: ""SEMBeF: 一种基于分片循环神经网络的敏感高效的恶意代码行为检测框架"", 《信息安全学报》 *

Cited By (7)

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

Also Published As

Publication number Publication date
CN112132262B (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
CN112132262B (zh) 基于可解释模型的循环神经网络后门攻击检测方法
CN108632279B (zh) 一种基于网络流量的多层异常检测方法
CN110298037B (zh) 基于增强注意力机制的卷积神经网络匹配的文本识别方法
Kim et al. Towards speech emotion recognition" in the wild" using aggregated corpora and deep multi-task learning
CN107292097B (zh) 基于特征组的中医主症选择方法
CN111222318B (zh) 基于双通道双向lstm-crf网络的触发词识别方法
CN109829478B (zh) 一种基于变分自编码器的问题分类方法和装置
Asadi et al. Creating discriminative models for time series classification and clustering by HMM ensembles
Wang et al. An improved k NN text classification method
CN112883722B (zh) 一种基于云数据中心分布式文本摘要方法
CN112749274A (zh) 基于注意力机制和干扰词删除的中文文本分类方法
CN112948578A (zh) 一种dga域名开集分类方法、装置、电子设备及介质
Pristyanto et al. The effect of feature selection on classification algorithms in credit approval
CN113779283B (zh) 一种深度监督与特征融合的细粒度跨媒体检索方法
CN112487406A (zh) 一种基于机器学习的网络行为分析方法
KR102021138B1 (ko) 인공지능 기반 악성 도메인 분류 방법 및 프로그램
Oliveira et al. Improving cascading classifiers with particle swarm optimization
Cathcart Toward a deep dialectological representation of Indo-Aryan
CN112132059B (zh) 一种基于深度条件随机场的行人重识别方法和系统
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
CN113177120B (zh) 一种基于中文文本分类的情报快速整编方法
CN115344693A (zh) 一种基于传统算法和神经网络算法融合的聚类方法
CN111984762B (zh) 一种对抗攻击敏感的文本分类方法
Fan et al. Large margin nearest neighbor embedding for knowledge representation

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