论文笔记--A Fine-grained Interpretability Evaluation Benchmark for Neural NLP

1. 文章简介

  • 标题:A Fine-grained Interpretability Evaluation Benchmark for Neural NLP
  • 作者:Lijie Wang, Yaozong Shen, Shuyuan Peng, Shuai Zhang, Xinyan Xiao, Hao Liu, Hongxuan Tang, Ying Chen, Hua Wu, Haifeng Wang
  • 日期:2022
  • 期刊:arxiv preprint

2. 文章概括

  文章构建了一个新的benchmark用于评估神经网络等算法的可解释性。benchmark包括三种NLP任务:情感分析、文本相似度评估和阅读理解。和现有的一些benchmark相比,文章给出的benchmark覆盖了中、英文,且属于token水平的解释性评估,此外,该benchmark满足度量可解释性的benchmark的所有基本性质,即充分的、紧致的、全面的。

3 文章重点技术

3.1 数据收集

  文章考虑了中、英文的三种代表性的NLP任务:情感分析、文本相似度评估和阅读理解。

  • 情感分析(SA):从SST验证/测试集中随机获取1500个样本、从Movie Reviews测试集中随机获取400个样本构建英文评估集;从SA API随机获取60000个用户授权的日志,标注人员从中选择标注2000个构建中文评估集。
  • 语义相似度(STS):从QQP中随机选择2000个文本对构建英文评估集;从LCQMC中随机选择2000个文本对构建中文评估集。
  • 机器阅读理解(MRC):从SQUAD2.0中随机选择1500个问答对和500个没有回答的问题作为英文评估集;从DuReader中随机筛选1500个问答对和500个没有回答的问题作为中文评估集。

3.2 数据扰动

  为了评估模型的faithfulness(根因在多大程度上影响输出结果),文章希望度量相同的模型决策机制下,外界扰动对根因是否有影响。一个好的根因应该满足“当扰动发生时,根因和预测输出的变化是一致的(输出不变,则根因也不变)。
  文章从两个角度构建扰动:1) 扰动不影响根因和预测结果 2)扰动造成了根因的改变且可能会影响预测结果。基于这两个角度,文章定义了三种类型的扰动:

  • 可有可无的单词的改变:插入、删除、替换可有可无的单词应该对模型结果和根因没有影响。比如"what are some reasons to travel alone"修改为"List some reasons to travel alone".
  • 重要单词的改变:替换重要的单词为它们的同义词或者相关的单词,会对结果和根因造成影响。如"I dislike you"修改为"I hate you".
  • 同义变换:将句子的结构进行变换但不改变语义,此时模型的预测结果和根因都不发生改变。如"The customer commented the hotel"修改为"The hotel is commented by the customer".
      标注时,标注员会首先选定一种扰动类型,然后基于原句子构建一个该句子符合该扰动类别的实例和真实结果。

3.3 迭代标注和检查根因

  标记员会原始输入中对输入影响较大的tokens为根因(rationales)。一些研究认为,好的rationale应该满足以下三点

  • 充分性:包含足够的信息支撑人去做正确的预测
  • 紧致性:所有tokens都可以有效支撑预测,即移除任意一个token都无法做正确的预测
  • 全面性:所有可以支撑输出的tokens都在这个rationale中。
      基于上述原则,文章设计了下述工作流保证标注数据的质量:
  • step1:标注根因:普通的标记员根据输入、输出标记rationales
  • step2:根因打分:高级的标记员来对根因进行double-check。首先,标记员按照充分性对根因进行打分:不能支撑结果(1) 不确定(2) 可以支撑结果(3);然后标记员按照紧致性对根因进行打分:包含多余的tokens(1) 包含扰动(2) 不确定(3) 精准(4) ;最后标记员对每个输入的所有rationale sets的全面性进行打分:不全面(1) 不确定(2) 全面(3)。如果一个rationale在三个维度的得分低于给定阈值,则进入下一环节
  • step3: 根因修改:针对step2中产生的低质量的根因,标记人员会尝试重新修改根因,然后重新进行step2的打分环境。如果打分仍不满足要求,则直接放弃该case。
      如下表所示,相比于现存的评估集,按照上述三个步骤构建的评估集满足全部要求。
    properties

3.4 度量

  为了构建更合理地对模型表现进行度量,文章采用token-F1来度量可信度(plausibility),MAP来度量忠实度(faithfulness)

