关于Distributional Smoothing with Virtual Adversarial Training的理解

作者受之前Goodfellow的adversarial training的启发,提出了一种叫局部分布性平滑(LDS) 的方法,这是统计模型的一个新的光滑概念,可以用作正则化术语来促进模型分布的平滑。作者将基于LDS的正则化命名为虚拟对抗训练 (VAT)。
  下面简单介绍一下LDS:我们先固定模型的参数 θ θ ,假设输入空间为 RI R I ,输出空间为 Q Q ,以及一个训练样本集合:

D={(x(n),y(n))|x(n)RI,y(n)Q,n=1,,n}

然后利用数据集 D D ,通过参数θ去训练模型分布 p(y|x,θ) p ( y | x , θ ) 。用 KL[p||q] K L [ p | | q ] 表示分布 p p 和分布q的KL-散度。同时,我们定义:

ΔKL(r,x(n),θ)r(n)vadv=KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]=argmaxr{ΔKL(r,x(n),θ);||r||ϵ} Δ K L ( r , x ( n ) , θ ) = K L [ p ( y | x ( n ) , θ ) | | p ( y | x ( n ) + r , θ ) ] r v − a d v ( n ) = arg ⁡ max r { Δ K L ( r , x ( n ) , θ ) ; | | r | | ≤ ϵ }

我们记 r(n)vadv r v − a d v ( n ) 为第 n n 的样本的模拟对抗扰动。因此模型分布在x(n)处的局部分布平滑为:
LDS(x(n),θ)=ΔKL(r(n)vadv,x(n),θ) L D S ( x ( n ) , θ ) = − Δ K L ( r v − a d v ( n ) , x ( n ) , θ )

因此, r(n)vadv r v − a d v ( n ) 实际上是模型分布 p(y|x(n),θ) p ( y | x ( n ) , θ ) 在KL散度的意义上最为敏感的方向。在某种程度上,这是模型分布相对于输入的梯度 x ∇ x 的KL散度近似,并且 x x 在该方向上的扰动最大程度的破坏了概率分布p(y|x(n),θ)的局部平滑性。 ΔKL(r(n)vadv,x(n),θ) Δ K L ( r v − a d v ( n ) , x ( n ) , θ ) 的值越小, p(y|x(n),θ) p ( y | x ( n ) , θ ) x(n) x ( n ) 处越平滑。我们的目标是在输入样本的邻域提升模型的平滑度,即目标函数(最大化)为:
1Nn=1Nlogp(y(n)|x(n),θ)+λ1Nn=1NLDS(x(n),θ) 1 N ∑ n = 1 N log ⁡ p ( y ( n ) | x ( n ) , θ ) + λ 1 N ∑ n = 1 N L D S ( x ( n ) , θ )

如果我们定义 r(n)adv=argminr{p(y(n)|x(n)+r,θ),||r||pϵ} r a d v ( n ) = arg ⁡ min r { p ( y ( n ) | x ( n ) + r , θ ) , | | r | | p ≤ ϵ } ,并且用 log(y(n)|x(n)+r(n)adv,θ) log ⁡ ( y ( n ) | x ( n ) + r a d v ( n ) , θ ) 代替 ΔKL(r(n)vadv,x(n),θ) − Δ K L ( r v − a d v ( n ) , x ( n ) , θ ) ,那么这就变成了Goodfellow的对抗训练的目标函数。而根据 r(n)adv r a d v ( n ) 生成的对抗样本几乎都能够很大程度的影响目标函数的概率分布,因此这很适用于半监督模型。
举一个例子,对于一个线性回归模型 p(y|x,θ)=(θTx,σ2) p ( y | x , θ ) = N ( θ T x , σ 2 ) ,它的LDS为:
LDS(x,θ)=12σ2ϵ2||θ||22 L D S ( x , θ ) = − 1 2 σ 2 ϵ 2 | | θ | | 2 2

