夏乙 发自 凹非寺
量子位 报道 | 公众号 QbitAI
DEBUG,是程序员永无止境的日常。给神经网络捉虫,更是比普通程序难得多:
绝大部分bug都不会导致神经网络崩溃、报错,只能让它训练了没效果,默默地不收敛。
能不能把炼丹师们从无休止无希望的debug工作中拯救出来?两位谷歌大脑研究员Augustus Odena和Ian Goodfellow说,好像能。
他们推出了一种自动为神经网络做软件测试的方法:TensorFuzz。它非常擅长自动发现那些只有少数某些输入会引发的错误。
比如说,它能在已训练的神经网络里发现数值误差,生成神经网络和其量化版本之间的分歧,发现字符级语言模型中的不良行为。
这种方法说新也不新,它来源于传统编程技艺中的一种测试手段:覆盖引导的模糊测试,英语叫coverage-guided fuzzing,简称CGF。