3.4.1 Token F1-score

  如下式定义,token F1-score用于计算token之间重叠的比例,用于评估可信度(模型给出根因和真实根因的对齐程度) T o k e n − F 1 = 1 N ∑ i = 1 N ( 2 × P i × R i P i + R i ) , w h e r e   P i = ∣ S i p ∩ S i g ∣ ∣ S i p ∣ ,   a n d   R i = ∣ S i p ∩ S i g ∣ ∣ S i g ∣ Token-F1 = \frac 1N \sum_{i=1}^N \left(2 \times \frac {P_i \times R_i}{P_i +R_i}\right), \\ where\ P_i = \frac {|S_i^p \cap S_i^g|}{|S_i^p|}, \ and \ R_i = \frac {|S_i^p \cap S_i^g|}{|S_i^g|} TokenF1=N1i=1N(2

### 基于类原型对比学习在多标签和细粒度教育视频分类中的应用 #### 类原型对比学习的核心概念 类原型对比学习是一种通过构建类别级别的代表性向量(即类原型),并利用这些原型之间的关系来进行特征学习的方法。这种方法能够有效捕捉类间差异以及类内一致性,从而提升模型的泛化能力[^1]。 具体而言,在多标签场景下,每个类别的原型可以通过该类别下的所有样本嵌入向量计算得到。通常采用均值池化的方式生成类原型 \( C_k \),其中 \( k \) 表示第 \( k \) 个类别: \[ C_k = \frac{1}{N_k} \sum_{i=1}^{N_k} f(x_i), \] 这里 \( N_k \) 是属于类别 \( k \) 的样本数量,\( f(x_i) \) 则是输入样本 \( x_i \) 经过编码器提取后的特征向量[^2]。 #### 对比损失函数的设计 为了实现更有效的特征表示学习,对比学习框架引入了一种特殊的损失函数——InfoNCE Loss (Information Noise Contrastive Estimation)。这种损失函数旨在最大化正样本对之间的相似性,同时最小化负样本对之间的相似性。对于给定查询样本 \( q \),其对应的正样本集合记作 \( P(q) \),而负样本集合则为 \( N(q) \),那么 InfoNCE Loss 可定义如下: \[ L_{contrastive}(q) = -\log \left( \frac{\exp(\text{sim}(q, p)/\tau)}{\sum_{n \in N(q)} \exp(\text{sim}(q,n)/\tau)+\sum_{p' \in P(q)} \exp(\text{sim}(q,p')/\tau)} \right). \] 这里的 \( \text{sim}() \) 函数通常是余弦相似度或者欧氏距离,参数 \( \tau \) 称为温度超参,控制分布的锐利程度。 #### 多标签与细粒度教育视频分类的应用挑战 当应用于多标签和细粒度教育视频分类时,主要面临以下几个方面的挑战: - **标签不平衡**:某些细粒度类别可能拥有远少于其他类别的标注数据,这会使得训练过程中难以形成可靠的类原型。 - **语义重叠**:不同类别之间可能存在较高的语义关联性,增加了区分难度。 - **时间依赖特性**:相比于静态图片,动态视频还包含了帧间的时间序列信息,这对建模提出了更高要求。 针对上述问题,可以考虑以下改进措施: 1. 引入自适应权重机制调整各类别的重要性; 2. 设计专门的模块捕获跨帧间的长期依赖关系,比如使用 LSTM 或 Transformer 结构; 3. 融合外部知识源辅助优化决策边界。 #### 实验验证与效果分析 实验表明,在多个公开基准数据集上,基于类原型对比学习的方法显著优于传统监督方法以及其他无监督预训练方案。特别是在低资源环境下,由于充分利用了有限样例内部的信息结构,性能优势更加明显。 ```python import torch.nn.functional as F def info_nce_loss(query_embeddings, positive_embeddings, negative_embeddings, temperature=0.5): """ Compute the contrastive loss using InfoNCE formulation. Args: query_embeddings (Tensor): Query embeddings of shape [batch_size, embedding_dim]. positive_embeddings (Tensor): Positive sample embeddings of same shape. negative_embeddings (Tensor): Negative samples with shape [num_negatives * batch_size, embedding_dim]. temperature (float): Temperature parameter controlling sharpness. Returns: Tensor: Scalar value representing computed loss. """ # Normalize all vectors to unit length queries_norm = F.normalize(query_embeddings, dim=-1) positives_norm = F.normalize(positive_embeddings, dim=-1) negatives_norm = F.normalize(negative_embeddings, dim=-1) logits_pos = torch.sum(queries_norm * positives_norm, dim=-1).unsqueeze(-1) / temperature logits_neg = torch.matmul(queries_norm.unsqueeze(1), negatives_norm.T.permute(0, 2, 1)) / temperature full_logits = torch.cat([logits_pos, logits_neg], dim=-1) labels = torch.zeros(full_logits.shape[:2]).to(logits_pos.device).long() return F.cross_entropy(full_logits.view(-1, full_logits.size(-1)), labels.view(-1)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值