具体推导如下:
KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]=+p(y|x(n),θ)p(y|x(n),θ)p(y|x(n)+r,θ)dy=+12πσe(yθTx)22σ2(yθTx)2+(yθTxθTr)22σ2dy=+12πσe(yθTx)22σ2θTr(2y2θTxθTr)2σ2dy=θTr+12πσyσ2e(yθTx)22σ2dy+θTr(2θTx+θTr)2σ2=θTr+(12πσe(yθTx)22σ212πσθTxσ2e(yθTx)22σ2)dy+θTr(2θTx+θTr)2σ2=θTr(θTxσ2)+θTr(2θTx+θTr)2σ2=(θTr)22σ2=||θ||22ϵ22σ2 K L [ p ( y | x ( n ) , θ ) | | p ( y | x ( n ) + r , θ ) ] = ∫ − ∞ + ∞ p ( y | x ( n ) , θ ) p ( y | x ( n ) , θ ) p ( y | x ( n ) + r , θ ) d y = ∫ − ∞ + ∞ 1 2 π σ e − ( y − θ T x ) 2 2 σ 2 − ( y − θ T x ) 2 + ( y − θ T x − θ T r ) 2 2 σ 2 d y = ∫ − ∞ + ∞ 1 2 π σ e − ( y − θ T x ) 2 2 σ 2 − θ T r ( 2 y − 2 θ T x − θ T r ) 2 σ 2 d y = θ T r ∫ − ∞ + ∞ 1 2 π σ − y σ 2 e − ( y − θ T x ) 2 2 σ 2 d y + θ T r ( 2 θ T x + θ T r ) 2 σ 2 = θ T r ∫ − ∞ + ∞ ( 1 2 π σ e − ( y − θ T x ) 2 2 σ 2 − 1 2 π σ θ T x σ 2 e − ( y − θ T x ) 2 2 σ 2 ) d y + θ T r ( 2 θ T x + θ T r ) 2 σ 2 = θ T r ( − θ T x σ 2 ) + θ T r ( 2 θ T x + θ T r ) 2 σ 2 = ( θ T r ) 2 2 σ 2 = | | θ | | 2 2 ϵ 2 2 σ 2

这和 L2 L 2 范数的正则化是一样的,但是如果概率模型为 p(y|x,θ)=(θ3Tx,σ2) p ( y | x , θ ) = N ( θ 3 T x , σ 2 ) ,那么我们有 LDS(x,θ3)σ2||θ3||22 L D S ( x , θ 3 ) ∝ − σ 2 | | θ 3 | | 2 2 。如果对于逻辑回归模型 p(y=1|x,θ)=σ(θTx)=(1+exp(θTx))1 p ( y = 1 | x , θ ) = σ ( θ T x ) = ( 1 + exp ⁡ ( − θ T x ) ) − 1 ,我们有
LDS(x,θ)12σ(θTx)(1σ(θTx))ϵ2||θ||22 L D S ( x , θ ) ≃ − 1 2 σ ( θ T x ) ( 1 − σ ( θ T x ) ) ϵ 2 | | θ | | 2 2

这是对 θTr θ T r 泰勒展开得到的:
KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]=11+eθxlog1+eθTxθTr1+eθx+11+eθxlog1+eθTx+θTr1+eθx=eθTx(1+eθx)2θTr12eθTx(1+eθx)3(θTr)2+eθTx(1+eθx)2θTr+12eθTx(1+eθx)3(θTr)2=12eθTx(1+eθTx)2(θTr)2=12σ(θTx)(1σ(θTx))ϵ2||θ||22 K L [ p ( y | x ( n ) , θ ) | | p ( y | x ( n ) + r , θ ) ] = 1 1 + e − θ x log ⁡ 1 + e − θ T x − θ T r 1 + e − θ x + 1 1 + e θ x log ⁡ 1 + e θ T x + θ T r 1 + e θ x = − e − θ T x ( 1 + e − θ x ) 2 θ T r − 1 2 e − θ T x ( 1 + e − θ x ) 3 ( θ T r ) 2 + e θ T x ( 1 + e θ x ) 2 θ T r + 1 2 e θ T x ( 1 + e θ x ) 3 ( θ T r ) 2 = 1 2 e − θ T x ( 1 + e − θ T x ) 2 ( θ T r ) 2 = − 1 2 σ ( θ T x ) ( 1 − σ ( θ T x ) ) ϵ 2 | | θ | | 2 2

