作家
登录

深度 | 详解首个系统性测试现实深度学习系统的白箱框架DeepXplore

作者: 来源: 2017-06-20 11:06:20 阅读 我要评论

作者:Yoav Hollander

我认为这可以用来做很多工作(拜见标题名为「Other applications of DNN gradients(深度神经收集梯度的其它应用)」的论文┞仿节)。例如,这里有个初步、模糊的设法主意:喂束经写过有关「可解释的人工智能」的文┞仿(https://blog.foretellix.com/2016/08/31/machine-learning-verification-and-explainable-ai/),并且提到了其有助于验证(以及其它很多工作)的原因。或许,我们可以用像 DeepXplore 的技能(找到精准的界线和关于这些界线的弥补样本)去描述一个输入的本地区域(「如不雅这个输入变成了 this,那么答复就应当变成 that」), 是以,经由过程这种办法我们可以让用户懂得 DNN。

其它评论

机械之心编译

介入:吴攀、晏奇

蒲月份,来自哥伦比亚大年夜学和理海大年夜学的几位研究者的论文《DeepXplore: Automated Whitebox Testing of Deep Learning Systems》提出了一种深度进修体系的主动白箱测试办法 DeepXplore,参阅机械之心的报道《 学界 | 新研究提出 DeepXplore:首个体系性测试实际深度进修体系的白箱框架》。近日,Yoav Hollander 在一篇博客文┞仿中对这项研究进行了深度解读,同时还对「对基于机械进修的体系进行验证」这一主题进行了更广泛的商量。机械之心对本文进行了编译介绍。

论文《DeepXplore: Automated Whitebox Testing of Deep Learning Systems》描述了一种新的且(我认为)相当重要的用于验证基于机械进修的体系的办法。并且其或多或少打破了机械进修世界和类似 CDV(覆盖驱动验证)的、动态验证的世界之间的界线。

在我浏览这篇论文时,我一向在对本身说:「恩,很不错嘛,不过,他们似乎还忽视了什么。」所以我接洽了一下作者,事实证实他们很清跋扈这个「什么」是什么(并且他们也正筹划在将来的研究中解决个中的一些问题)。我将在这篇文┞仿中引述他们的一些谜底。

关于 DeepXplore

这篇论文描述了一种用于验证基于深度神经收集(DNN)的体系的办法,下面部分来自原论文的┞藩要:

我们提出了 DeepXplore:这是首个体系性测试真实深度进修体系的白箱框架(whitebox framework)。该框架解决两个难题:(1)生成可以或许激发一个深度进修体系逻辑的不合部分的输入(input);(2)在不涉及手动操作的情况下,辨认深度进修体系的不精确行动。起首,我们惹人了神经元覆盖(neuron coverage)来评估深度进修体系的不合部分(这些部分由用于测试的输入练习而成)。然后,应用多个有类似功能的深度进修体系作为交叉引证,是以避免了对缺点行动的手动检查。我们注解了可以若何将在实现深度进修算法高神经元覆盖率时找到触发不合行动的输入的过程表示为一个结合优化问题,然后应用基于梯度的优化技巧有效地解决。

DeepXplore 有效地在当缁ゎ先辈的深度进修模型上发清楚明了数千个不合的不精确的极端案例行动(corner-case behaviors,比如主动驾驶汽车撞向护栏、恶意软件假装成好软件),这些模型是在五个风行的数据集上练习的,个中包含来自 Udacity 在山景城收集的驾驶数据和 ImageNet 数据。

作者答复:

个中有 4 个重要思惟我比较爱好:

  • 主动「稍微推动」运行过程向目标移动,即:(2) 中定义的检查可以找到不一致的处所,同时 (1) 中定义的覆盖实现最大年夜化,同时还推敲到了束缚前提;

  • 我们完全赞成你的不雅点。完全的神经元覆盖(full neuron coverage)(就像代码覆盖)无法包管能找到所有可能的马脚。话虽如斯,我们也在思虑扩大神经元覆盖的定义,使之可以或许包含不合类型的覆盖(比如在传统软件中就像路径覆盖(path coverage)一样的神经元路径覆盖(neuron path coverage))。

    应用了有效的基于梯度的结合优化而做到了 (3)。

但对于这个中的每一个,我都有问题。这不是坏事:实际上这篇论文带来的很多问题是一个很大年夜的加分——我已经在等待后续的研究了。我的问题重要和 DeepXplore 的「仅有白箱(whitebox-only)」的本质有关(当然,这也是一个长处)。

让我按次序一一阐述一下这四个重要思惟,评论辩论一下我爱好它们的来由以及相干的问题:

1. 应用神经元覆盖

可迁徙性(transferability)真的是异常有趣的不雅察(observation)。在我们的实验里,我们发明尽管有些输入状况是可迁徙的,然则大年夜部分不是。实际上,差别测试的目标是找到这种弗成迁徙的状况。

对于一组 DNN 运行,它们的覆盖指标是「在这些运行过程中有多大年夜比例的神经元(DNN 节点)至少激活了一次」。其核心思惟是,对于一个给定的 DNN 输入,每个神经元要么是激活的(即跨越了阈值),要么就保持为 0。正如原论文说的一样:

比来的研究已经注解 DNN 中的每个神经元往往须要负责提取其输入的一个特定的特点……这个发明直不雅地说清楚明了为什么神经元覆盖是一个用于 DNN 测试周全性(testing comprehensiveness)的好指标

留意,这些节点对应的特点并不必定可以或许用我们的说话直不雅描述(比如:一个有两只眼睛的物体)。但 DNN 练习的优化过程平日确切会使它们对应于一些「可复竽暌姑的特点」,即让 DNN 在很多不合输入上都有效的器械。

研究者之前也测验测验过主动使神经元活泼,比如在论文《Understanding Neural Networks Through Deep Visualization》为了可视化神经元的工作,但应用神经元覆盖(neuron coverage)来进行验证应当是一个新的好设法主意。

可能的问题:

然则留意,神经元覆盖(类似于 软件验证中的代码覆盖(code coverage))是真正的实现覆盖(implementation coverage)。而实现覆盖就我们所知是不敷的,主如果因为其对因忽视造成的马脚没有助益:如不雅你接收/传输 软件的模块遗忘(SW module forgot)来实现传输,或遗忘有关「接收同时传输」的问题,然后你可以实现 100% 的代码覆盖并达到完美,直到有人实际写出了一个传输测试(或用户本身测验测验传输)。

拜见覆盖的多个评论辩论(实现,功能等等):https://blog.foretellix.com/2016/12/23/verification-coverage-and-maximization-the-big-picture/

 1/4    1 2 3 4 下一页 尾页

  推荐阅读

  计算网络带宽需求的正确姿势

不合收集的带亢孟耋各不雷同,若何精确地计算带宽,是创建和保护一个稳定快速收集的关键环节。大年夜多半收集>>>详细阅读


本文标题:深度 | 详解首个系统性测试现实深度学习系统的白箱框架DeepXplore

地址:http://www.17bianji.com/lsqh/35834.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)