Darkon:可更好理解深度学习模型的开源工具包
由于难以理解,深度学习经常被称为黑箱。有鉴于此,Neosapience 开发了开源工具包 Darkon,它可以更好地理解深度学习模型,进而调试故障,解释决策等等。目前 Darkon 适用于所有 Tensorflow 模型。
项目地址:http://darkon.io/
Darkon 是一个更好地理解深度学习模型的开源工具包。由于难以理解,深度学习经常被称为黑箱。但是,可解释性与可控性是深度学习模型商业化推广的关键。人们通常认为准备性数据集上实现的高精度足以将模型进行商业化推广,但实际情况却是经常在实际应用中遭受失败,并会导致极端案例的出现。进而,有必要在医疗诊断、金融决策等一些应用中解释结果以信任系统。我们希望 Darkon 可以帮助你理解已训练模型,进而调试故障,解释决策等等。
本文中,我们将提供轻易分析深度学习模型的功能,它适用于任何 Tensorflow 模型(稍后会支持其他模型)。影响值在通过训练样本理解模型方面非常有用。分值可用于过滤拉低测试表现的不良训练样本。优先考虑修复被错误标注的潜在实例,并调试训练和测试样本之间的不匹配分布很有帮助。在本版本中,我们添加了 Grad-CAM 和有指导的 Grad-CAM,这对于理解 CNN 模型的决策很有帮助。
我们会慢慢使轻松分析深度学习模型的技术应用到你现有的项目之中。更多功能也将很快公布。
Demo
该 demo 展示了影响值的实例使用。如果你选择预训练网络和一个特定的测试样本,你可以在预测中看到结果,以及有益或有害的训练样本。训练样本通过影响值被分类,其中最高值对应于有益的样本,最低值对应于有害的样本。
Demo 地址:https://darkon-demo.herokuapp.com/
依赖项
Tensorflow>=1.3.0:https://github.com/tensorflow/tensorflow
安装
只安装 Darkon
pip install darkon
带有 TensorFlow CPU 的安装
pip install darkon[tensorflow]
带有 TensorFlow GPU 的安装
pip install darkon[tensorflow-gpu]
参考
[1] Cook, R. D. and Weisberg, S.「Residuals and influence in regression (https://www.casact.org/pubs/proceed/proceed94/94123.pdf)」, New York: Chapman and Hall, 1982
[2] Koh, P. W. and Liang, P.「Understanding Black-box Predictions via Influence Functions (https://arxiv.org/abs/1703.04730)」ICML2017
[3] Pearlmutter, B. A.「Fast exact multiplication by the hessian (http://www.bcl.hamilton.ie/~barak/papers/nc-hessian.pdf)」Neural Computation, 1994
[4] Agarwal, N., Bullins, B., and Hazan, E.「Second order stochastic optimization in linear time (https://arxiv.org/abs/1602.03943)」arXiv preprint arXiv:1602.03943
[5] Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, Dhruv Batra「Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization (https://arxiv.org/abs/1610.02391)」ICCV2017