中文

WheaCha:一种解释代码模型预测的方法

机器学习 2022-07-13 v3 编程语言 软件工程

摘要

归因方法已成为一种基于输入特征相关性来解释模型预测的流行方法。尽管特征重要性排序能够提供模型如何从原始输入得出预测的洞见,但它们并未对模型用于预测的关键特征给出明确的定义。在本文中,我们提出一种称为 WheaCha 的新方法,用于解释代码模型的预测。尽管 WheaCha 采用将模型预测追溯至输入特征的相同机制,但它在关键方面不同于所有现有的归因方法。具体而言,对于任意一个习得代码模型的预测,WheaCha 将输入程序划分为“麦粒”(即作为模型预测其所预测标签原因的决定性特征)与剩余的“糠秕”。我们在一个名为 HuoYan 的工具中实现了 WheaCha,并用它来解释四个著名的代码模型:code2vec、seq-GNN、GGNN 和 CodeBERT。结果表明:(1)HuoYan 高效——以端到端方式(即包含模型预测时间)计算一个输入程序的麦粒平均耗时低于二十秒;(2)所有模型用于预测输入程序的麦粒均由简单的语法甚至词法属性(即标识符名称)构成;(3)基于麦粒,我们提出了一种通过训练数据视角解释代码模型预测的新方法。

关键词

引用

@article{arxiv.2102.04625,
  title  = {WheaCha: A Method for Explaining the Predictions of Models of Code},
  author = {Yu Wang and Ke Wang and Linzhang Wang},
  journal= {arXiv preprint arXiv:2102.04625},
  year   = {2022}
}