中文

DeepStability:深度学习中非稳定数值方法及其解决方案研究

机器学习 2022-02-09 v1 数值分析 数值分析

摘要

深度学习(DL)已成为解决各种重要问题的组成部分,因此确保 DL 系统的质量至关重要。实现 DL 软件可靠性和鲁棒性的挑战之一是确保算法实现在数值上稳定。DL 算法需要大量且多样的数值计算。数值计算的朴素实现可能导致错误,从而造成不正确或不精确的学习与结果。一个数值算法或数学公式可以有多种数学上等价但数值稳定性不同的实现。设计数值稳定的算法实现具有挑战性,因为它需要软件工程、DL 和数值分析的跨学科知识。在本文中,我们研究两个成熟的 DL 库 PyTorch 和 Tensorflow,旨在识别不稳定的数值方法及其解决方案。具体而言,我们调查哪些 DL 算法在数值上不稳定,并对数值不稳定的根本原因、表现和补丁进行深入分析。基于这些发现,我们发布了首个 DL 中数值稳定性问题及解决方案的数据库。我们的发现为开发者和工具构建者提供了未来参考,以预防、检测、定位并修复数值不稳定的算法实现。为证明这一点,使用 DeepStability 我们已定位 Tensorflow 中的数值稳定性问题,并提交了已被接受并合并的修复。

关键词

引用

@article{arxiv.2202.03493,
  title  = {DeepStability: A Study of Unstable Numerical Methods and Their Solutions in Deep Learning},
  author = {E. Kloberdanz and K. G. Kloberdanz and W. Le},
  journal= {arXiv preprint arXiv:2202.03493},
  year   = {2022}
}

备注

to be published in ICSE (2022)