推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能

项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4622139?contributionType=1fork一下,由于内容过多这里就不全部写出来了 。
前言TrustAI是集可信分析和增强于一体的可信AI工具集,助力NLP开发者提升深度学习模型效果和可信度 。在后续应用中,希望将TrustAI和智能标注以及模型构螺迭代打造持续学习链路 。

推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能

文章插图
  • 解决训练数据存在脏数据的问题
  • 解决训练数据覆盖不足的问题(稀疏数据)
  • 解决训练数据分布偏置的问题
  • 解决文本冗余导致精度下降的问题
相关文章参考:
AiTrust下预训练和小样本学习在中文医疗信息处理挑战榜CBLUE表现
注意上述项目中对训练过程一些参数做了简单调整如500steps保存一次模型等,而本项目为了快速实现效果展示就以epoch为保存最优模型单位 , 如果为追求更好性能请参考上述项目或者自己修正 。
项目参考:(更细算法原理请参考相关论文)https://github.com/PaddlePaddle/TrustAI
https://github.com/PaddlePaddle/TrustAI/blob/main/trustai/interpretation/token_level/README.md
https://github.com/PaddlePaddle/TrustAI/blob/main/trustai/interpretation/example_level/README.md
结果部分展示:
模型DuReader-robust devDuReader-robust Test【Zero shot】DuReader-checklist dev(Remove no answer)EMF1EMF1EMF1bert-base[官方数据]71.7085.4730.8053.14--roberta-base[复现]73.4886.9845.9769.4328.6650.47Selector-Predictor76.32(+2.84)89.03(+2.05)50.93(+4.96)72.22(+2.79)31.04(+2.33)53.29(+2.82)
推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能

文章插图
0.例证分析算法简介随着深度学习模型的越发复杂,人们很难去理解其内部的工作原理 。“黑盒”的可解释性正成为许多优秀研究者的焦点 。
通过这些非常有效的可解释性方法,人们可以更好知道模型为什么好,为什么不好,进而可以针对性提高模型性能 。
目前,可解释性研究领域缺乏一个用于评估解释方法的科学评估体系 。
对于ante-hoc可解释性而言,其评估挑战在于如何量化模型的内在解释能力 。
对于post-hoc可解释性而言,其评估挑战在于如何量化解释结果的保真度和一致性 。
0.1 实例级证据分析算法简介0.1.1 表示点方法(Representer Point)论文:NeurIPS 2018 Representer Point Selection:https://proceedings.neurips.cc/paper/2018/file/8a7129b8f3edd95b7d969dfc2c8e9d9d-Paper.pdf
这篇论文做的跟ICML 2017 best paper influence function那篇论文一样,想分析对于一个测试点来说,哪些训练样本对这个决策影响最大,包括positive(这里叫excitatory)和negative(这里叫inhibitory)的训练样本点 。方法上,这篇论文将输出层的margin(pre-activation prediction)分解成训练样本点的激活值的加权线性组合,这个权重叫做representer value,表达训练样本点对网络参数的影响 。文中主要claim的比influence function有优势的是计算效率 。
开源的代码里sklearn , tensorflow , pytorch都有用到 , 比较混乱 , 应用可能需要梳理这部分代码,从双方开源的代码看,该论文也借鉴了一部分influence function的代码,比如genericNeuralNet.py和genericNeuralNet.py 。论文中提出的方法需要一些fine-tune,预估到最后一层的输入值等额外的步骤,也给工程框架上带来一定的困难 。相比于文中3.2估计预估误差是对比预估输出和真实输出的差异,influence function是对比去掉该训练样本前后训练得到模型的loss 。输出对不同的训练样本的依赖可能有相关性,有可能当前模型比较依赖该训练样本,但不见得去掉该训练样本后,预测值有大的变化 。相比之下,去掉该样本重新训练模型得到的结论会更鲁棒一些 。这篇论文提出的方法相比influence function的主要优势是计算量小,但也有一些限制(L2或者fine-tune),可以用在对计算效率要求比较高的场景 。
开源代码:https://github.com/chihkuanyeh/Representer_Point_Selection
参考链接:https://zhuanlan.zhihu.com/p/114461143
0.1.2 基于梯度的相似度方法(Grad-Cosin, Grad-Dot)论文:Input Similarity from the Neural Network Perspective https://proceedings.neurips.cc/paper/2019/hash/c61f571dbd2fb949d3fe5ae1608dd48b-Abstract.html
https://proceedings.neurips.cc/paper/2019/file/c61f571dbd2fb949d3fe5ae1608dd48b-Paper.pdf
在许多应用中,了解模型做出特定预测的原因可能与预测的准确性一样重要 。然而,大型现代数据集的最高精度通常是通过甚至专家都难以解释的复杂模型来实现的,例如集成或深度学习模型,这在准确性和可解释性之间造成了矛盾 。作为回应,最近提出了各种方法来帮助用户解释复杂模型的预测,但通常不清楚这些方法是如何相关的,以及何时一种方法优于另一种方法 。为了解决这个问题,我们提出了一个解释预测的统一框架 , SHAP(SHapley Additive exPlanations) 。SHAP 为每个特征分配一个特定预测的重要性值 。其新颖的组件包括:(1) 识别一类新的加性特征重要性度量,以及 (2) 理论结果表明该类中存在一个具有一组理想属性的唯一解 。新类统一了六种现有方法,值得注意的是,该类中最近的几种方法缺乏建议的理想属性 。基于这种统一的见解,我们提出了新的方法,这些方法显示出比以前的方法更好的计算性能和/或与人类直觉更好的一致性 。

推荐阅读