Deep learning 如何使用伯特模型的输出?

Deep learning 如何使用伯特模型的输出?,deep-learning,nlp,bert-language-model,Deep Learning,Nlp,Bert Language Model,bert模型为我们提供了两个输出,一个为我们提供[batch,maxlen,hiddenstates],另一个为[batch,cls令牌的隐藏状态]。但我不明白何时使用特定的输出。有谁能告诉我哪个任务应该使用哪个输出吗?输出通常是[batch,maxlen,hidden_state],对于[CLS]令牌,它可以缩小为[batch,1,hidden_state],因为[CLS]令牌是序列中的第一个令牌。这里,[batch,1,hidden_state]可以等效地视为[batch,hidden_st

bert模型为我们提供了两个输出,一个为我们提供[batch,maxlen,hiddenstates],另一个为[batch,cls令牌的隐藏状态]。但我不明白何时使用特定的输出。有谁能告诉我哪个任务应该使用哪个输出吗?

输出通常是
[batch,maxlen,hidden_state]
,对于
[CLS]
令牌,它可以缩小为
[batch,1,hidden_state]
,因为
[CLS]
令牌是序列中的第一个令牌。这里,
[batch,1,hidden_state]
可以等效地视为
[batch,hidden_state]

由于BERT是基于转换器的上下文模型,其思想是
[CLS]
令牌将捕获整个上下文,并足以用于简单的下游任务,如分类。因此,对于使用句子表示的分类等任务,可以使用
[批处理,隐藏状态]
。但是,您也可以考虑<代码> [批处理,Max LIN,HIDDENYSTATE ] ,平均在代码> Max LIN <代码>维度,以获得平均嵌入。但是,某些顺序任务(如使用CNN或RNN进行分类)需要表示顺序,在此期间,您必须依赖
[批处理、最大化、隐藏状态]
。此外,还使用了一些训练目标,例如预测蒙面单词,或者对于1.1班(如伯特论文所示),整个嵌入序列
[批处理、最大化、隐藏状态]