基于语义的神经网络修复
机器学习
2023-06-16 v1 人工智能
软件工程
摘要
近年来,神经网络已扩展到众多领域,包括许多安全关键系统。神经网络是通过 TensorFlow 和 PyTorch 等框架编程构建(并训练)的。开发者应用丰富的预定义层来手动编写神经网络或通过 AutoML 自动生成。由于使用这些层必须满足非平凡的约束,组合不同层的神经网络容易出错。在这项工作中,我们提出一种自动修复错误神经网络的方法。挑战在于识别对网络的最小修改使其变为有效。修改一层可能对后续层产生级联影响,因此我们的方法必须递归搜索以识别“全局”最小修改。我们的方法基于深度学习层的可执行语义,聚焦于实践中常见的四类错误。我们针对两种使用场景评估了该方法,即修复自动生成的神经网络和存在常见模型缺陷的手动编写网络。结果表明,我们能够有效且高效地修复一组随机生成的神经网络(由现有 AI 框架测试方法产生)的 100%(平均修复时间 21.08s),以及一组真实神经网络缺陷的 93.75%(平均时间 3 分 40 秒)。
引用
@article{arxiv.2306.07995,
title = {Semantic-Based Neural Network Repair},
author = {Richard Schumi and Jun Sun},
journal= {arXiv preprint arXiv:2306.07995},
year = {2023}
}