Houdini: Fooling Deep Structured Prediction Models

Abstract

        Houdini 用来解决对抗样本生成中评价指标存在的组合(combinatorial)及不可微(non-fieerentable/non-dicomposable)的问题。

        应用范围:语音识别、姿势估计、语义切割等。

一、 Introduction

    1.问题产生的背景

        目前的合成对抗样本的方法主要是依赖于给定的可微损失函数的梯度,然而,许多结构化预测问题(Structured Prediction)的损失函数是组合且不可微的,例如:

            姿势估计:percentage of correct keypoints

            语音识别:word error rate

            语音分割:intersection over union(IOU)                                                         

等都是不可微的。

    2. 在监督学习中,上述问题有两个解决方法:

     (1)使用连续且可微的代替损失函数

        寻找一个连续的、可微的代理损失函数来代替任务损失,该代理函数必须保证能逐渐收敛至任务损失。

     (2)直接优化任务损失

        例如损失直接最小化(Direct Loss Minimization)。

        然而,这两种策略都有所局限性。

    3.Limitations

      (1)可微的代理在分类任务中的使用是令人满意的,因为代理和分类准确度之间的关系被很好地建立起来了。但是,对于代理模型常用的一些场景(如语音识别等),它的连续性不能保证。

      (2)直接优化的计算量太大,并且对于结构化的对抗样本合成难度更大。


 二、Related work

    1.对抗样本

         考虑原始输入样本(x, y),对抗样本为\tilde{x}  = x + \delta ,其中 \delta  对于对抗样本\tilde{x} 来说足够小,不足以被人类感知,但是可以使神经网络对目标作出错误的预测。

         考虑到神经网络g_{\theta } 和p-norm范式,对抗样本的生成策略可以被定义为:

                                                            \tilde{x}  = \arg\max_{\tilde{x} :\vert\vert \tilde{x} -x \vert\vert_{p\leq\varepsilon}} l(g_\theta (\tilde{x} ), y)  (1),

其中\varepsilon 表示对抗样本的强度。

         假设损失函数l(\cdot )使可微的,Shaham提出用一阶泰勒展开来计算对抗扰动\delta ,上述问题被简化为计算下面这个式子:

                                          \tilde{x}  = \arg\max_{\tilde{x} :\vert\vert\tilde{x} -x\vert\vert_p\leq \varepsilon}(\nabla_xl(g_\theta (x), y))^T(\tilde{x} -x),(2)。

         然而,这些方法都是基于损失函数l(\cdot )是可微的。因此他们不能直接用于the task loss of interest。

    2.任务损失最小化(Task Loss Minimization)

          最近,很多工作聚焦于直接最小化任务损失。Keshet等人针对结构化预测的情况提出了二进制概率损失(binary probit loss)的概念,该损失是任务损失的代替损失(surrogate loss),由PAC-Bayesian理论得来,函数可以表示为:

                                                    \bar{l}_{ probit} (g_\theta (x), y) =  E_{\epsilon}[l(y, g_{\theta +\epsilon }(x))] (3)。

后来,有人表明结构化概率损失有着有限的样本泛化边界,同时有着健壮的连续性。连续性对于一个代理模型非常重要,因为它保证了代理损失和任务损失之间的紧密关系。

          然而,在每一次迭代中,必须要做成百上千次的预测操作才能使梯度计算得以稳定。因此,尽管其具有的性质非常重要,概率损失的更新过程计算量过大,限制了它的应用。

    3.Houdini

           因此,作者提出了Houdini算法。该算法不仅具有结构化概率损失的优良属性,同时也避免了相关计算量过大等缺陷。

          类似于大多数结构化概率损失、不同于大多数用于结构化预测的代理模型(如用于SVMs的structure hinge loss),Houdini与任务损失联系紧密;因此,Houdini能够可靠地针对特定任务损失合成对抗样本。

           不同于大多数结构化概率损失、类似于平滑的(smooth)代理模型,Houdini有着分析梯度(analytical gradient),因此在每一次更新中仅需要一次预测。


三、Houdini算法

        已知神经网络g_\theta 和特定问题的任务损失l(\cdot ),假设对于任意目标y,都有l(y, y) = 0。对于一个样本(x, y),网络输出的分数为g_\theta (x, y),网络的解码器预测的最高分数的目标可以表示为:

                                                                \hat{y} = y_\theta (x) = \arg\max_{y\in Y}g_\theta (x, y) (4)。

沿着第二部分的思路,寻找对抗样本的任务就可以表示为

                                                                 \tilde{x}  = \arg\max_{\tilde{x}:\vert\vert \tilde x -x\vert\vert_{p\leq\epsilon } }l(y_\theta (\tilde x), y)  (5)。

        然而,该任务损失是组合的(combinatorial),难以优化,因此用可微的代理损失代替,为

                                    \bar{l} _H(\theta , x, y) =  P_{Y~N(0,1)}[g_\theta (x, y)-g_\theta (x, \hat{y} ) < Y] \cdot  l(\hat y, y)(6)。

