我有一个问题陈述,我想使用文本输入来预测多个连续输出。我尝试使用 HuggingFace 库中的“robertaforsequenceclassification”。但文档指出,当最后一层的输出数量超过 1 时,会自动使用交叉熵损失,如下所述:https://huggingface.co/transformers/v2.2.0/model_doc/bert.html#transformers.BertForSequenceClassification 。 但我想在最后一层有两个类的回归设置中使用 RMSE 损失。如何修改它?
最佳答案
BertForSequenceClassification
是一个包装 BERTModel
的小包装器。
它调用模型,获取池化输出(输出元组的第二个成员),并对其应用分类器。代码在这里https://github.com/huggingface/transformers/blob/master/src/transformers/modeling_bert.py#L1168
最简单的解决方案是编写您自己的简单包装类(基于 BertForSequenceClassification
类),它将执行回归,从而以您喜欢的损失进行回归。
关于pytorch - 如何使用 RoBERTa 执行多输出回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62255856/