在prompt learning中,对于一个类别的多个候选词,损失函数通常会计算所有词的logit和,并与真实标签作比较。以情感分类为例:
- 假设正面类别有两个候选词:“positive”和“optimistic”。负面类别有两个候选词:“negative”和“pessimistic”。
- 然后模型会计算四个词的logit:logit_positive, logit_optimistic, logit_negative, logit_pessimistic。
- 如果真实标签是正面,则计算总的正面logit: logit_positive + logit_optimistic。如果这个总logit大于负面总logit logit_negative + logit_pessimistic,则视为正确分类。
- 如果分类错误,则使用交叉熵损失函数计算四个词的损失,并 backpropagate。
所以简而言之,prompt learning在一类里有多个候选词的情况下,会将这些词的logit加总,并与其他类别的logit总和比较,以进行分类和计算损失。这相当于在训练的时候,多个候选词代表同一个意思,模型需要学会将它们的logit加总以表示这个意思。
该方法有一个好处是可以让模型在推理时选择最匹配的那个候选词,而不局限于训练数据中出现过的候选词。但同时也增加了一定的难度,模型需要理解不同的词在表达同一个意思。但随着训练,模型可以逐渐学会こ这一点。
标签:logit,prompt,learning,候选词,损失,计算 From: https://www.cnblogs.com/douzujun/p/17380186.html