admin管理员组文章数量:1530984
本周阅读了论文《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外)
版权声明:本文标题:深度学习缺陷特征的综合研究 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1725898413a1047923.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论