HuggingFace BERT模型中,嵌入层权重后两个元素代表什么?
BERT输入Embedding层权重的5个元素解析
你通过embedding_layer.get_weights()获取的5个元素,具体含义如下:
- 第一个:Word Embedding权重矩阵,维度为
[vocab_size, hidden_size],对应词汇表中每个token的语义嵌入 - 第二个:Token Type Embedding权重矩阵,维度为
[type_vocab_size, hidden_size],用于区分输入中的不同文本片段(比如单句/句对任务里的两个句子) - 第三个:Positional Embedding权重矩阵,维度为
[max_position_embeddings, hidden_size],为每个位置的token注入位置信息 - 第四个:LayerNorm层的缩放参数(gamma),维度为
[hidden_size],对三个嵌入相加后的结果做归一化缩放 - 第五个:LayerNorm层的偏移参数(beta),维度为
[hidden_size],对归一化后的结果做偏移调整
BERT输入嵌入的完整计算流程是:三个基础嵌入相加后,先经过LayerNorm层(依赖上述两个参数),再通过Dropout处理,最终得到送入编码器的输入嵌入。因此LayerNorm的可训练参数会被包含在输入Embedding层的权重集合中。
内容的提问来源于stack exchange,提问作者Sirius Hou
相关产品推荐
相关产品推荐

