AI可解释性360 (v0.3.0)
AI可解释性360工具包是一个开源库,支持数据集和机器学习模型的可解释性和可解释性。AI可解释性360 Python包包括一整套算法,涵盖了不同维度的解释以及代理可解释性指标。AI可解释性360工具包支持表格数据、文本、图像和时间序列数据。
AI可解释性360互动体验通过不同消费者角色的示例用例,提供了一个温和的介绍。 教程和示例笔记本提供了更深层次的数据科学家导向的介绍。完整的API也可用。
没有一种单一的可解释性方法是最好的。有许多解释方式:数据 vs 模型,直接可解释 vs 事后解释,局部 vs 全局等。因此,可能很难确定哪些算法最适合特定的用例。为此,我们创建了一些指导材料和一个分类树供参考。
我们在开发这个包时考虑了可扩展性。这个库还在开发中。我们鼓励您贡献您的可解释性算法、指标和用例。如需作为贡献者入门,请通过这里请求邀请后加入AI可解释性360社区。请查看贡献代码和Python笔记本的说明。
支持的可解释性算法
数据解释
- ProtoDash (Gurumoorthy等,2019)
- Disentangled Inferred Prior VAE (Kumar等,2018)
局部事后解释
- ProtoDash (Gurumoorthy等,2019)
- Contrastive Explanations Method (Dhurandhar等,2018)
- Contrastive Explanations Method with Monotonic Attribute Functions (Luss等,2019)
- 以例子为基础的对比解释方法
- Grouped Conditional Expectation (Adaptation of Individual Conditional Expectation Plots by Goldstein等 to higher dimension )
- LIME (Ribeiro等,2016, Github)
- SHAP (Lundberg等,2017, Github)
时间序列局部事后解释
- 用集成梯度生成的时间序列显著性图(Inspired by Sundararajan等 )
- 时间序列LIME(时间序列适配经典论文Ribeiro等,2016)
- 时间序列个体条件期望(时间序列适配个体条件期望图Goldstein等)
局部直接解释
- Teaching AI to Explain its Decisions (Hind等,2019)
- Order Constraints in Optimal Transport (Lim等,2022, Github)
认证的局部解释
- 通过黑盒概率认证的解释信任区域 (Ecertify) (Dhurandhar等,2024)
全局直接解释
- 可解释的模型差异 (IMD) (Haldar等,2023)
- CoFrNets(连分数网络) (Puri等,2021)
- 通过列生成的布尔决策规则(轻量版) (Dash等,2018)
- 广义线性规则模型 (Wei等,2019)
- 快速有效的规则归纳法 (Ripper) (William W Cohen,1995)
全局事后解释
- ProfWeight (Dhurandhar等,2018)
支持的可解释性指标
- 可靠性指标 (Alvarez-Melis和Jaakkola,2018)
- 单调性指标 (Luss等,2019)
设置
支持的配置:
安装关键字 | 解释器 | 操作系统 | Python版本 |
---|---|---|---|
cofrnet | cofrnet | macOS, Ubuntu, Windows | 3.10 |
contrastive | cem, cem_maf | macOS, Ubuntu, Windows | 3.6 |
dipvae | dipvae | macOS, Ubuntu, Windows | 3.10 |
gce | gce | macOS, Ubuntu, Windows | 3.10 |
ecertify | ecertify | macOS, Ubuntu, Windows | 3.10 |
imd | imd | macOS, Ubuntu | 3.10 |
lime | lime | macOS, Ubuntu, Windows | 3.10 |
matching | matching | macOS, Ubuntu, Windows | 3.10 |
nncontrastive | nncontrastive | macOS, Ubuntu, Windows | 3.10 |
profwt | profwt | macOS, Ubuntu, Windows | 3.6 |
protodash | protodash | macOS, Ubuntu, Windows | 3.10 |
rbm | brcg, glrm | macOS, Ubuntu, Windows | 3.10 |
rule_induction | ripper | macOS, Ubuntu, Windows | 3.10 |
shap | shap | macOS, Ubuntu, Windows | 3.6 |
ted | ted | macOS, Ubuntu, Windows | 3.10 |
tsice | tsice | macOS, Ubuntu, Windows | 3.10 |
tslime | tslime | macOS, Ubuntu, Windows | 3.10 |
tssaliency | tssaliency | macOS, Ubuntu, Windows | 3.10 |
(可选)创建虚拟环境
AI Explainability 360 需要特定版本的许多 Python 包,这些包可能与系统上的其他项目冲突。强烈建议使用虚拟环境管理器以确保依赖关系能够安全安装。如果您在安装工具包时遇到问题,请首先尝试此方法。
Conda
推荐使用 Conda,但虚拟环境通常也可以互换使用。Miniconda 就足够了(有关 Anaconda 和 Miniconda 之间的区别,请参见此处),如果您尚未安装,可以从这里下载。
然后,根据您希望使用的可解释性算法,通过参考上表,创建一个新的 Python 环境。例如,对于 Python 3.10,使用以下命令:
conda create --name aix360 python=3.10
conda activate aix360
命令提示符应该现在显示 (aix360) $
。要退出环境,运行:
(aix360)$ conda deactivate
提示符将返回到 $
或 (base)$
。
注意: 较旧版本的 conda 可能使用 source activate aix360
和 source deactivate
(在 Windows 上使用 activate aix360
和 deactivate
)。
安装
克隆本仓库的最新版本:
(aix360)$ git clone https://github.com/Trusted-AI/AIX360
如果您想运行示例和教程笔记本,现在下载数据集并将其放在各自的文件夹中,新详细描述见 aix360/data/README.md。
然后,导航到包含 setup.py
文件的项目根目录并运行:
(aix360)$ pip install -e .[<algo1>,<algo2>, ...]
上述命令安装特定算法所需的程序包。这里 <algo>
指的是上面表中的安装关键词。例如,要安装 BRCG、DIPVAE 和 TSICE 算法需要的包,可以使用
(aix360)$ pip install -e .[rbm,dipvae,tsice]
默认命令 pip install .
仅安装默认依赖。
请注意,您可能无法在同一环境中安装需要不同版本的 python 的两个算法(例如 contrastive
和 rbm
)。
如果您遇到任何问题,请尝试升级 pip 和 setuptools 并卸载任何以前版本的 aix360,然后再尝试上述步骤。
(aix360)$ pip install --upgrade pip setuptools
(aix360)$ pip uninstall aix360
AI Explainability 360 的 PIP 安装
如果您想快速开始使用 AI explainability 360 工具包而不明确克隆此存储库,可以使用以下选项之一:
- 通过存储库链接安装 v0.3.0
(your environment)$ pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[<algo1>,<algo2>,...]
例如,使用 pip install -e git+https://github.com/Trusted-AI/AIX360.git#egg=aix360[rbm,dipvae,tsice]
安装 BRCG、DIPVAE 和 TSICE。如果环境中尚未安装 cmake
,可以使用 conda install cmake
安装。
- 通过 pypi 安装 v0.3.0(或以前版本)
(your environment)$ pip install aix360
如果您遵循上述任一选项,您需要单独下载 examples 文件夹中提供的笔记本。
处理安装错误
AI Explainability 360 工具包在 Windows、MacOS 和 Linux 上进行了测试。然而,如果您仍然因包依赖问题遇到安装问题,请尝试通过 conda 安装相应的包(例如 conda install package-name),然后按照常规步骤继续安装工具包。例如,如果您在安装过程中与 pygraphviz 相关的问题,使用 conda install pygraphviz
,然后安装工具包。
请根据上方表中的信息使用正确的 python 环境。
在 Docker 中运行
- 在
AIX360
目录下,通过docker build -t aix360_docker .
从 Dockerfile 构建容器镜像 - 使用命令
docker run -it -p 8888:8888 aix360_docker:latest bash
启动容器镜像,假设您的机器上端口 8888 是空闲的 - 在容器内使用命令
jupyter lab --allow-root --ip 0.0.0.0 --port 8888 --no-browser
启动 jupyter lab - 使用 URL
localhost:8888
在您的机器上访问示例教程
使用 AI Explainability 360
examples
目录包含一系列使用 AI Explainability 360 各种方式的 jupyter 笔记本。示例和教程笔记本都展示了使用该工具包的实际代码。教程提供了额外的讨论,详细介绍了笔记本的各个步骤。请参阅此处的教程和示例详细信息。
引用 AI Explainability 360
如果您在工作中使用 AI Explainability 360,我们鼓励您
- 引用以下论文。bibtex 条目如下:
@misc{aix360-sept-2019,
title = "One Explanation Does Not Fit All: A Toolkit and Taxonomy of AI Explainability Techniques",
author = {Vijay Arya and Rachel K. E. Bellamy and Pin-Yu Chen and Amit Dhurandhar and Michael Hind
and Samuel C. Hoffman and Stephanie Houde and Q. Vera Liao and Ronny Luss and Aleksandra Mojsilovi\'c
and Sami Mourad and Pablo Pedemonte and Ramya Raghavendra and John Richards and Prasanna Sattigeri
and Karthikeyan Shanmugam and Moninder Singh and Kush R. Varshney and Dennis Wei and Yunfeng Zhang},
month = sept,
year = {2019},
url = {https://arxiv.org/abs/1909.03012}
}
-
为此仓库加星。
-
在 AI Explainability 360 Community 中与我们和其他人分享您的成功故事。
AIX360 视频
- Vijay Arya 和 Amit Dhurandhar 介绍 AI Explainability 360 的视频,2019 年 9 月 5 日(35 分钟)
致谢
AIX360 是在若干开源包的帮助下构建的。这些包都列在 setup.py 中,其中包括:
- Tensorflow https://www.tensorflow.org/about/bib
- Pytorch https://github.com/pytorch/pytorch
- scikit-learn https://scikit-learn.org/stable/about.html
许可信息
请查看根目录中 LICENSE 文件和文件夹 supplementary license 了解许可证信息。