查看原文
其他

ViewFool:探索深度学习的视角鲁棒性|NeRF存在什么不足?熵正则化有哪些优势?NeurIPS论文分享直播回放(4)


NeurIPS 2022


直播回顾


《追AI的人》系列直播第17期特别场《NeurIPS AI安全论文分享会》以围绕更加安全可靠的智能技术为主题,分享在NeurIPS中包括对抗学习、贝叶斯深度学习、异常检测、鲁棒评估、噪声学习、 鲁棒动态图学习、偏微分方程求解等方向上发表的7篇论文。
🙋‍♂️议题分享详情回顾:议题一:《利用离散对抗训练增强视觉表征》议题二:《加速线性化拉普拉斯近似》议题三:《利用典型特征提升分布外样本检测性能》
现分享议题四:Evaluating the Robustness of Visual Recognition to Adversarial Viewpoints《ViewFool:探索深度学习的视角鲁棒性》
直播回放,全文共计5903字。👇




作者简介





董 胤 蓬

清华大学计算机系博士后研究员,导师为朱军教授,RealAI算法科学家。于2017年和2022年在清华大学计算机系分别获得学士和博士学位。主要研究方向为机器学习与计算机视觉,聚焦深度学习鲁棒性的研究,先后发表TPAMI、IJCV、CVPR、NeurIPS等顶级国际期刊和会议论文三十余篇。




结构框架





一、研究背景
二、研究目标
三、研究难点
四、我们的方法
五、实验结果


01




研究背景




例子👇

上图为实际自动驾驶出现车祸视频,左图展示的是特斯拉汽车它在实际行驶的过程中,没有识别到前方的翻到的一个卡车,发生了二次交通事故。右图视频展示的是类似的事情,是小鹏汽车在自动驾驶过程中,也是没有检测到前方的发生车祸的汽车,撞了上去。

现在这些自动驾驶出现交通事故,背后本质的原因就是自动驾驶系统在模型内部没有办法去识别这些异常视角下的物体,比如发生车祸或者翻倒的其他物体,这也说明现在自动驾驶里面所用的深度学习模型在异常视角下的鲁棒性不足。


02




研究目标




研究主要的目标是希望能够找到真实世界的物体的拍摄视角,并且拍摄物体照片,这些照片会被图像分类模型分错,或者被目标检测模型识别错误。

看上图第一行展示的是一些室内和室外的物体,在自然视角下所拍摄的照片,可以被正确分类。第二行展示的是对抗视角下的照片,通过对抗攻击的方式去寻找3D空间中的拍照的角度,然后在拍摄角度对物体重新拍摄照片,就可以看到它会被模型分错。


我们文章的主要目标是发现深度学习模型对于自然数据里面出现OOD样本时鲁棒性的分析。


03




研究难点



难点一:如何去对真实世界3D物体做建模,因为对抗视角,它其实不是2D空间中去做图像的变换能够完成的。

因此,我们用了现在比较典型的技术Neural Radiance Fields即神经辐射场去对3D物体做建模,神经辐射场也是最近几年比较火的方向。它是通过影视的3D的表示去对真实世界物体做建模。

在训练神经辐射场的时候,仅需要输入对一个3D物体多个视角下所拍摄的照片,神经辐射上用MLP的网络去算整个的3D空间里面,每一个位置沿着每一条光线所去观测的颜色以及它的空间密度。

训练这样的一个MLP之后,在测试阶段可以对任意视角下拍摄,渲染出一张新的照片,而且它的渲染精度是非常高的,我们用了神经辐射场的技术去对3D物体做建模,然后用对抗的手段去搜索对抗视角,流程虽然很简单,但是我们会面临很多挑战。


首先刚才所提到,如何去对真实世界的3D物体去做比较精准的建模,我们是选取了NeRF的方案,基于NeRF可以去构建一个非常简单pipeline。比如我们感兴趣的一些物体,对它拍摄多个视角的照片,基于这些照片训练一个NeRF。

