语音识别攻击总结

为了对深度学习在语音中的应用有个大体了解,可以查看博主写的李宏毅老师DLHLP 2020课程笔记
DLHLP 课程笔记

攻击目的

  • 二分类器:我们假定一个二分类 f ( x ) { > 0 : c a t < 0 : d o g f(x) \left\{\begin{matrix}>0: cat\\ <0: dog \end{matrix}\right. f(x){>0:cat<0:dog,则我们想要需找扰动 δ \delta δ,使得 f ( x + δ ) 和 f ( x ) f(x+\delta)和f(x) f(x+δ)f(x)恰好异号即可。
  • 多分类器:假定x的正确分类为 k ^ \hat{k} k^,我们要让分类器判定为k的的置信度大于分类为 k ^ \hat{k} k^的置信度。定义 f k ( x ) f_{k}(x) fk(x)为分类器对于“x属于k类的置信度”。则目标为 f k ( x + δ ) − f k ^ ( x + δ ) > 0   k ≠ k ^ f_{k}(x+\delta)-f_{\hat{k}}(x+\delta)>0\ k\neq \hat{k} fk(x+δ)fk^(x+δ)>0 k=k^
  • 我们还期望符合要求的 δ \delta δ尽可能的小。

分类

攻击目标:

  • 无目标攻击:以图片分类为例,攻击者只需要让目标模型对样本分类错误即可,但并不指定分类错成哪一类。
  • 有目标攻击:攻击者指定某一类,使得目标模型不仅对样本分类错误并且需要错成指定的类别。从难度上来说,有目标攻击的实现要难于无目标攻击。

扰动范围:
v = ∣ ∣ x − x ′ ∣ ∣ ∣ ∣ v ∣ ∣ p = ( ∑ i = 1 n ∣ v i ∣ p ) 1 p v = ||x-x^{'}||\\||v||_{p} = (\sum_{i=1}^{n}|v_{i}|^{p})^{\frac{1}{p}} v=∣∣xx∣∣∣∣vp=(i=1nvip)p1

  • p=1时,限制原向量被改变的维度数
  • p=2时,限制x和x’的欧式距离
  • p=3时,限制单一维度上的最大改变量

基于梯度

Fast Gradient Sign Method

  • 基于梯度求解
  • x ′ = x + η ⋅ s i g n ( ▽ x J ( x , y ) ) x'=x+\eta\cdot sign(\triangledown_{x}J(x,y)) x=x+ηsign(xJ(x,y))
  • 该模型沿着loss的梯度,移动一次,距离为 η \eta η
  • 对于Relu这种类线性的激活函数的模型是ok的,对于非线性模型作用不是很大。(梯度处处改变)

Project Gradient Descent

  • FGSM是仅仅走一大步,PGD是每次都走一小步
  • x 0 ∗ = x x t + 1 ∗ = c l i p ( x t ∗ + α ⋅ s i g n ( ▽ x J ( x t ∗ , y ) ) ) x_{0}^{*}=x\\x_{t+1}^{*}=clip(x_{t}^{*}+\alpha\cdot sign( \triangledown_{x}J(x_{t}^{*},y))) x0=xxt+1=clip(xt+αsign(xJ(xt,y)))
  • 以上两个算法都很容易陷入局部最大值和对模型“过拟合”

Momentum Iterative Method

  • 新一轮扰动=当前梯度方向+之前梯度
  • g t + 1 = μ g t + ▽ x J ( x t ∗ , y ) ∥ ▽ x J ( x t ∗ , y ) ∥ 1 x t + 1 ∗ = x t ∗ + α ⋅ s i g n ( g t + 1 ) g_{t+1}=\mu g_{t}+\frac{\triangledown_{x}J(x_{t}^{*},y)}{\left \| \triangledown_{x}J(x_{t}^{*},y)\right \|}_{1}\\x_{t+1}^{*}=x_{t}^{*}+\alpha \cdot sign(g_{t+1}) gt+1=μgt+xJ(xt,y)xJ(xt,y)1xt+1=xt+αsign(gt+1)
    在这里插入图片描述

基于优化

C&W

  • m i n i m i z e   ∣ ∣ δ ∣ ∣ p + c ⋅ f ( x + δ , t ) s u c h   t h a t   x + δ ∈ [ 0 , 1 ] n minimize\ ||\delta||_{p}+c\cdot f(x+\delta,t)\\ such\ that \ x+\delta \in [0,1]^{n} minimize ∣∣δp+cf(x+δ,t)such that x+δ[0,1]n
  • 为保证   x + δ ∈ [ 0 , 1 ] n \ x+\delta \in [0,1]^{n}  x+δ[0,1]n,使用 δ = 1 2 ( t a n h ( w i ) + 1 ) − x i \delta = \frac{1}{2}(tanh(w_{i})+1)-x_{i} δ=21(tanh(wi)+1)xi限制,其中 t a n h ( x ) = e x − e − x e x + e − x ∈ ( − 1 , 1 ) tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}\in (-1,1) tanh(x)=ex+exexex(1,1)
  • 常选 p = 2 ,   c = 6 ,   f ( x ′ ) = m a x ( m a x i ≠ t ( Z ( x ) i ) − Z ( x ′ ) t , − k ) p=2,\ c=6,\ f(x')=max(\underset{i\neq t}{max}(Z(x)_{i})-Z(x')_{t},-k) p=2, c=6, f(x)=max(i=tmax(Z(x)i)Z(x)t,k),其中 k 为置信度 , Z 为 l o g i s t i c 输出 ( 未经过 s o f t m a x ) k为置信度,Z为logistic输出(未经过softmax) k为置信度,Zlogistic输出(未经过softmax)
  • 超参数:k越大,那么模型分错,且错成的那一类的概率越大。常数c协调了对抗性和保持接近原始样本的相对重要性。
  • f ( x ′ ) f(x') f(x)是衡量 F ( X ′ ) F(X') F(X)和目标label t之间距离的损失函数,越小则越有可能分类成t,常见的如下图。在这里插入图片描述
    实际上损失函数的选择会使得对抗性样本的失真率差三倍以上

Audio Adversarial Examples:Targeted Attacks on Speech-to-Text

  • C&W算法应用于DeepSpeech模型(端到端语音识别)
  • 量化扰动后失真,使用分贝之差, d B ( δ ) dB(\delta) dB(δ)越小代表越安静。 d B ( x ) = m a x i 20 ⋅ l o g 10 ( x i ) d B ( δ ) = d B ( δ ) − d B ( x ) dB(x)=\underset{i}{max} 20\cdot log_{10}(x_{i})\\ dB(\delta)=dB(\delta)-dB(x) dB(x)=imax20log10(xi)dB(δ)=dB(δ)dB(x)
  • 之前工作已经做到 m i n i m i z e   d B x ( δ ) + c ⋅ l ( x + δ , t ) , 其中 l ( x ′ , t ) ≤ 0 ⇔ f ( x ′ ) = t minimize\ dB_{x}(\delta)+c\cdot l(x+\delta,t),其中l(x',t)\leq 0 \Leftrightarrow f(x')=t minimize dBx(δ)+cl(x+δ,t),其中l(x,t)0f(x)=t 了,对于语音有两个问题:
    • 如果使用 l ( x ′ , t ) = C T C L o s s ( x ′ , t ) l(x',t) = CTCLoss(x',t) l(x,t)=CTCLoss(x,t),可以保证 l ( x ′ , t ) ≤ 0 ⇒ C ( x ′ ) = t l(x',t)\leq 0\Rightarrow C(x')=t l(x,t)0C(x)=t,但反过来却不行。
    • 当使用 l ∞ l_{\infty } l作为尺度时,优化过程会在结果附近不断摆动而不集中,因此采用 l 2 l_{2} l2,即优化 ∣ δ ∣ 2 2 + c ⋅ l ( x + δ , t ) |\delta|_{2}^{2}+c\cdot l(x+\delta,t) δ22+cl(x+δ,t)
  • 在使用贪心解码(greedy decoding) 方案时,完整的攻击方案如下:
    • 使用的损失函数 l ( y , t ) = m a x ( y t − m a x t ′ ≠ t    y t ′ , 0 ) l(y,t)=max(y_{t}-\underset{t'\neq t}{max}\ \ y_{t'},0) l(y,t)=max(ytt=tmax  yt,0),对于目标序列 π , L ( x , π ) = ∑ i l ( f ( x ) i , π i ) \pi , L(x,\pi)=\sum_{i}l(f(x)^{i},\pi_{i}) π,L(x,π)=il(f(x)i,πi)
    • 这里我存疑,我觉得应该是 l ( y , t ) = m a x ( m a x t ′ ≠ t   y t ′ − y t   , 0 ) l(y,t)=max(\underset{t'\neq t}{max}\ y_{t'}-y_{t}\ ,0) l(y,t)=max(t=tmax ytyt ,0)
    • m i n i m i z e   ∣ ∣ δ ∣ ∣ 2 2 + ∑ i c i ⋅ L i ( x + δ , π i ) s u c h   t h a t   d B x ( δ ) < τ minimize\ ||\delta||_{2}^{2}+\sum_{i} c_{i}\cdot L_{i}(x+\delta,\pi_{i})\\ such\ that \ dB_{x}(\delta)<\tau minimize ∣∣δ22+iciLi(x+δ,πi)such that dBx(δ)<τ
    • 我们先通过使用CTCLoss找到对抗样本 x 0 , 计算 π = a r g   m a x i   f ( x 0 ) i x_{0},计算\pi = arg\ max_{i}\ f(x_{0})^{i} x0,计算π=arg maxi f(x0)i为使用的目标序列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值