当前位置:   article > 正文

Bert输入与输出_bert的输入和输出

bert的输入和输出
bert模型的输入

在这里插入图片描述
如图
上图显示的是BERT输入表示
总述:输入嵌入分别是token embeddings, segmentation embeddings 和position embeddings 的总和

BERT最主要的组成部分便是,词向量(token embeddings)、段向量(segment embeddings)、位置向量(position embeddings)

词向量:是模型中关于词最主要的信息
段向量:是因为BERT里面的下一句的预测任务,所以会有两句拼接起来,上句与下句,上句有上句段向量,下句则有下句段向量,也就是图中A与B。此外,句子末尾都有加[SEP]结尾符,两句拼接开头有[CLS]符
位置向量:是因为 Transformer 模型不能记住时序,所以人为加入表示位置的向量
之后这三个向量拼接起来的输入会喂入BERT模型,输出各个位置的表示向量

bert模型的输出

0、概述
想要获取获取bert模型的输出非常简单,使用 model.get_sequence_output()和model.get_pooled_output() 两个方法,但这两种方法针对NLP的任务需要进行一个选择

1、output_layer = model.get_sequence_output()
这个获取每个token的output 输出[batch_size, seq_length, embedding_size] 如果做seq2seq 或者ner 用这个

2、output_layer = model.get_pooled_output()
这个输出 是获取句子的output

3、注意
bert模型对输入的句子有一个最大长度,对于中文模型,我看到的是512个字。
当我们用model.get_sequence_output()获取每个单词的词向量的时候注意,头尾是[CLS]和[SEP]的向量。做NER或seq2seq的时候需要注意。

最近在做基于BERT的智能问答,所以对BERT进行了进一步的学习,将自己平时的学习的过程进行了简单的记录

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/342447?site
推荐阅读
相关标签
  

闽ICP备14008679号