CN111191717A - 一种基于隐空间聚类的黑盒对抗样本生成算法 - Google Patents
一种基于隐空间聚类的黑盒对抗样本生成算法 Download PDFInfo
- Publication number
- CN111191717A CN111191717A CN201911389624.6A CN201911389624A CN111191717A CN 111191717 A CN111191717 A CN 111191717A CN 201911389624 A CN201911389624 A CN 201911389624A CN 111191717 A CN111191717 A CN 111191717A
- Authority
- CN
- China
- Prior art keywords
- sample
- layer
- label
- representing
- class
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于隐空间聚类的黑盒对抗样本生成算法,包括如下步骤:步骤1,利用卷积自编码器提取图像样本的特征表示;步骤2,当需要被攻击模型产生误分类时,利用图像样本的特征表示进行误分类对抗样本生成算法,得到对抗样本;步骤3,当需要对被攻击模型进行目标对抗时,利用图像样本的特征表示进行目标对抗样本生成算法,得到对抗样本。本发明通过采用卷积自编码器提取图像样本的特征表示,从而实现隐空间聚类,并且不需要了解目标模型的结构,实现黑盒对抗样本生成算法。
Description
技术领域
本发明涉及机器学习和模式识别领域,尤其是一种基于隐空间聚类的黑盒对抗样本生成算法。
背景技术
近年来,深度神经网络(Deep Neural Network,DNN)在机器学习和模式识别领域带来了革命性的变化。DNN在许多模式识别任务(尤其是视觉分类问题)上取得大量成果,其出色的性能也引起了许多其他领域的广泛关注。在对抗样攻击领域中,研究人员也已经提出了许多基于DNN的对抗样本生成算法。但是,大量实验表明基于DNN的算法中存在一些漏洞,目前主要有三个问题:
一、大多数算法需要通过训练样本来得到特征空间中的分类边界,较为依赖训练过程。
二、白盒方法假定完全了解目标模型,黑盒方法则无需了解目标模型,目前大多数算法都是白盒方法,而在实际使用中黑盒方法更加实用。
三、大多数算法只考虑了不同类别间的分类,没有考虑到同一类别内,数据多峰分布的情况。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种基于隐空间聚类的黑盒对抗样本生成算法。
本发明采用的技术方案如下:
一种基于隐空间聚类的黑盒对抗样本生成算法,包括如下步骤:
步骤1,利用卷积自编码器提取图像样本的特征表示;
步骤2,当需要被攻击模型产生误分类时,利用图像样本的特征表示进行误分类对抗样本生成算法,得到对抗样本;
步骤3,当需要对被攻击模型进行目标对抗时,利用图像样本的特征表示进行目标对抗样本生成算法,得到对抗样本。
在一个实施例中,步骤1的方法包括:
步骤1.1,构建卷积自编码器;
步骤1.2,训练构建的卷积自编码器;
步骤1.3,利用训练好的卷积自编码器提取图像样本的特征表示。
在一个实施例中,步骤1.1中构建的卷积自编码器具有11层结构,包括编码器和解码器;
所述编码器为第一层至第六层,包括2个卷积层、2个线性整流层、1个池化层和1个全连接层;
所述解码器为第七层至第十一层,包括2个卷积层、2个线性整流层和1个反池化层。
在一个实施例中,所述编码器的结构为:
第一层:L1(x)=F*x,其中,L1(x)表示经过第一层卷积层卷积后输出的p1×q1阶特征矩阵,F为二维卷积核,*为卷积运算;
第二层:L2(x)=ReLU(L1(x)),其中,L2(x)表示经过第二层线性整流层后输出的p1×q1阶特征矩阵,ReLU(·)为激活函数,且
第三层:L3(x)=MaxPool(L2(x)),其中,L3(x)表示经过第三层池化层后输出的p3×q3阶特征矩阵,MaxPool(·)为池化操作;
第四层:L4(x)=F*L3(x),其中,L4(x)表示经过第四层卷积层卷积后输出的p4×q4阶特征矩阵;其中,F为二维卷积核,*为卷积运算;
第五层:L5(x)=ReLU(L4(x)),其中,L5(x)表示经过第五层线性整流层后输出的p4×q4阶特征矩阵,ReLU(·)为激活函数;
第六层:S=L6(x)=WL5(x),其中,L6(x)是第六层全连接层输出的p4×q4阶特征矩阵,用S表示该特征矩阵,W为权值参数矩阵。
在一个实施例中,第三层的MaxPool(·)池化操作的方法为:
令步长为t,为保证整除,将L2(x)填充为p2×q2阶矩阵,r=0,1,2,3,…,p1-1,s=0,1,2,3,…,q1-1,则yij=max(xi·t+r,j·t+s);
其中,i≤(p2-p1)/t,j≤(q2-q1)/t,yij表示池化后矩阵中第i行j列的元素,max(·)为取最大值,x为填充后矩阵的元素,下标为元素位置。
在一个实施例中,所述解码器的结构为:
第七层:L7(x)=F*L6(x),其中,L7(x)表示经过第七层卷积层卷积后输出的p5×q5阶特征矩阵,F为二维卷积核,*为卷积运算;
第八层:L8(x)=ReLU(L7(x)),其中,L8(x)表示经过第八层线性整流层后输出的p4×q4阶特征矩阵,ReLU(·)为激活函数;
第九层:L9(x)=UnPooling(L8(x)),其中,L9(x)是第九层反池化层输出的p2×q2阶特征矩阵,UnPooling(·)为反池化函数;
第十层:L10(x)=F*L9(x),其中,L10(x)表示经过第十层卷积层卷积后输出的p1×q1阶特征矩阵,F为二维卷积核,*为卷积运算;
第十一层:x′=ReLU(L10(x)),其中,x′表示解码器还原的样本维度为p0×q0,ReLU(·)为激活函数。
在一个实施例中,步骤1.2的方法为:
步骤1.2.1,取训练样本Xtrain={x1,x2,...,xn};
其中,xi为训练样本Xtrain中的一个样本,1≤i≤n,n为样本个数;
步骤1.2.2,将样本xi输入到卷积自编码器中,得到经过编解码操作后的样本xi′。
步骤1.2.5,重复执行步骤1.2.2~步骤1.2.4,得到训练好的卷积自编码器E。
在一个实施例中,步骤1.3的方法为:
步骤1.3.1,取纯净样本X={x1,x2,...,xm};
其中,xl为纯净样本X中的一个样本,1≤l≤m,m为样本个数;
步骤1.3.2,将样本xl输入到训练好的卷积自编码器中,得到编码器输出的特征表示sl;
步骤1.3.3,重复执行步骤1.3.2,得到特征表示集S={s1,s2,...,sm}。
在一个实施例中,步骤2的方法为:
步骤2.1,选取数据样本类别中心点:
步骤2.1.1,根据X对应的标签集Y={y1,y2,...,ym},得到其标签类别集:
C={c1,c2,...,cg}
其中,cd为一个标签类别,1≤d≤g,g为标签类别总数;
步骤2.1.2,在标签类别cd中随机设置k个样本点作为初始的聚类中心,其中k为超参数;
步骤2.1.3,对于标签类别cd中除k个样本点外的每个样本点计算到k个中心点的距离:
V={(v11,v12,...,v1k),(v21,v22,...,v2k),...,(v(g-k)1,v(g-k)2,...,v(g-k)k)}
其中,(v(g-k)1,v(g-k)2,...,v(g-k)k)表示第(g-k)个样本点距k个样本点的距离;
步骤2.1.4,对于每一个样本点,选择最近的聚类中心点作为标签类别标记得到cd={cd1,cd2,...,cdk},即将标签类别cd细化为k个类,得到k个族群;
步骤2.1.5,分别计算k个族群的样本平均值,得到
步骤2.1.8,输出cd={cd1,cd2,...,cdk};
步骤2.1.9,对所有标签类别cd∈C,循环步骤2.1.2~步骤2.1.8,直到g个标签类别全部取到,得到所有标签类别的集合,即g个标签类别细化后的集合:C′={(c11,c12,...),(c21,c22,...),...,(cg1,cg2,...)};
步骤2.1.10,根据所有标签类别的集合C′,对X进行划分,得到标签为ij的样本的集合:Xij={xl|yl=cij},其中,yl为一个样本标签,1≤l≤m;
步骤2.1.11,计算标签为ij的所有样本的均值:
其中,xij是Xij中的样本,nij是Xij中样本的总数;
步骤2.1.12,计算标签为ij的样本在编码空间中的类中心表示wij:
wij=Smij
步骤2.1.13重复执行步骤2.1.12,得到类中心点集合:
W={(w11,w12,...),(w21,w22,...),...,(wg1,wg2,...)}
步骤2.2,生成对抗样本:
步骤2.2.1,取一个纯净样本xl及特征表示集S,得到纯净样本xl在编码空间中的位置:zl=Sxl,其中,zl为纯净样本xl在编码空间的位置表示;
步骤2.2.2,设置初始值:high=1,low=0,min_diff=1,zl=Sxl,ε;
其中,high和low为扰动参数,min_diff为最小距离,ε是搜索精度;
步骤2.2.3,如果high-low>ε,则循环步骤2.2.3至步骤2.2.12,否则执行步骤2.2.13;
步骤2.2.5,设置found代表是否查找到a类外的其他类,其初始值为false;
步骤2.2.6,对所有标签类别的集合C′中所有不为a的标签类别,重复执行步骤2.2.7~步骤2.2.11;
步骤2.2.7,对一个不为a的标签类别cd∈C′,计算
zl′=zl+mid*(wd-wa)
其中,(wd-wa)表示类别d与类别a的差向量,zl′表示扰动程度,ST表示编码后的特征表示的转置;
步骤2.2.8,得到对样本xl添加扰动后的样本xl″=STzl′;
步骤2.2.9,判断xl″的标签类别是否为a,如果xl″的标签类别为a,则回到步骤2.2.6;否则执行步骤2.2.10;
步骤2.2.10,设置found=true;
步骤2.2.11,判断||xl-xl″||1<min_diff是否成立:
(1)若成立,则生成对抗样本:xl_adv′=xl″,min_diff=||xl-xl″||1;
其中||xl-xl″||1表示添加扰动的样本xl″与原始的样本xl的差向量的绝对值之和,||·||1为1范数,xl_adv′为最终输出的对抗样本;
(2)若不成立,则回到步骤2.2.6;
步骤2.2.12,若found=true成立,则high=mid,否则,low=mid;
步骤2.2.13,返回对抗样本xl_adv′。
在一个实施例中,步骤(3)的方法为:
步骤3.1,选取数据样本类别中心点:
步骤3.1.1,在标签类别集C中选取标签类别ct;
步骤3.1.2,在标签类别ct中随机设置k个样本点作为初始的聚类中心,其中k为超参数;
步骤3.1.3,对于标签类别ct中除k个样本点外的每个样本点计算到k个中心点的距离:V={vt1,vt2,...,vtk};
步骤3.1.4,对于每一个样本点,选择最近的聚类中心点作为类别标记得到ct={ct1,ct2,...,ctk},即将标签类别ct细化为k个类,得到k个族群;
步骤3.1.5分别计算k个族群的样本平均值,得到
步骤3.1.8,输出样本标签集C′t={ct1,ct2,...,ctk};
步骤3.1.9,根据样本标签集C′t,将x中对应的样本进行划分,得到标签为tj的样本的集合:Xtj={xl|yl=ctj},其中,yl为一个样本标签,1≤l≤m;
步骤3.1.10,计算标签为tj的所有样本的均值:
其中,xtj是Xtj中的样本,ntj是Xtj中样本的总数;
步骤3.1.11,计算标签为tj的样本在编码空间中的类中心表示wtj:
wtj=Smtj
步骤3.1.12,重复执行步骤3.1.11,得到类中心点集合:
Wt={wt1,wt2,..,wtk}
步骤3.2,生成对抗样本:
步骤3.2.1,取一个纯净样本xl及特征表示集S,得到xl在编码空间中的位置zl=Sxl,其中,zl为xl在编码空间的位置表示;
步骤3.2.2,初始设置high=1,low=0,zl=Sxl,ε,其中,high和low为扰动参数,ε是搜索精度;
步骤3.2.3,如果high-low>ε,则循环步骤3.2.3~步骤3.2.11,否则执行步骤3.2.12;
步骤3.2.5,对Wt中所有wti,循环步骤3.2.6~步骤3.2.8;
步骤3.2.6计算zl′=zl+mid*(wti-wa),其中,(wti-wa)表示类别ti与类别a的差向量,zl′表示扰动程度,ST表示编码后的特征表示的转置;
步骤3.2.8,计算样本距离:tl=||xl-xl″||1;
步骤3.2.9,得到距离集合T={t1,t2,...};
步骤3.2.10,选取T中最小值tmin所对应添加扰动的样本xl_min″;
步骤3.2.11,判断xl_min″的标签类别是否为t,若xl_min″的标签类别为t,则xl_adv′=xl_min″,high=mid;否则low=mid,其中,xl_adv′为最终输出的对抗样本;
步骤3.2.12,返回对抗样本xl_adv′。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明通过采用卷积自编码器提取图像样本的特征表示,从而实现隐空间聚类,并且不需要了解目标模型的结构,实现黑盒对抗样本生成算法。
2、本发明实现的误分类对抗样本生成算法和目标对抗样本生成算法,不需要通过训练样本来获取分类边界,仅通过修改样本就可使被攻击模型分类错误,因此可以生成对抗样本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的基于隐空间聚类的黑盒对抗样本生成算法的原理框图。
图2为本发明的卷积自编码器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于隐空间聚类的黑盒对抗样本生成算法,包括如下步骤:
步骤1,利用卷积自编码器提取图像样本的特征表示;
步骤2,当需要被攻击模型产生误分类时,利用图像样本的特征表示进行误分类对抗样本生成算法,得到对抗样本;
步骤3,当需要对被攻击模型进行目标对抗时,利用图像样本的特征表示进行目标对抗样本生成算法,得到对抗样本。
在一个实施例中,卷积自编码器可以将原始图像样本的特征映射在隐空间中,从而实现隐空间聚类。因此本发明使用一种卷积自编码器对图像样本特征进行提取。具体地,步骤1的方法包括:
步骤1.1,构建卷积自编码器;
步骤1.2,训练构建的卷积自编码器;
步骤1.3,利用训练好的卷积自编码器提取图像样本的特征表示。
如图2所示,步骤1.1中构建的卷积自编码器具有11层结构,包括编码器和解码器;
所述编码器为第一层至第六层,包括2个卷积层(Convolutional layer)、2个线性整流层(Rectified Linear Unit layer,ReLU layer)、1个池化层(Pooling layer)和1个全连接层(Fully Connected Layer);具体地,所述编码器的结构为:
第一层:L1(x)=F*x,其中,L1(x)表示经过第一层卷积层卷积后输出的p1×q1阶特征矩阵,F为二维卷积核,*为卷积运算;
第二层:L2(x)=ReLU(L1(x)),其中,L2(x)表示经过第二层线性整流层后输出的p1×q1阶特征矩阵,ReLU(·)为激活函数,且
第三层:L3(x)=MaxPool(L2(x)),其中,L3(x)表示经过第三层池化层后输出的p3×q3阶特征矩阵,MaxPool(·)为池化操作,具体如下:
令步长为t,为保证整除,将L2(x)填充为p2×q2阶矩阵,r=0,1,2,3,…,p1-1,s=0,1,2,3,…,q1-1,则yij=max(xi·t+r,j·t+s);
其中,i≤(p2-p1)/t,j≤(q2-q1)/t,yij表示池化后矩阵中第i行j列的元素,max(·)为取最大值,x为填充后矩阵的元素,下标为元素位置。
第四层:L4(x)=F*L3(x),其中,L4(x)表示经过第四层卷积层卷积后输出的p4×q4阶特征矩阵;其中,F为二维卷积核,*为卷积运算;
第五层:L5(x)=ReLU(L4(x)),其中,L5(x)表示经过第五层线性整流层后输出的p4×q4阶特征矩阵,ReLU(·)为激活函数;
第六层:S=L6(x)=WL5(x),其中,L6(x)是第六层全连接层输出的p4×q4阶特征矩阵,用S表示该特征矩阵,W为权值参数矩阵。
所述解码器为第七层至第十一层,包括2个卷积层、2个线性整流层和1个反池化层(Unpooling layer)。具体地,所述解码器的结构为:
第七层:L7(x)=F*L6(x),其中,L7(x)表示经过第七层卷积层卷积后输出的p5×q5阶特征矩阵,F为二维卷积核,*为卷积运算;
第八层:L8(x)=ReLU(L7(x)),其中,L8(x)表示经过第八层线性整流层后输出的p4×q4阶特征矩阵,ReLU(·)为激活函数;
第九层:L9(x)=UnPooling(L8(x)),其中,L9(x)是第九层反池化层输出的p2×q2阶特征矩阵,UnPooling(·)为反池化函数;
第十层:L10(x)=F*L9(x),其中,L10(x)表示经过第十层卷积层卷积后输出的p1×q1阶特征矩阵,F为二维卷积核,*为卷积运算;
第十一层:x′=ReLU(L10(x)),其中,x′表示解码器还原的样本维度为p0×q0,ReLU(·)为激活函数。
进一步地,步骤1.2的方法为:
步骤1.2.1,取训练样本Xtrain={x1,x2,...,xn};
其中,xi为训练样本Xtrain中的一个样本,1≤i≤n,n为样本个数;
步骤1.2.2,将样本xi输入到卷积自编码器中,得到经过编解码操作后的样本xi′。
步骤1.2.5,重复执行步骤1.2.2~步骤1.2.4,得到训练好的卷积自编码器E。
进一步地,步骤1.3的方法为:
步骤1.3.1,取纯净样本X={x1,x2,...,xm};
其中,xl为纯净样本X中的一个样本,1≤l≤m,m为样本个数;
步骤1.3.2,将样本xl输入到训练好的卷积自编码器中,得到编码器输出的特征表示sl;
步骤1.3.3,重复执行步骤1.3.2,得到特征表示集S={s1,s2,...,sm}。
在一个实施例中,误分类对抗样本生成算法的目的是使被攻击模型得出一个错误的分类结果。给定一个带有正确标签a的样本xl,攻击者生成对应的对抗样本xl_adv′,且则被攻击模型将其识别为非a的其他类别。具体地,所述步骤2的方法为:
步骤2.1,选取数据样本类别中心点:通过步骤2.1.1~步骤2.1.9聚类出所有类的子类别,再通过步骤2.1.10~步骤2.1.13找出所有子类别的中心点。
步骤2.1.1,根据X对应的标签集Y={y1,y2,...,ym},得到其标签类别集:
C={c1,c2,...,cg}
其中,cd为一个标签类别,1≤d≤g,g为标签类别总数;
步骤2.1.2,在标签类别cd中随机设置k个样本点作为初始的聚类中心,其中k为超参数;
步骤2.1.3,对于标签类别cd中除k个样本点外的每个样本点计算到k个中心点的距离:
V={(v11,v12,...,v1k),(v21,v22,...,v2k),...,(v(g-k)1,v(g-k)2,...,v(g-k)k)}
其中,(v(g-k)1,v(g-k)2,...,v(g-k)k)表示第(g-k)个样本点距k个样本点的距离;
步骤2.1.4,对于每一个样本点,选择最近的聚类中心点作为标签类别标记得到cd={cd1,cd2,...,cdk},即将标签类别cd细化为k个类,得到k个族群;
步骤2.1.5,分别计算k个族群的样本平均值,得到
步骤2.1.8,输出cd={cd1,cd2,...,cdk};
步骤2.1.9,对所有标签类别cd∈C,循环步骤2.1.2~步骤2.1.8,直到g个标签类别全部取到,得到所有标签类别的集合,即g个标签类别细化后的集合:
C′={(c11,c12,...),(c21,c22,...),...,(cg1,cg2,...)}
步骤2.1.10,根据所有标签类别的集合C′,对X进行划分,得到标签为ij的样本的集合:
Xij=(xl|yl=cij}
其中,yl为一个样本标签,1≤l≤m;
步骤2.1.11,计算标签为ij的所有样本的均值:
其中,xij是Xij中的样本,nij是Xij中样本的总数;
步骤2.1.12,计算标签为ij的样本在编码空间中的类中心表示wij:
wij=Smij
步骤2.1.13重复执行步骤2.1.12,得到类中心点集合:
W={(w11,w12,...),(w21,w22,...),...,(wg1,wg2,...)}
步骤2.2,生成对抗样本:
步骤2.2.1,取一个纯净样本xl及特征表示集S,得到纯净样本xl在编码空间中的位置:zl=Sxl,其中,zl为纯净样本xl在编码空间的位置表示;
步骤2.2.2,设置初始值:high=1,low=0,min_diff=1,zl=Sxl,ε;
其中,high和low为扰动参数,min_diff为最小距离,ε是搜索精度;
步骤2.2.3,如果high-low>ε,则循环步骤2.2.3至步骤2.2.12,否则执行步骤2.2.13;
步骤2.2.4,计算
其中,mid为当前控制扰动的参数值;
步骤2.2.5,设置found代表是否查找到a类外的其他类,其初始值为false;
步骤2.2.6,对所有标签类别的集合C′中所有不为a的标签类别,重复执行步骤2.2.7~步骤2.2.11;
步骤2.2.7,对一个不为a的标签类别cd∈C′,计算
zl′=zl+mid*(wd-wa)
其中,(wd-wa)表示类别d与类别a的差向量,zl′表示扰动程度,ST表示编码后的特征表示的转置;
步骤2.2.8,得到对样本xl添加扰动后的样本xl″=STzl′;
步骤2.2.9,判断xl″的标签类别是否为a,如果xl″的标签类别为a,则回到步骤2.2.6;否则执行步骤2.2.10;
步骤2.2.10,设置found=true;
步骤2.2.11,判断||xl-xl″||1<min_diff是否成立:
(1)若成立,则生成对抗样本:
xl_adv′=xl″,min_diff=||xl-xl″||1
其中||xl-xl″||1表示添加扰动的样本xl″与原始的样本xl的差向量的绝对值之和,||·||1为1范数,xl_adv′为最终输出的对抗样本;
(2)若不成立,则回到步骤2.2.6;
步骤2.2.12,若found=true成立,则high=mid,否则,low=mid;
步骤2.2.13,返回对抗样本xl_adv′。
在一个实施例中,目标对抗样本生成是指故意让一个网络对给定的样本给出一个特定的错误答案。给定一个带有正确标签a的样本xl,攻击者生成对应的对抗样本xl_adv′,且则被攻击模型将其识别为类别t。具体地,步骤(3)的方法为:
步骤3.1,选取数据样本类别中心点:通过步骤3.1.1~步骤3.1.8聚类出所有类的子类别,再通过步骤3.1.9~步骤3.1.12找出所有子类别的中心点。
步骤3.1.1,在标签类别集C中选取标签类别ct;
步骤3.1.2,在标签类别ct中随机设置k个样本点作为初始的聚类中心,其中k为超参数;
步骤3.1.3,对于标签类别ct中除k个样本点外的每个样本点计算到k个中心点的距离:V={vt1,vt2,...,vtk};
步骤3.1.4,对于每一个样本点,选择最近的聚类中心点作为类别标记得到ct={ct1,ct2,...,ctk},即将标签类别ct细化为k个类,得到k个族群;
步骤3.1.5分别计算k个族群的样本平均值,得到
步骤3.1.8,输出样本标签集C′t={ct1,ct2,...,ctk};
步骤3.1.9,根据样本标签集C′t,将X中对应的样本进行划分,得到标签为tj的样本的集合:
Xtj=(xl|yl=ctj}
其中,yl为一个样本标签,1≤l≤m;
步骤3.1.10,计算标签为tj的所有样本的均值:
其中,xtj是Xtj中的样本,ntj是Xtj中样本的总数;
步骤3.1.11,计算标签为tj的样本在编码空间中的类中心表示wtj:
wtj=Smtj
步骤3.1.12,重复执行步骤3.1.11,得到类中心点集合:
Wt={wt1,wt2,..,wtk}
步骤3.2,生成对抗样本:
步骤3.2.1,取一个纯净样本xl及特征表示集S,得到xl在编码空间中的位置zl=Sxl,其中,zl为xl在编码空间的位置表示;
步骤3.2.2,初始设置high=1,low=0,zl=Sxl,ε,其中,high和low为扰动参数,ε是搜索精度;
步骤3.2.3,如果high-low>ε,则循环步骤3.2.3~步骤3.2.11,否则执行步骤3.2.12;
步骤3.2.4,计算
其中,mid为当前控制扰动的参数值;
步骤3.2.5,对Wt中所有wti,循环步骤3.2.6~步骤3.2.8;
步骤3.2.6计算
zl′=zl+mid*(wti-wa)
其中,(wti-wa)表示类别ti与类别a的差向量,zl′表示扰动程度,ST表示编码后的特征表示的转置;
步骤3.2.8,计算样本距离:tl=||xl-xl″||1;
步骤3.2.9,得到距离集合T={t1,t2,...};
步骤3.2.10,选取T中最小值tmin所对应添加扰动的样本xl_min″;
步骤3.2.11,判断xl_min″的标签类别是否为t,若xl_min″的标签类别为t,则xl_adv′=xl_min″,high=mid;否则low=mid,其中,xl_adv′为最终输出的对抗样本;
步骤3.2.12,返回对抗样本xl_adv′。
通过上述内容可知,本发明具有的有益效果如下:
1、本发明通过采用卷积自编码器提取图像样本的特征表示,从而实现隐空间聚类,并且不需要了解目标模型的结构,实现黑盒对抗样本生成算法。
2、本发明实现的误分类对抗样本生成算法和目标对抗样本生成算法,不需要通过训练样本来获取分类边界,仅通过修改样本就可使被攻击模型分类错误,因此可以生成对抗样本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,包括如下步骤:
步骤1,利用卷积自编码器提取图像样本的特征表示;
步骤2,当需要被攻击模型产生误分类时,利用图像样本的特征表示进行误分类对抗样本生成算法,得到对抗样本;
步骤3,当需要对被攻击模型进行目标对抗时,利用图像样本的特征表示进行目标对抗样本生成算法,得到对抗样本。
2.根据权利要求1所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,步骤1的方法包括:
步骤1.1,构建卷积自编码器;
步骤1.2,训练构建的卷积自编码器;
步骤1.3,利用训练好的卷积自编码器提取图像样本的特征表示。
3.根据权利要求2所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,步骤1.1中构建的卷积自编码器具有11层结构,包括编码器和解码器;
所述编码器为第一层至第六层,包括2个卷积层、2个线性整流层、1个池化层和1个全连接层;
所述解码器为第七层至第十一层,包括2个卷积层、2个线性整流层和1个反池化层。
4.根据权利要求3所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,所述编码器的结构为:
第一层:L1(x)=F*x,其中,L1(x)表示经过第一层卷积层卷积后输出的p1×q1阶特征矩阵,F为二维卷积核,*为卷积运算;
第二层:L2(x)=ReLU(L1(x)),其中,L2(x)表示经过第二层线性整流层后输出的p1×q1阶特征矩阵,ReLU(·)为激活函数,且
第三层:L3(x)=MaxPool(L2(x)),其中,L3(x)表示经过第三层池化层后输出的p3×q3阶特征矩阵,MaxPool(·)为池化操作;
第四层:L4(x)=F*L3(x),其中,L4(x)表示经过第四层卷积层卷积后输出的p4×q4阶特征矩阵;其中,F为二维卷积核,*为卷积运算;
第五层:L5(x)=ReLU(L4(x)),其中,L5(x)表示经过第五层线性整流层后输出的p4×q4阶特征矩阵,ReLU(·)为激活函数;
第六层:S=L6(x)=WL5(x),其中,L6(x)是第六层全连接层输出的p4×q4阶特征矩阵,用S表示该特征矩阵,W为权值参数矩阵。
5.根据权利要求4所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,第三层的MaxPool(·)池化操作的方法为:
令步长为t,为保证整除,将L2(x)填充为p2×q2阶矩阵,r=0,1,2,3,…,p1-1,s=0,1,2,3,…,q1-1,则yij=max(xi·t+r,j·t+s);
其中,i≤(p2-p1)/t,j≤(q2-q1)/t,yij表示池化后矩阵中第i行j列的元素,max(·)为取最大值,x为填充后矩阵的元素,下标为元素位置。
6.根据权利要求4所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,所述解码器的结构为:
第七层:L7(x)=F*L6(x),其中,L7(x)表示经过第七层卷积层卷积后输出的p5×q5阶特征矩阵,F为二维卷积核,*为卷积运算;
第八层:L8(x)=ReLU(L7(x)),其中,L8(x)表示经过第八层线性整流层后输出的p4×q4阶特征矩阵,ReLU(·)为激活函数;
第九层:L9(x)=UnPooling(L8(x)),其中,L9(x)是第九层反池化层输出的p2×q2阶特征矩阵,UnPooling(·)为反池化函数;
第十层:L10(x)=F*L9(x),其中,L10(x)表示经过第十层卷积层卷积后输出的p1×q1阶特征矩阵,F为二维卷积核,*为卷积运算;
第十一层:x′=ReLU(L10(x)),其中,x′表示解码器还原的样本维度为p0×q0,ReLU(·)为激活函数。
8.根据权利要求2所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,步骤1.3的方法为:
步骤1.3.1,取纯净样本X={x1,x2,...,xm};
其中,xl为纯净样本X中的一个样本,1≤l≤m,m为样本个数;
步骤1.3.2,将样本xl输入到训练好的卷积自编码器中,得到编码器输出的特征表示sl;
步骤1.3.3,重复执行步骤1.3.2,得到特征表示集S={s1,s2,...,sm}。
9.根据权利要求1所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,步骤2的方法为:
步骤2.1,选取数据样本类别中心点:
步骤2.1.1,根据X对应的标签集Y={y1,y2,...,ym},得到其标签类别集:
C={c1,c2,...,cg}
其中,cd为一个标签类别,1≤d≤g,g为标签类别总数;
步骤2.1.2,在标签类别cd中随机设置k个样本点作为初始的聚类中心,其中k为超参数;
步骤2.1.3,对于标签类别cd中除k个样本点外的每个样本点计算到k个中心点的距离:
V={(v11,v12,...,v1k),(v21,v22,...,v2k),...,(v(g-k)1,v(g-k)2,...,v(g-k)k)}
其中,(v(g-k)1,v(g-k)2,...,v(g-k)k)表示第(g-k)个样本点距k个样本点的距离;
步骤2.1.4,对于每一个样本点,选择最近的聚类中心点作为标签类别标记得到cd={cd1,cd2,...,cdk},即将标签类别cd细化为k个类,得到k个族群;
步骤2.1.5,分别计算k个族群的样本平均值,得到
步骤2.1.8,输出cd={cd1,cd2,...,cdk};
步骤2.1.9,对所有标签类别cd∈C,循环步骤2.1.2~步骤2.1.8,直到g个标签类别全部取到,得到所有标签类别的集合,即g个标签类别细化后的集合:C′={(c11,c12,...),(c21,c22,...),...,(cg1,cg2,...)};
步骤2.1.10,根据所有标签类别的集合C′,对X进行划分,得到标签为ij的样本的集合:Xij={xl|yl=cij},其中,yl为一个样本标签,1≤l≤m;
步骤2.1.11,计算标签为ij的所有样本的均值:
其中,xij是Xij中的样本,nij是Xij中样本的总数;
步骤2.1.12,计算标签为ij的样本在编码空间中的类中心表示wij:
wij=Smij
步骤2.1.13重复执行步骤2.1.12,得到类中心点集合:
W={(w11,w12,...),(w21,w22,...),...,(wg1,wg2,...)}
步骤2.2,生成对抗样本:
步骤2.2.1,取一个纯净样本xl及特征表示集S,得到纯净样本xl在编码空间中的位置:zl=Sxl,其中,zl为纯净样本xl在编码空间的位置表示;
步骤2.2.2,设置初始值:high=1,low=0,min_diff=1,zl=Sxl,ε;
其中,high和low为扰动参数,min_diff为最小距离,ε是搜索精度;
步骤2.2.3,如果high-low>ε,则循环步骤2.2.3至步骤2.2.12,否则执行步骤2.2.13;
步骤2.2.5,设置found代表是否查找到a类外的其他类,其初始值为false;
步骤2.2.6,对所有标签类别的集合C′中所有不为a的标签类别,重复执行步骤2.2.7~步骤2.2.11;
步骤2.2.7,对一个不为a的标签类别cd∈C′,计算
zl′=zl+mid*(wd-wa)
其中,(wd-wa)表示类别d与类别a的差向量,zl′表示扰动程度,ST表示编码后的特征表示的转置;
步骤2.2.8,得到对样本xl添加扰动后的样本xl″=STzl′;
步骤2.2.9,判断xl″的标签类别是否为a,如果xl″的标签类别为a,则回到步骤2.2.6;否则执行步骤2.2.10;
步骤2.2.10,设置found=true;
步骤2.2.11,判断||xl-xl″||1<min_diff是否成立:
(1)若成立,则生成对抗样本:xl_adv′=xl″,min_diff=||xl-xl″||1;
其中||xl-xl″||1表示添加扰动的样本xl″与原始的样本xl的差向量的绝对值之和,||·||1为1范数,xl_adv′为最终输出的对抗样本;
(2)若不成立,则回到步骤2.2.6;
步骤2.2.12,若found=true成立,则high=mid,否则,low=mid;
步骤2.2.13,返回对抗样本xl_adv′。
10.根据权利要求1所述的基于隐空间聚类的黑盒对抗样本生成算法,其特征在于,步骤(3)的方法为:
步骤3.1,选取数据样本类别中心点:
步骤3.1.1,在标签类别集C中选取标签类别ct;
步骤3.1.2,在标签类别ct中随机设置k个样本点作为初始的聚类中心,其中k为超参数;
步骤3.1.3,对于标签类别ct中除k个样本点外的每个样本点计算到k个中心点的距离:V={vt1,vt2,...,vtk};
步骤3.1.4,对于每一个样本点,选择最近的聚类中心点作为类别标记得到ct={ct1,ct2,...,ctk},即将标签类别ct细化为k个类,得到k个族群;
步骤3.1.5分别计算k个族群的样本平均值,得到
步骤3.1.8,输出样本标签集C′t={ct1,ct2,...,ctk};
步骤3.1.9,根据样本标签集C′t,将X中对应的样本进行划分,得到标签为tj的样本的集合:Xtj={xl|yl=ctj},其中,yl为一个样本标签,1≤l≤m;
步骤3.1.10,计算标签为tj的所有样本的均值:
其中,xtj是Xtj中的样本,ntj是Xtj中样本的总数;
步骤3.1.11,计算标签为tj的样本在编码空间中的类中心表示wtj:
wtj=Smtj
步骤3.1.12,重复执行步骤3.1.11,得到类中心点集合:
Wt={wt1,wt2,..,wtk}
步骤3.2,生成对抗样本:
步骤3.2.1,取一个纯净样本xl及特征表示集S,得到xl在编码空间中的位置zl=Sxl,其中,zl为xl在编码空间的位置表示;
步骤3.2.2,初始设置high=1,low=0,zl=Sxl,ε,其中,high和low为扰动参数,ε是搜索精度;
步骤3.2.3,如果high-low>ε,则循环步骤3.2.3~步骤3.2.11,否则执行步骤3.2.12;
步骤3.2.5,对Wt中所有wti,循环步骤3.2.6~步骤3.2.8;
步骤3.2.6计算zl′=zl+mid*(wti-wa),其中,(wti-wa)表示类别ti与类别a的差向量,zl′表示扰动程度,ST表示编码后的特征表示的转置;
步骤3.2.7,得到对样本xl添加扰动后的样本xl″=STzl′;
步骤3.2.8,计算样本距离:tl=||xl-xl″||1;
步骤3.2.9,得到距离集合T={t1,t2,...};
步骤3.2.10,选取T中最小值tmin所对应添加扰动的样本xl_min″;
步骤3.2.11,判断xl_min″的标签类别是否为t,若xl_mmin″的标签类别为t,则xl_adv′=xl_min″,high=mid;否则low=mid,其中,xl_adv′为最终输出的对抗样本;
步骤3.2.12,返回对抗样本xl_adv′。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911389624.6A CN111191717B (zh) | 2019-12-30 | 2019-12-30 | 一种基于隐空间聚类的黑盒对抗样本生成算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911389624.6A CN111191717B (zh) | 2019-12-30 | 2019-12-30 | 一种基于隐空间聚类的黑盒对抗样本生成算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191717A true CN111191717A (zh) | 2020-05-22 |
CN111191717B CN111191717B (zh) | 2022-05-10 |
Family
ID=70707873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911389624.6A Active CN111191717B (zh) | 2019-12-30 | 2019-12-30 | 一种基于隐空间聚类的黑盒对抗样本生成算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191717B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487931A (zh) * | 2020-11-25 | 2021-03-12 | 北京有竹居网络技术有限公司 | 对抗攻击的方法、装置、可读介质和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886210A (zh) * | 2019-02-25 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 一种交通图像识别方法、装置、计算机设备和介质 |
CN109948658A (zh) * | 2019-02-25 | 2019-06-28 | 浙江工业大学 | 面向特征图注意力机制的对抗攻击防御方法及应用 |
-
2019
- 2019-12-30 CN CN201911389624.6A patent/CN111191717B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886210A (zh) * | 2019-02-25 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 一种交通图像识别方法、装置、计算机设备和介质 |
CN109948658A (zh) * | 2019-02-25 | 2019-06-28 | 浙江工业大学 | 面向特征图注意力机制的对抗攻击防御方法及应用 |
Non-Patent Citations (3)
Title |
---|
刘雨佳: "针对神经网络的图像对抗样本生成及应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
孟东宇: "黑盒威胁模型下深度学习对抗样本的生成", 《电子设计工程》 * |
谢仁杰: "基于深度变分球面投影的对抗鲁棒判别特征提取", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487931A (zh) * | 2020-11-25 | 2021-03-12 | 北京有竹居网络技术有限公司 | 对抗攻击的方法、装置、可读介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111191717B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111583263B (zh) | 一种基于联合动态图卷积的点云分割方法 | |
CN109639710B (zh) | 一种基于对抗训练的网络攻击防御方法 | |
Gao et al. | ipool—information-based pooling in hierarchical graph neural networks | |
CN110263227A (zh) | 基于图神经网络的团伙发现方法和系统 | |
CN103914705B (zh) | 一种基于多目标免疫克隆的高光谱图像分类和波段选择的方法 | |
CN105488528A (zh) | 基于改进自适应遗传算法的神经网络图像分类方法 | |
CN101299243A (zh) | 基于免疫谱聚类的图像分割方法 | |
CN113627543B (zh) | 一种对抗攻击检测方法 | |
CN105740917B (zh) | 带有标签学习的遥感图像的半监督多视图特征选择方法 | |
CN111062428A (zh) | 一种高光谱图像的聚类方法、系统及设备 | |
Sahu et al. | Dynamic routing using inter capsule routing protocol between capsules | |
Dam et al. | Improving clustergan using self-augmented information maximization of disentangling latent spaces | |
Shi et al. | SAR images change detection based on self-adaptive network architecture | |
CN111191717B (zh) | 一种基于隐空间聚类的黑盒对抗样本生成算法 | |
Cho et al. | Genetic evolution processing of data structures for image classification | |
Al-Ani et al. | An optimal feature selection technique using the concept of mutual information | |
CN116051924B (zh) | 一种图像对抗样本的分治防御方法 | |
CN112488149A (zh) | 一种基于1d-cnn特征重构的网络安全数据分类方法 | |
Ayadi et al. | MIGSOM: multilevel interior growing self-organizing maps for high dimensional data clustering | |
CN116628524A (zh) | 一种基于自适应图注意力编码器的社区发现方法 | |
Ganebnykh et al. | Metric classifier using multilevel network of templates | |
Tissera et al. | Modular expansion of the hidden layer in single layer feedforward neural networks | |
CN112215272A (zh) | 一种基于贝塞尔曲线的图像分类神经网络攻击方法 | |
Zhai et al. | Multi-swarm genetic gray wolf optimizer with embedded autoencoders for high-dimensional expensive problems | |
Tyagi et al. | Optimization of fuzzy c means clustering using genetic algorithm for an image |
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 |