可解释人工智能又向前迈进了一步,以及为什么现有的解释方法难以适用于gnn
可解释性是深度学习中的一个大课题,因为它可以实现更可靠和可信的预测。
由于图结构的不规则性,现有的解释方法难以适用于图神经网络。
Explainability增加可靠性
最近,人工智能中的可解释性引起了人们的广泛关注,其主要动机在于通过深度神经网络等“黑盒子”模型产生更可靠和可信的预测。LIME论文[2]中给出的一个很好的例子是,您会信任您的医生,因为他/她能够根据您的症状解释诊断。类似地,如果能够以人类可理解的方式解释或证明预测,由深度模型生成的预测就更可靠和可信。
相关的帖子
在过去的一个月里,TDS上出现了一些关于可解释AI的帖子。他们中的一些人提供了一些实际的例子来帮助你开始解释AI。如果你想了解更多关于可解释性人工智能的知识,这里列出了几篇文章。
Gianluca Malato的《How to explain neural networks using SHAPE[3]》提供了一个使用SHAPE来解释神经网络的例子,该神经网络被训练来预测给定33个特征的糖尿病概率。然后将解释可视化,以理解每个特性如何对预测结果作出贡献。
可解释的AI (XAI) - Prateek Bhatnagar的《用Python中的7个包来解释你的模型[4]指南》提供了一个概述和一些用于解释深度模型的优秀工具包的实际示例,以帮助你入门。
Javier Marin的可解释深度神经网络[5]提出了一种新的方法来可视化深度神经网络中的隐藏层,从而通过拓扑数据分析了解整个网络中的数据是如何转换的。
为什么很难用现有的方法来解释GNN?
传统的解释方法在卷积神经网络(CNN)上很有效。下面的示例显示了对输入图像(a)的三个顶级预测类标签的LIME解释。我们可以清楚地看到导致相应预测的部分与类标签匹配。例如,吉他颈对预测“电吉他”(b)贡献最大。
然而,当涉及到图神经网络(GNN)时,事情就变得有点棘手了。与cnn所操作的高度规则网格不同,图结构的不规则性带来了许多挑战。例如,我们可以很容易地解释上述CNN模型的解释,但是对于一个图来说,类似的节点级解释就不容易形象化和解释。
在下一节中,我们将通过最近关于gnn[1]可解释性的综述来了解每一组方法的主要思想。
GNN解释方法概述
基于梯度/特征的方法:使用梯度或隐藏特征作为输入重要性的近似值,通过反向传播来解释预测。
基于扰动(Perturbation )的方法:输出对输入扰动的变化反映了输入区域的重要性。或者换句话说,需要保留哪些节点/边/特征,以便最终的预测不会与最初的GNN模型偏离太多。
代理(Surrogate )方法:训练一个使用输入节点的邻近区域更易于解释的代理模型。
分解方法:将预测分解为几个项,每个项作为相应输入特征的重要度得分。
生成方法:学习根据待解释的GNN模型生成获得最佳预测分数的图。
什么是GNN最好的解释方法?
当谈到方法评估时,有很多事情需要考虑。[1]中的作者建议了两个指标来确保以下属性。
保真度:可解释的模型应该与被解释的原始GNN有一致的预测。
稀疏性:只有一小部分节点/边缘/特征被用作解释。
稳定性:输入的微小变化不应过多影响解释。
准确性:解释应该准确地恢复地面真相解释(这只适用于地面真相已知的合成数据集)
总结
可解释性是人工智能的一个关键部分,因为它可以实现可靠和可信的预测。然而,将现有的解释方法应用于GNN并非易事。我们快速浏览了一些现有GNN解释方法中的一般方法,以及定义一个好的GNN解释方法所需的一些属性。
引用
[1] H. Yuan, H. Yu, S. Gui, S. Ji, Explainability in Graph Neural Networks: A Taxonomic Survey (2020), arXiv
[2] M. T. Ribeiro, S. Singh, C. Guestrin, “Why Should I Trust You?”: Explaining the Predictions of Any Classifier (2016), ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD)
[3] How to explain neural networks using SHAPE
[4] Explainable AI (XAI) — A guide to 7 Packages in Python to Explain Your Models
[5] Explainable Deep Neural Networks
作者:Remy Lau
原文地址:https://towardsdatascience.com/explainable-graph-neural-networks-cb009c2bc8ea
deephub翻译组