arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2002.03869cs.LG
收藏

用于快速和严格深度学习的半自动精度和准确度分析框架

A Framework for Semi-Automatic Precision and Accuracy Analysis for Fast and Rigorous Deep Learning

University of Alaska Anchorage(阿拉斯加安克雷奇大学);Université de Nantes(南特大学);CNRS(法国国家科学研究中心);LS2N(南特数字科学实验室)

Christoph Lauter, Anastasia Volkova

摘要:

深度神经网络(DNN)是一种性能要求极高的应用。浮点(FP)和自定义类浮点运算满足了这种需求。虽然需要速度,但DNN中的推理似乎不需要精度。许多论文通过实验观察到DNN可以在几乎低得可笑的精度下成功运行。本文的目的是双重的:首先,从理论上阐明为什么DNN的FP精度在低FP精度的情况下仍然很高。我们观察到,卷积步骤中相对准确性的损失被激活层恢复,这些激活层是非常良好的。我们给出了DNN中精度和准确性之间的联系的解释。其次,本文提出了一个用于深度学习推理阶段的半自动FP错误分析的软件框架。与常见的Tensorflow/Keras模型兼容,它利用简单的Python/C++库将神经网络转换为C++代码,以分析网络对精度的需求。这种严格的分析基于区间和仿射算法来计算DNN的绝对和相对误差范围。我们用几个例子来展示我们的工具。

英文摘要:

Deep Neural Networks (DNN) represent a performance-hungry application. Floating-Point (FP) and custom floating-point-like arithmetic satisfies this hunger. While there is need for speed, inference in DNNs does not seem to have any need for precision. Many papers experimentally observe that DNNs can successfully run at almost ridiculously low precision. The aim of this paper is two-fold: first, to shed some theoretical light upon why a DNN's FP accuracy stays high for low FP precision. We observe that the loss of relative accuracy in the convolutional steps is recovered by the activation layers, which are extremely well-conditioned. We give an interpretation for the link between precision and accuracy in DNNs. Second, the paper presents a software framework for semi-automatic FP error analysis for the inference phase of deep-learning. Compatible with common Tensorflow/Keras models, it leverages the frugally-deep Python/C++ library to transform a neural network into C++ code in order to analyze the network's need for precision. This rigorous analysis is based on Interval and Affine arithmetics to compute absolute and relative error bounds for a DNN. We demonstrate our tool with several examples.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