如何高效验证深度神经网络的学习行为?看看 Facebook 是怎么做的
雷锋网
(公众号:雷锋网)
AI 科技评论按:
Facebook AI 昨日推荐了一款能够比当前 state-of-the-art 程序更快识别应用安全水平的最新技术。过去我们从计算机视觉、强化学习以及语音识别等领域发掘了深度学习的巨大潜力,然而对于一些安全性要求较高的应用(如自动驾驶)来说,在模型得到有效验证以前,并无法真正受惠。Facebook提供的新方法适用于深度学习,能够对无法确定输出结果的输入内容进行有效验证,从而杜绝不当决策的产生。雷锋网 AI 科技评论将该开源文章编译如下。
在具体操作上,我们先利用分段线性(这里使用的是 ReLU )激活的结构来构建一组可能输出的 convex overapproximation 。该 overapproximation 可通过线性编程(LP)求解器获得,且能让我们迅速判断输出是否所需。为了避免操作趋于保守,我们会将输入集重复划分为更小的子集以及对应较小的 convex overapproximations ,从而细化 overapproximation。
对于这种“划分-处理”类型的操作程序,输入集分区的生成方式选择将对验证问题的时间长短产生重大的影响。现有的技术主要通过递归的方式将输入集划分为较小的子集,以确认一组输入的安全性。而我们的技术则使用 LP 的最优原和双变量(在 convex overapproximation 过程中生成)来计算灵敏度的度量(所谓的影子价格),因此得以估计新的分区将如何影响随后的overapproximations,从而减少分裂的数量。最后的结果是,我们拥有一个能以快速且资源有效方式来验证深度神经网络的算法,有效减少了计算所需的时间。
通过更有效的算法将输入集划分为更小的子集。 在这种情况下,来自初始集的输入不会产生归属危险集的输出(由感叹号表示)。
总的来说,该结果为我们当下各种机器学习应用(包括视觉与控制)的验证方法改进提供了一条全新思路。如何高效、可靠地对深度神经网络的学习行为进行验证,是将这些技术集成到对安全要求较高的领域的重要一步。我们的未来工作将集中在如何将验证能力扩展至更常见的神经网络以及具备任意拓扑的输入集。
论文链接:
https://l.facebook.com/l.php?u=https%3A%2F%2Farxiv.org%2Fabs%2F1902.07247&h=AT19u-xX03Ad5gQjrdBK0CFYk9UtXTeUSlm1oyigm1L3jnyxMuwv3AYszT3NgXoKV84Y8Rn7TvFbHSqpcIHqaaXEaYcsAV7-lCPajQHC5FUpxFFdjC2Yl12oCN-GNyRKZmKa6ccHQf5ewLZLaYv146sum0G7v1gF6P7l2kVR
via https://ai.facebook.com/blog/faster-more-efficient-neural-network-verification/
雷锋网 AI 科技评论
。