第二步就是我们基于训练好的NeRF,在它的三维的空间里面去优化对抗视角,我们可以用对抗攻击的方式,或者优化的方式去搜索。在搜索完成对抗视角之后,需要进一步在真实世界里面去验证它。因为对抗视角是能够欺骗的,要重新把对抗视角角度在真实世界里面采集它的照片,虽然流程很简单,但是还是存在新的挑战。

第一个挑战:虽然NeRF它对于真实物体建模比较准确,渲染的图片也比较清楚,但是它还是没有办法完全的去还原真实物体,它仍然会在真实物体和它的神经表示之间存在gap。

如上图,左边是渲染出来的照片,右边是在同样视角下对真实物体采集的照片。大体上我们可以看到它渲染的照片非常准,跟真实物体很像,但是在一些细节上还是有区别的,比如可以看到它渲染的logo是比较糊的,没有办法跟真实logo是保持一致的。

它会带来什么样的问题呢?因为我们是需要去基于NeRF去搜索对抗视角,如果我们去搜索到的是左边图像的视角,导致后续的模型分错了,其实并不知道它是因为视角导致了它的错误,还是它跟真实物体出现的gap导致的错误。因为对抗样本通过添加非常小的噪声,就可以使得这个模型分错。

所以,它其实是有可能因为渲染物体跟真实物体存在的比较小的gap,然后导致模型分错,而不是真正的视角让他分错。这个是我们主要希望解决的一个问题。

第二个问题是我们可以通过一些数字化的方法生成视角,但是在真实世界重新拍摄的时候,是很难去控制摄像机的位置匹配搜索到的对抗视角,它肯定会出现一些波动,如何在这种波动的情况下成功的去欺骗模型,也是比较重要的问题。


04




我们的方法



我们提出了ViewFool方法。问题定义还是比较简单的,就是我们首先给定一个3D物体,然后假设摄像机处于一个初始位置,让它沿着三个坐标轴去做旋转,旋转之后再让摄像机做平移的操作,这个地方涉及三个平移的参数,我们得到新的摄像机的位置之后,在新的位置渲染出一个2D的照片。

然后把2D照片输入到后续的分类或者识别网络里去算对抗loss去做优化。整个过程其实是我们需要去优化摄像机变换的6个参数,包括3个旋转角度和3个平移的偏移量。优化问题,是我们对这6个参数进行优化,整个pipeline还是相对来说比较简单的。



具体技术方面,我们是学了整个视角的分布,在我们之前NeurIPS 2020的工作里面已经用到了这样的技术,但当时用的是去做对抗训练。我们是把类似的技术去引入新的问题里,这个问题本身可以被分类的成一个优化问题。

我们希望优化的是对抗视角的分布,损失函数包含两项。第一项是在对抗视角分布下模型损失函数的期望。损失函数是一般分类网络的交叉熵损失,然后f代表的是分类模型,r代表的就是nerf的渲染过程,我们从对抗视角的分布里面去采一些视角,然后渲染出照片,希望这个照片输入网络之后会被模型分错。

第二项是熵正则化,因为我们希望分布能够去学的视角更多样化,防止分布去退化成单点的分布之类的。我们为什么要用这种分布的形式去做,而不是去用一般的比如对抗攻击去搜索单点的对抗样本,或者搜索单点的对抗视角的这种方式去。

它有以下好处👇

1、能够了解它在整个3D空间里面的对抗视角的分布,因为这个参数空间其实是比较低位的,它只有一个6个参数,这个是能帮助我们更好的去了解这个模型在哪个范围里面可能会产生这样的错误。

2、它可以更好地去防止对摄像机拍摄的波动,因为我们去搜索一个对抗视角的分布,它其实包含比较多的视角,如果我们拍的摄像机,它的位置跟我们搜索的视角有一些偏差,它很可能也落在分布里面,也能同时欺骗。

