深度学习缺陷特征的综合研究

本周阅读了论文《A Comprehensive Study on Deep Learning Bug Characteristics》,以下总结论文要点。

研究数据来源:

  • 来自Stack Overflow的高质量帖子:可以了解开发人员在使用深度学习库构建软件时遇到的错误。
  • Github关于5个深度学习库(Caffe, Keras, Tensorflow, Theano, Torch)的错误修复提交:可以了解在开源软件中发现并修复的错误。

问题:

RQ1(bug类型):哪些类型的bug更常见?

RQ2(根本原因):bug的根本原因?

RQ3(bug影响):bug的主要影响?

RQ4(bug易发阶段):哪些深度学习流程阶段更容易受到bug的影响?

RQ5(共性):这些bug遵循共同的模式吗?

RQ6(bug进化):bug模式如何随着时间推移而改变?

结论:

  • 大多数深度学习错误是数据错误和逻辑错误;
  • 其主要根源是错误的模型参数(IPS)和结构低效(SI);
  • 大多数错误发生在深度学习流程的数据准备阶段;
  • 错误的分布和反模式之间存在很强相关性。

方法:

数据收集-分类-为bug贴标签-bug分类(API bug、coding bug、data bug、structural bug、non model structural bug)-bug根本原因分类(API间不兼容、缺少类型检查、API改变、API误用、与计算模型混淆、错误的模型参数或结构、其他、结构低效、未对齐张量[UT]、文档错误)-bug造成的影响分类(表现不佳、崩溃、数据冲突、挂起、功能不正确、内存越界)

RQ1:

实验结果:

1. data bug出现得最频繁

2. caffe的structural logic bug占比最高

3. torch、keras、tf的API bug频率较高

4. 所有错误类型在所有5个库的GitHub和Stack Overflow中都有类似的模式

RQ2:

实验结果:

5. IPS是最常见的根本原因

6. keras、caffe的SI多

7. UT是torch最主要的bug原因

8. theano有30%的bug源自缺少类型检查

9. tf和keras分别有9%和7%的bug源自API改变

10. 除API误用外,所有其他bug根本原因在Github和Stack Overflow中都有相似的模式

11. 在与模型相关的bug中,SI和IPS占比显著

RQ3:

实验结果:

12. 绝大部分bug导致崩溃

13. 在5个库中都有一定比例的bug导致表现不佳

14. 也有一定比例的bug导致功能不正确

15. GitHub和Stack Overflow中的bug影响相同

RQ4:

实验结果:

16. 绝大多数bug发生在数据准备阶段

17. 其次是训练阶段

18. 再其次是选择模型阶段

RQ5:

实验结果:在错误类型方面,库之间有接近1的强相关系数存在,而caffe与其他库相关性非常弱。19. tf和keras的反模式分布相似,而torch不相似

RQ6:

实验结果:

20. keras、caffe、tf中structural logic bug呈增长趋势

21. 自2015年来,data bug缓慢下降(除torch外)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海苔小饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值