网络nan的原因_检测神经网络结构中的数值缺陷

本文提出了一种名为 DEBAR 的静态分析方法,用于在架构级别检测深度学习神经网络中的数值缺陷。DEBAR 结合了张量划分和仿射关系分析,以提高检测精度和可扩展性。在两个数据集上的评估显示,DEBAR 能有效检测到数值错误,准确率高达 93.0%,并且在真实神经结构中表现出高效率。
摘要由CSDN通过智能技术生成

8997f14be9ab3b499aff3cba3d42a320.png

摘要

在架构级别检测深度学习软件中的 bug 可以提供在模型级别检测 bug 所不能提供的额外好处。本文首次尝试在架构级别进行检测数值缺陷的静态分析,提出了一种基于抽象解释的神经结构检测数值缺陷的静态分析方法。他们的方法主要包括两种抽象技术,即张量和数值。此外,为了在保证在足够的检测精度的前提下进行缩放,他们提出了两种抽象技术:张量划分和(元素)仿射关系分析来分别提取张量和数值。他们将张量划分和仿射关系分析(以及区间分析)的组合方案称为 DEBAR,并在两个数据集上评估它:已知缺陷的神经结构(收集自现有研究)和真实的神经结构。评价结果表明,DEBAR 在精度上优于其他张量和数值抽象技术,且不损失可扩展性。DEBAR 能在 1.7-2.3 秒内成功地检测出所有已知的数字错误,且没有误报。在真实的架构中,DEBAR 每个架构在 2.6-135.4 秒内报告 529 个警告,其中 299 个警告是真正的正面警告。

1 介绍

在软件系统(被称为 DL 软件系统)中使用深度神经网络(DNNs)越来越流行,支持关键分类任务,如自动驾驶、面部识别和医学诊断。构建这样的系统需要训练一个 DNN 模型,该模型基于一个由深度学习(DL)程序编写的神经结构。为了简化 DL 程序的开发,开发人员普遍采用各种 DL 框架,如 TensorFlow。一个神经结构,即一个具有一组参数的张量网络,由一个配置来完成一个学习任务的计算图捕获。该体系结构在给定的训练数据的基础上,对这些参数进行了具体的约束,并给出了一个 DL 模型,该模型是为一个分类任务而训练的。

为了避免 DL 软件系统中意外或不正确的行为,有必要检测其神经结构中的缺陷。尽管各种测试或验证 DL 模型的方法被提出来,但这些方法并没有满足两类利益相关者的需求:(1)设计和发布神经架构的架构供应商被其他用户使用,(2)开发人员使用神经结构来训练和部署基于开发人员自己的训练数据集的模型。

在本文中,他们首次尝试在架构级别进行 bug 检测的静态分析。具体地说,针对的是数值缺陷。数值缺陷通常是由复杂的组件交互引起的,很难在代码检查期间发现。神经结构可能包含会导致严重后果的数值缺陷。神经结构中的数值缺陷表现为“NaN”和“INF”形式,或者是训练或推理过程中的崩溃。例如,当一个非零的数除以 0,结果是 INF,表示它是一个无限的数;当 0 除以 0 时,结果是“NaN”,表示它不是一个数字。当在训练过程中出现数值缺陷时,使用错误的神经结构训练的模型就会失效。只有在进行推断时才显示的数值缺陷更具破坏性:当在实际的系统使用时遇到某些输入时,它可能会使软件系统崩溃或出现意外的系统行为。

之前的实证研究表明,通过测试来检测数值缺陷在架构层面太具有挑战性。为了在架构层次上检测数值缺陷,在本文中,他们建议使用静态分析,因为静态分析能够覆盖由大量参数和神经架构可能的输入所施加的巨大组合空间。本文提出了一种基于抽象解释的在神经结构中检测数值缺陷的静态分析方法,该方法主要包括两种抽象技术,即张量抽象技术和数值抽象技术。他们研究了三种张量抽象技术:阵列展开、阵列粉碎和张量分割,以及两种数值抽象技术:区间抽象与仿射关系分析。在这些技术中,数组扩展、数组粉碎和区间抽象是将现有的用于命令式程序的抽象技术进行改进。此外,为了保持在足够精度的同时实现可扩展性,他们提出了张量划分来划分张量,并根据他们的见解推断分区上的数值信息:一个张量的许多元素都受到相同的操作。特别是,在适当的抽象解释下,将(具体的)张量元素表示为一个抽象元素,可以减少分析工作的数量级。受此启发,张量分割首先将一个张量中的所有元素抽象为一个抽象元素,然后在具体元素经过不同操作时迭代地将每个抽象元素分割为更小的元素。每个抽象元素代表张量的一个划分,与一个数值区间相关联,该数值区间表示其具体元素的范围。此

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值