关于扰动向量的计算,作者也选择泰勒展开近似计算,由于 ΔKL(r,x,θ) Δ K L ( r , x , θ ) r=0 r = 0 处有最小值 0 0 ,因此,对于r的一阶微分也等于 0 0 rΔKL(r,x,θ)|r=0 0 0 。因此我们选择二阶泰勒展开近似计算:
ΔKL(r,x,θ)12rTH(x,θ)r

其中 H(x,θ) H ( x , θ ) 是Hessian矩阵,即 H(x,θ)=rΔKL(r,x,θ)|r=0 H ( x , θ ) = ∇ ∇ r Δ K L ( r , x , θ ) | r = 0 。在这种近似下, r(n)vadv r v − a d v ( n ) 作为 H(x,θ) H ( x , θ ) 的第一个特征向量 u(x,θ) u ( x , θ ) 出现,并且值为 ϵ ϵ 。(二次型在单位元上的最大值和最小值分别对应其最大特征值和最小特征值,此时 r r 等于其对应的特征向量,这个具体的证明将Hermite矩阵正交对角化)。因此rvadv(n)可以近似求解为:
rvadv(x,θ)argmaxr{rTH(x,θ)r;||r||2ϵ}=ϵu(x,θ) r v − a d v ( x , θ ) ≃ arg ⁡ max r { r T H ( x , θ ) r ; | | r | | 2 ≤ ϵ } = ϵ u ( x , θ ) ¯

其中 ⋅ ¯ 表示的是将任意一个非零向量 v v 投影为其方向向量对应的单位向量v¯
然而特征值计算是一个 O(n3) O ( n 3 ) 计算复杂度的过程,因此作者提出用幂迭代法(power iteration method)和有限差分法(finite difference method)来计算 rvadv r v − a d v 。设 d d 是一个随机抽样的单位矢量。 只要d不与主特征向量 u u 垂直,则迭代计算
dHd¯

会使 d d 收敛于u。 此外,我们不需要直接计算 H H ,而是近似为有限差分
HdrΔKL(r,x,θ)|r=ϵdrΔKL(r,x,θ)|r=0ξ=rΔKL(r,x,θ)|r=ϵdξ

这里我们再次利用了 rΔKL(r,x,θ)|r=0=0 ∇ r Δ K L ( r , x , θ ) | r = 0 = 0 ,因此我们就得到了 d d 的更新公式:
drΔKL(r,x,θ)|r=ϵd¯

具体的实验,评估就省略了,我们主要用这种方式来生成对抗样本,也能产生很好的效果。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
异常检测是指在大规模数据中发现异常或异常行为的过程。在传统的异常检测方法中,经常会使用基于统计学的方法,如基于阈值的技术或基于规则的技术,来找出与正常模式不一致的样本或事件。然而,这些方法存在一些局限性,比如无法处理非线性关系或隐含的模式,以及对数据的特征进行全面的抽取。 深度分布式时间序列模型则提供了一种创新和强大的方法来处理大规模数据的异常检测问题。这种模型将深度学习和概率建模相结合,能够对数据的分布进行建模,并以此来检测异常。在这种模型中,每个时间点的数据样本都被看作是从一个潜在分布中抽取的,而异常数据点则被认为是与这个分布不一致的。 深度分布式时间序列模型的一个优点是它能够从数据中自动学习分布的特征,而不需要手动提取特征。这使得模型更加灵活和适用于各种不同类型的数据。此外,这种模型还可以处理非线性关系和多变量时间序列数据,进一步提高了其异常检测的准确性和可靠性。 另外,深度分布式时间序列模型还可以处理大规模数据集,并且能够进行实时的异常检测。这是因为该模型可以在分布式系统中进行并行计算,并且具备较低的计算和存储需求。这样一来,无论是对于高速数据流还是对于历史数据集,深度分布式时间序列模型都能快速地进行异常检测。 总的来说,深度分布式时间序列模型在大规模数据的异常检测中具有很大的潜力。它能够自动提取数据分布的特征,适应各种类型的数据,处理非线性关系和多变量时间序列数据,并且能够处理大规模数据集并进行实时的检测。通过应用这种模型,我们可以更加准确地识别出异常行为,帮助我们提高数据安全性和业务运营效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值