3、就是它能够更好的去防止nerf渲染的误差,这个是为什么?因为我们刚才也提到了nerf渲染可能导引入的噪声,它可以被理解成一种对抗噪声,然后导致模型分错,而不是视角分错。但对抗噪声很难对一些比如图像变换的这种方式能够保持一致的攻击。所以我们是优化它在一组视角下的,能防止渲染gap所带来的这种攻击效果。


我们的工作里面是采用了一个这种比较简单的高斯分布去做建模,因为视角它本身是有限制的,比如说它旋转角度是复派到范围内,所以它是一个有限制的范围。为了使得视角的参数满足一些约束,首先是从高斯分布里面采样随机变量u,然后我们再对u用tanh去做归一化,映射到 v的限制范围内,采用这样的一个高斯分布做变换的形式去定义对抗视角的分布。

通过这样的定义,优化问题就可以转换成在高斯分布下的优化损失函数和熵正则项。为了去求解优化问题,我们去需要去计算损失函数的梯度,对于高斯分布参数,包括它的均值和方差的梯度。一个典型的方法是采用重参数化trick,可以计算模型的梯度。

但是这个方法最大的挑战是它需要的内存是非常大的,因为其实这个过程我们都会涉及到nerf的渲染过程,它是对图像里面每一个像素去渲染,每一个像素它其实是模拟的一条光线,从光线里面去采样很多点,然后去计算它的颜色。如果需要去渲染比较高清晰度的图片的时,需要的memory是非常大的。一般情况下,用128个采样点的情况下,渲染一个400×400的图片是需要大于300g的GPU内存,在一般情况下是不可接受的。


所以我们希望去解决这个问题,即不对这个渲染的过程去计算梯度,我们采用的方式也比较简单,是用黑盒优化的方式。不需要去计算它的一阶梯度,用这种零阶梯度估计的方法去算损失函数的梯度。因为优化问题本身就描述成一个这种分布下的优化,它的形式是跟NES比较类似的,所以我们就可以去用这种搜索梯度去估计它的梯度。估计的梯度如图公式所展示。经过一些推导,我们可以最终得到它的损失函数对于均值和方差的梯度。


05




实验结果



我们这个方法本身是可以对真实物体做的。但是为了做比较全面的实验对比,首先从3D model去对比方法的有效性。我们首先搜集了300个3D模型去攻击的网络,包括ResNet和VIT,也对比了我们的方法和random search,展示了三个结果。

第一个结果就是R(p(v))结果,它展示的是说通过优化搜索到对抗分布之后,我们在分布下去进行多次采样,然后去看采样的对抗视角,它的攻击成功率。然后第二个是 R(v)结果代表的我们在高斯分布的均值这个点,去采样去得到对抗视角,然后去渲染照片算的一个攻击成功率。第三个结果是通过搜索到的Real(v),在真实物体上去得到对应视角的图片,然后去计算的攻击成功率。


这边展示了一下我们主要的实验结果,第一行是正常视角下的图片,可以看到模型基本上能够正确分类。第二行展示的是用nerf渲染出来的照片,攻击效果基本上都可以被分错。

第三行是在同样的视角下对真实物体采集的照片的攻击效果。对于大部分的物体而言,真实的照片和渲染的照片其实还是比较像的,对模型所带来的预测的结果也是比较类似的。但是确实我们可以看到一些例外,比如最后一列路牌的结果,第二个照片是渲染的照片,它可以被分错,第三个照片是从同样视角加采集的照片它反而又会被分对了。

我们肉眼上看起来这两个照片非常像,然后也看不出来什么区别,但是可能会存在这种渲染的gap,然后会导致模型其实是基于这种gap去分错,而对于这种重新采样的真实照片是又分对了,但这种例子是相对较少。


然后我们进一步去验证了cross model的迁移性,我们是测了包括一些典型的CNN的结构,还有一些transformer结构,整体上可以看到我们的攻击成功率是非常高的,因为我们是采用了一种非常自然的这种攻击方式,照片是对于真实物体去采集的,还可以达到非常高的攻击成功率。其实也是说明了现在这些深度学习模型,它可能是过拟合的训练数据集,对于这种OOD没有办法很好地淡化。


