据我了解,WordPiece 用于将文本分解为标记。据我所知,在 BERT 的某个地方,模型将标记映射到代表标记含义的标记嵌入中。但我不明白的是这种情况发生在哪里。这一切都发生在变压器编码器中吗?或者是否有一个单独的“预编码器”在变压器编码器开始使用其注意方案更新嵌入之前将标记映射到嵌入中?
嗯,我主要只是尝试阅读有关 BERT 的内容。
最佳答案
在 BERT 以及大多数其他 NLP 深度学习模型中,从 token ID 到向量的转换是通过嵌入层完成的。例如,在 Pytorch 中它是 torch.nn.Embedding
模块。
嵌入层用作查找表:它包含一个向量表,以便使用标记索引对此类表进行索引即可获得标记向量。嵌入层接收具有整数值的张量,并输出具有与输入的标记索引相关联的向量的张量。
在优化步骤期间,嵌入层内的查找表会像模型中的任何其他可训练参数一样进行更新。
嵌入层不是一个单独的东西,而是模型的一个组成部分。
请注意,嵌入层与用于将输入文本转换为标记索引的标记生成器耦合,因为标记生成器生成的标记索引用作嵌入层查找表的索引,因此它们必须匹配。
关于token - BERT 代币与嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77189885/