首页 > 解决方案 > 计算输入标记对 BERT(或其他分类器)输出概率的影响

问题描述

假设我已经训练了一个用于分类的 BERT 模型。我想计算每个输入标记对预测输出的比例影响。

例如 - 这是非常普遍的 - 如果我有一个模型将输入文本标记为{‘about dogs’ : 0, ‘about cats’ : 1},则以下输入语句: s = 'this is a sentence about a cat' 应该输出非常接近: 1

但是,我想要计算每个输入对最终预测的影响,例如(假设我们在单词级别上进行标记 - 我知道这在实践中不会这样做): {this : .01, is: .005, a : .02, sentence : .0003, about : [some other low prob], a: [another low prob], cat : 0.999999}

直觉上我认为这意味着对输入语句进行前向传递,然后查看反向传播值?但我不太确定你会怎么做。想法?

注意 假设一切都在 PyTorch 中实现。我目前的用例是 HuggingFace,但无论如何我还是想概括一下。

标签: pythonmachine-learningnlpclassificationhuggingface-transformers

解决方案


推荐阅读