总的来说,Houdini包含两个部分。

    1.随机边缘(Stochastic Margin)

        Stochastic Margin是实际目标g_\theta (x, y)的分数与预测目标g_\theta (x, \hat y)的分数的差值小于正态分布Y的概率。它反映了模型对预测结果的信心。

    2. 任务损失(Task Loss)

        Houdini是任务损失的下界。由于P小于1,因此当P接近1时或网络被分配到target\hat y的分数无边界增长时,Houdini将会收敛至任务损失。这是其他代理模型所没有的独特性质,保证了Houdini能够很好地作为代理模型合成对抗样本。

        因此,作者使用Houdini代替公式(5),同时一阶估计同样需要Houdini的梯度,运用链式法则,有:

                                             \nabla_x[\bar l    _H (\theta, x, y)] = \frac {\partial \bar l _H(\theta , x, y)}{\partial g_\theta  (x, y)} \frac{\partial g_\theta (x, y)}{\partial x}  (7)。

        为了计算上述式子的RHS,我们只需要计算Houdini对于输入(即网络的输出g_\theta )的导数,即为:

                \nabla_g[P_{Y~N(0, 1)}[g_\theta(x, y) - g_\theta(x, \hat y) < Y]l(y, \hat y)] = \nabla_g[\frac{1}{\sqrt{2\pi}}\int_{\delta g(y, \hat y)}^{\infty}e^{(-v^2/2)}dv l(y, \hat y) ](8),其中\delta _g(y, \hat y) = g_\theta(x, y) - g_\theta(x, \hat y)。剩余部分可以通过反向传播计算。

        因此,扩展右边的式子,并令C = 1/\sqrt{2\pi},有:

公式(9)

公式(9)为计算Houdini的梯度提供了一个简单的分析公式。取决于攻击的形式,Houdini的梯度可以与任何基于梯度的对抗样本合成相关的过程结合,有两种方式:

        (1)Untargeted Attack

            我们想要改变网络的预测,而不对最终的预测有任何偏好。在这种情况下,任何可选的目标y都能被使用(比如分数第2高的)。

        (2)Targetted Attack

            在这种情况下,我们将y设置为期待的预测结果。同时,当预测结果与ground truth非常接近时,也就是当扰动与期待得一样小时,我们有:e^{-\vert\delta_g(y, \hat y) \vert ^2/2 }\simeq 1


四、Houdini的应用

        1.人类姿势估计

        作者使用Houdini合成的对抗样本攻击基于Hourglass的单人姿势估计模型,评价标准为PCKh^{0.5}(当头的大小设为0.5时,关键节点被正确检测的百分比)。结果如表1所示。SSIM为结构化相似度指数,数值越大表明结果越好;Perceptibility是可感知度,数值越小表明结果越好。同时,PCKh=50%意味着有一般的节点都被正确地检测出来,PCKh^{lim}表示收敛或者迭代300次以上。从表1中的数据可以看出,Houdini方法明显比原来的MSE方法生成的对抗样本更接近合法样本,并且更不容易被感知

表1 Houdini与人类姿势估计

        同时作者还测试了使用Houdini导致估计模型完全瘫痪所需要的迭代次数。如图1(b)所示,Houdini仅迭代100次左右就可以使PCKh为0,但是其他方法就算迭代300次以上都不能使PCKh为0,这说明了Houdini攻击非常高效且效果显著。

图1 Houdini攻击人类姿势估计

    2.语义分割

        评价指标:mIoU,为IoU=TP/(TP+FP+FN)的均值。 

     实验1:

        给定的一个测试图像,作者改变其目标mIoU,同时测试targetted和untargeted的攻击效果并进行对比。结果如表2所示。mIoU/2指系统的性能下降50%,mIoU^{lim}指收敛或模型迭代训练至300次。SSIM为结构化相似度指数,数值越大表明结果越好;Perceptibility是可感知度,数值越小表明结果越好。本次实验表明,Houdini不仅有着和NLL几乎一样好的攻击性能,而且比NLL更不易被感知。

表2 Houdini与语义分割

     实验2:

        targetted攻击。作者改变输入的图像,从而使系统做出错误的预测。如图2所示,在给定的两个输入图像前提下,系统都做出了错误的预测。而且放大对抗图像的部分,其真实度时经得住考验的。

图2 Targetted 攻击

    3.语音识别

        这类模型的输入为原始的语音谱,输出为文本。

        一般的评价标准为WER(词错误率)和CER(字符错误率)。

     实验1

        ABX实验。ABX是用来检测两个语音之间的可察觉的差异。实验结果表明,仅有53.73%的对抗样本能够被人类识别,因此在统计学上对抗样本是无法被人耳分辨的。在此基础上,作者进行了下面的实验。

     实验2

        Untargeted 攻击。作者首先用Houdini和CTC合成的对抗样本分别攻击ASR模型,测试这两种攻击的效果。如表3所示,在控制对抗扰动强度下,Houdini的攻击效果明显强于CTC,尤其是当=0.5时,Houdini的攻击效果几乎是CTC的2.3倍,这表明了Houdini卓越的的攻击效果。

表3 Houdini与CTC的对比 

同时,作者还比较了对抗样本和原始语音的频谱图,如图3所示,视觉上几乎无法分辨。

图3 频谱图

     实验3

        Targetted攻击。作者将第i-1次迭代的对抗样本作为第i次迭代输入模型,预测一个不同的文本。结果如图4所示。结果表明,对于不同音素的语音,targetted的攻击效果并没有特别好,攻击难度较高。

图4 Targetted攻击


引用文章链接:《Houdini: Fooling Deep Structured Prediction Models》                                   https://arxiv.org/pdf/1707.05373.pdf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342