关于论文Safety Verification of Deep Neural Networks

本文探讨了神经网络的鲁棒性验证问题,通过定义神经网络的数学模型,介绍了基于可满足性模理论进行鲁棒性验证的方法。文章详细解释了神经网络中的激活值、操作及扰动等概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  其实现在对于神经网络的攻击方法已经提出了很多,但有关防御,验证的问题却还有很多值得研究的地方,除了Reluplex以外,这一篇论文中,也是提出希望基于可满足性模理论来对神经网络的鲁棒性做一些验证。这篇论文感觉已经更偏向于软件工程的范畴,所以读起来略有点恶心。
  类比之前的攻击,对于神经网络的攻击大部分实际上是求解一个优化问题,优化目标是使得神经网络分类错误,并且距离原始样本点的较近(这个距离往往用范数来度量)。而验证往往是给定一个原始样本点的邻域(这个邻域往往也是范数来刻画的),来验证这个邻域内是否存在对抗样本。
  下面先给出这篇论文的一些定义以及符号:

  • 定义:一般的,我们将一个(前馈和深度)神经网络N记作一个元组 (L,T,ϕ)(L,T,ϕ),其中 L={Lk|k{0...n}}L={Lk|k∈{0,...,n}} 是一组层, L0L0 是输入层,而 LnLn 是输出层,TL×LT⊂L×L 是层之间的一组顺序连接, 除了输入层和输出层以外,每层都有一个输入连接和一个输出连接,ϕ={ϕk|k{1...n}}ϕ={ϕk|k∈{1,...,n}} 是一组激活函数 ϕkDLk1DLkϕk:DLk−1→DLk,每个非输入层一个。
    因此,网络通过其输入层输入 xx(也是 DL0),然后通过一连串的激活传播至以下每一层直至输出层。 我们将层 kk 中的点 x 的激活值表示为 αx,k=ϕkϕk1...ϕ1(x)))DLkαx,k=ϕk(ϕk−1(...ϕ1(x)))∈DLk,其中 αx,0=xαx,0=x。 对于 kk 中的某一个感知器 pPk,我们记 αxk(p)αx,k(p) 表示其在输入xx上激活的值。 对于每个激活 αx,k 和层 k<kk′<k,我们定义 Prek(αx,k)={αy,kDLk|αy,k=αx,k}Prek′(αx,k)={αy,k′∈DLk′|αy,k=αx,k} 为第 kk′ 层中激活值的集合,其在层 LkLk 中的相应激活为 αx,kαx,k。 分类决策是基于输出层中的激活值作出分类决定,例如将 xx 分配给类别 argmaxpPnαx,n(p)。 为简单起见,我们用 αx,nαx,n 表示分配给输入 xx 的类,因此 αx,n=αy,n 表示两个输入 xx 和 y 具有相同的类。
  • 假设:对于层 LkLk 中点 xx 的每个激活值 αx,k,区域 ηk(αx,k)ηk(αx,k) 包含人类观察者认为非常接近 αx,kαx,k 的激活值,它们应该被分类为与 xx 相同。
    直观地说,点 x 处的网络NN的安全性意味着分类决策在区域 ηk(αx,k) 内的扰动 xx 处是鲁棒的。 请注意,虽然扰动应用于 Lk 层,但分类决策是基于输出层 LnLn 中的激活。
    其中,ηk(αx,k)ηk(αx,k) 的定义为 ηk(αx,k)={zDlk|||zαx,k||d}ηk(αx,k)={z∈Dlk|||z−αx,k||≤d}
  • 定义[General Safety]:设 ηk(αx,k)ηk(αx,k) 是神经网络NN的层 Lk 中的一个区域,并且 αx,kηk(αx,k)αx,k∈ηk(αx,k)。 如果对于 ηk(αx,k)ηk(αx,k) 中的所有激活值 αy,kαy,k 都有 αy,n=αx,nαy,n=αx,n,那么我们称NN对于输入 x 和区域 ηk(αx,k)ηk(αx,k) 是安全的,记作 N,ηkxN,ηk⊨x
  • 操作:操作实际上就是一个施加扰动的过程,将操作 δk(αx,k)δk(αx,k) 应用于激活 αx,kαx,k 将导致另一个激活,从而改变某些或所有维度的值。因此,我们将操作表示为超矩形,根据层 LkLk 的两个激活值 αx,kαx,k 和 αy,kαy,k定义为 rec(αx,k,αy,k)=×pPk[min(αx,k(ρ),αy,k(ρ)),max(αx,k(ρ),αy,k(ρ))]rec(αx,k,αy,k)=×p∈Pk[min(αx,k(ρ),αy,k(ρ)),max(αx,k(ρ),αy,k(ρ))]
    对于激活值 αx,kαx,k 和操作集合 ΔΔ,我们用 rec(Δαx,k)rec(Δ,αx,k)表示包含所有超矩形的多面体,所述超矩形是通过在 αx,kαx,k 上施加一些操作而产生的,即 rec(Δαx,k)=δΔrec(αx,k,δ(αx,k))rec(Δ,αx,k)=δ∈Δrec(αx,k,δ(αx,k))。 并且设 ΔkΔk 是层 LkLk 的所有可能操作的集合。
  • 有效操作:给定激活值 αx,kαx,k,如果 αx,kαx,k是 rec(V(αx,k),αx,k)rec(V(αx,k),αx,k) 的内点,则一组操作 V(αx,k)ΔkV(αx,k)⊆Δk 是有效的,即 αx,kαx,k 在矩阵 rec(V(αx,k),αx,k)rec(V(αx,k),αx,k) 内部并且不属于 rec(V(αx,k),αx,k)rec(V(αx,k),αx,k) 的边界。
    图2给出了二维空间中有效操作的示例:每个箭头表示一个操作,每个虚线框表示相应操作的(超)矩形,激活值 αx,kαx,k 是虚线空间的内部点框。
    对于操作 δ1k(αy,k)δk1(αy,k) 和 δ2k(αx,k)δk2(αx,k),如果前者超矩形中任意激活值也在后者超矩形中,则称前者比后者更精细(finer),记作 δ1k(αy,k)δ2k(αx,k)δk1(αy,k)≤δk2(αx,k),这也蕴含了 αy,kαy,k 是 δ2k(αx,k)δk2(αx,k) 的超矩形中的激活值。
    此外,我们记 ϕk(...ϕk+1(δk(αx,k)))ϕk′(...ϕk+1(δk(αx,k))) 为 δk,k(αx,k)δk,k′(αx,k),表示在激活 αx,kαx,k 上应用操作 δkδk 之后在层 kkk′≥k 中的相应激活值,其中 δk,k(αx,k)=δk(αx,k)δk,k(αx,k)=δk(αx,k)
    missing
  • 最小操作:如果不存在操作 δ1kδk1 和 δ2kδk2 以及激活值 αy,kαy,k 使得 δ1k(αx,k)δk(αx,k),αy,k=δ1k(αx,k),δk(αx,k)=δ2k(αy,k)δk1(αx,k)≤δk(αx,k),αy,k=δk1(αx,k),δk(αx,k)=δk2(αy,k) 并且有 αy,nαx,n,αy,nδk,n(αx,k)αy,n≠αx,n,αy,n≠δk,n(αx,k),则称激活值 αx,kαx,k 上的操作 δkδk 是最小的。
    直观地说,最小操作没有更精细的操作,导致不同的分类。 然而,在应用最小操作之前和之后都可能具有不同的分类,即有可能 δk,n(αx,k)αx,nδk,n(αx,k)≠αx,n。 不难看出,操作的最小性意味着可以通过检查端点 \alpha_x,k}\alpha_x,k} 和 δk(αx,k)δk(αx,k) 的类来检测其相应超矩形中的类变化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值