首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Huggingface BERT模型之上添加LSTM层

如何在Huggingface BERT模型之上添加LSTM层
EN

Stack Overflow用户
提问于 2021-01-18 00:58:08
回答 1查看 1.3K关注 0票数 1

我正在做一个二进制分类任务,我想尝试在huggingface BERT模型的最后一个隐藏层之上添加lstm层,但是,我无法到达最后一个隐藏层。有没有可能将BERT与LSTM结合起来?

代码语言:javascript
运行
复制
tokenizer = BertTokenizer.from_pretrained(model_path)
tain_inputs, train_labels, train_masks = data_prepare_BERT(
    train_file, lab2ind, tokenizer, content_col, label_col, 
    max_seq_length)
validation_inputs, validation_labels, validation_masks = data_prepare_BERT(
    dev_file, lab2ind, tokenizer, content_col, label_col,max_seq_length)

# Load BertForSequenceClassification, the pretrained BERT model with a single linear classification layer on top.
model = BertForSequenceClassification.from_pretrained(
    model_path, num_labels=len(lab2ind))
EN

回答 1

Stack Overflow用户

发布于 2021-01-18 20:43:58

的确,这是可能的,但您需要自己实现它。BertForSequenceClassification类是BertModel的包装器。它运行模型,获取与[CLS]标记相对应的隐藏状态,并在此基础上应用分类器。

在您的示例中,您可以将类作为起点,并在BertModel和分类器之间添加一个LSTM层。BertModel在元组中返回用于分类的隐藏状态和池化状态。只需获取原始类中使用的其他元组成员即可。

虽然这在技术上是可行的,但与使用BertForSequenceClassification相比,我希望获得任何性能上的提升。Transformer层的微调可以学习额外的LSTM层能够学习到的任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65763465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档