我们做的一些物理世界的实验,第二列展示的是通过我们方法搜索出来的对抗视角,渲染的照片所带来的攻击效果,因为我们是选的是最基础的模型,所以它对于一些室外的比较复杂场景渲染出来,这个照片还是比较糊的。在搜索的对抗视角的基础上去,对真实物体去采集多张照片,因为我们没有办法很好的去match到视角上,所以我们是在一个范围内去采集多个照片算平均的攻击效果。

如图几个例子就可以看到,虽然它视角跟对抗视角不完全一致,但基本上还是能够达到一个很好的攻击效果,而且尤其是对于这种室外的场景,其实也是能够去攻击成功的。这些对自动驾驶的交通事故的避免,或者是组装性的分析可能也是会有帮助的。



我们是构建了一个Benchmark,里面包含我们我们采用的数据集,它在对抗视角下所渲染的照片,这个数据集现在是有1万个照片去测OOD的鲁棒性,我们在这个文章的实验里面,其实也是最典型的深度学习模型去做了分析,然后包括一些典型的网络结构,同时也包含一些对抗训练的模型,然后还有一些对corruption比较有效的数据增强技术去做了比较详细的实验分析。


整体上看模型的效果其实降得非常多,一般这种模型在ImageNet上能达到70~80%以上的这种效果,然后基本在我们这种优化的攻击下,准确率能降到百分之20-30%左右,虽然有一些模型相对来说好一点,但基本没有超过50%的这种模型。


对比这些不同的模型,首先是Transformer模型架构相比于CNN可能会更鲁棒一点,最好的效果可能是Swin和MAE的模型。另一方面在同样的模型架构里面,这种更深或者更大的模型,它的效果会更好一点,所以这个结论也是跟之前的一些包括对抗鲁棒性,包括自然鲁刚性是比较一致的。


第三点就是我们发现比较之前对于对抗样本,或者说对于这种因为corruption比较有效的防御方式,如对抗训练或者数据增强,它对于视角的变换是效果很差的。由此看出对这种2D的自然变化,然后包括对这种对抗噪声所涉及的一些防御,它其实对于真实世界里更加真实的变换,很难有一个迁移性的效果。这也是进一步说明我们在3D空间里面去生成 OOD数据,或者是去研究模型3D空间的鲁棒性也是有很大的意义。



🌟 下期预告

🔥议题六:A Unified Hard-Constraint Framework for Solving Geometrically Complex PDEs《硬约束引导的深度学习偏微分方程求解框架》


🔥议题七:Dynamic Graph Neural Networks Under Spatio-Temporal Distribution Shift《时空分布偏移下的动态图神经网络》
我们将持续更新,敬请期待😚~关注【AAIG】公众号,获取NeurIPS论文PPT👇
往期精彩推荐点击标题查看文章

● 第六章|总结与展望《人工智能治理与可持续发展实践白皮书》


● AAIG成立一周年!砥砺前行,谱写新时代的科技之歌~请查收这份最新的自我介绍


 AI治理必修第19刊|人脑给AI打工?大模型能自己"写"论文了,还带公式和参考文献!AlphaZero 的黑箱打开了!


 听委员说|AAIG薛晖出席杭州市"两会",提出加快建立人工智能产业的多元协同治理机制


 利用离散对抗训练增强视觉表征|NLP样式的对抗训练是否能引到图像中?NeurIPS论文分享直播回放(1)


 “算法偏见”是概念炒作吗?「这个AI不太冷」第3期带你揭秘现实AI!

更多人工智能治理和可持续发展好文
点击下方名片关注和星标【阿里巴巴人工智能治理与可持续发展研究中心】
👇AAIG课代表,获取最新动态就找她

 关注公众号发现更多干货❤️


有启发点在看喔👇
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存