自本科期间就在做机器学习相关的内容,可解释性一直都是机器学习的痛点,本文简单梳理一下机器学习可解释性问题。

简介

首先,机器学习的可解释性至今都没有一个明确的定义,从宏观上来讲,可解释性的主体是人,即如何让人明白Machine Learning(ML)的决策原理。不过并不是所有的模型都需要被解释的清清楚楚才能使用,有两种情况是不需要解释ML的决策原因的:(1)结果不会造成严重后果,即使ML决策失误也没关系;(2)ML在大量实践中已经足够可信。此外,模型决策失误的原因主要有两个,(1)训练数据本身就存在不正确因素;(2)将训练好的模型用于一个相似领域的预测。[1]

本文将可解释性分为两部分,即模型权重可解释性数据可解释性

权重可解释性

其实可解释性是分宏观和微观的,宏观上,不论深度学习还是传统机器学习,都是可解释的,因为我们明确知道算法,以及权重是怎么算出来的,整体上来看,无非是我们把一些我们认为有潜在规律的数据,送给机器学习算法提取权重,最终获得权重,也就是模型学习到的知识,然后通过这个权重去计算和预测未知数据,整个流程是完全透明的。

而微观上通常认为,传统机器学习,如SVM等是可解释的,而深度学习CNN等是不可解释的,其实这个界定条件是由人来定义的,通常在线性SVM:

f(x)=w_1x_1+w_2x_2+w_3x_3

我们把x1看作年龄,那么w1就是年龄的权重,虽然w1数值本身没什么语义,但是我们明确知道,这就是年龄的权重,年龄在最终预测结果中的占比大概是多少。

而当权重参数量激增之后,量变引起质变,语义便发生了断层,在高维矩阵运算中,我们很难解释,4563维这个数据究竟有什么语义特征,语义与参数的对应关系完全打乱,人类无法理解,所以便得出了不可解释。

数据可解释性

除了上述参数层面的可解释性,还有一方面是数据和特征的可解释性,到底用什么数据或者特征会让模型效果变得更好,理解数据中的哪些因素驱动了模型性能,以及为什么这些因素有效,这在学术上叫做数据归因。

数据可解释性并不只是寻找对模型性能有贡献的数据特征,而是理解哪些数据因素承载了任务本质规律,并通过领域知识将统计关联转化为人类可理解的因果或机制解释。

从数据层面解释也是有一些方法的,比如可以做特征选择,消融实验等等。

一些系统性解释方法

为了尽可能地解释ML的工作原理,学者们提出了各种办法,包括注意力可视化、激活最大化、模型蒸馏[2]等等。

image.png
image.png
image.png

一些看法

随着ML的快速发展,越来越多的研究开始尝试将其与传统领域相结合。这种跨领域融合本身并无不妥,反而为许多问题提供了新的研究视角和解决思路。然而,部分工作为了追求表面上的创新性,将机器学习模型生硬地引入到原本通过正则匹配或更简单的算法即可解决的分类任务中,或者在数据质量、特征设计本身存在缺陷的情况下,加模型来掩盖本身的数据问题,将本应归因于数据层面的问题转移到模型可解释性上,这种工作确实要以审视的眼光看待。

References

[1]程国建,刘连宏.机器学习的可解释性综述[J].智能计算机与应用,2020,10(5):6-8+13.
[2]纪守领,李进锋,杜天宇,等.机器学习模型可解释性方法、应用与安全研究综述[J].计算机研究与发展,2019,56(10):2071-2096.
[3] https://transformer-circuits.pub/2025/attribution-graphs/methods.html

标签: ML

添加新评论