token - BERT 代币与嵌入

标签 token bert-language-model embedding transformer-model

据我了解,WordPiece 用于将文本分解为标记。据我所知,在 BERT 的某个地方,模型将标记映射到代表标记含义的标记嵌入中。但我不明白的是这种情况发生在哪里。这一切都发生在变压器编码器中吗?或者是否有一个单独的“预编码器”在变压器编码器开始使用其注意方案更新嵌入之前将标记映射到嵌入中?

嗯,我主要只是尝试阅读有关 BERT 的内容。

最佳答案

在 BERT 以及大多数其他 NLP 深度学习模型中,从 token ID 到向量的转换是通过嵌入层完成的。例如,在 Pytorch 中它是 torch.nn.Embedding模块。

嵌入层用作查找表:它包含一个向量表,以便使用标记索引对此类表进行索引即可获得标记向量。嵌入层接收具有整数值的张量,并输出具有与输入的标记索引相关联的向量的张量。

在优化步骤期间,嵌入层内的查找表会像模型中的任何其他可训练参数一样进行更新。

嵌入层不是一个单独的东西,而是模型的一个组成部分。

请注意,嵌入层与用于将输入文本转换为标记索引的标记生成器耦合,因为标记生成器生成的标记索引用作嵌入层查找表的索引,因此它们必须匹配。

关于token - BERT 代币与嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77189885/

相关文章:

android - Mixpanel token 被曝光会有什么后果?

c# - 如何在没有用户名和密码但仅使用 token 的情况下访问 REST API 方法?

nlp - 句子编码和上下文词嵌入有什么区别?

python - 获取网络的前一个嵌入功能,但不起作用

go - 在 Go 中包装多个实现

javascript - 需要帮助尝试在 native react 中刷新我的 token

java - 使用 StringTokenizer 统计单词数和单词中的字符数

python - BertForSequenceClassification 如何在 CLS 向量上分类?

python - 从 BERT 获取嵌入查找结果

javascript - 一个嵌入代码/脚本的多个按钮