标准回答
做法
语言模型有两处大矩阵:输入的词嵌入 E(形状 V×d,把 token 映射为向量)和输出 softmax 前的投影 W(形状 d×V,把隐状态映射为各词的 logits)。Weight Tying 让这两者共享同一份权重——令 W = Eᵀ,只维护一份参数。
为什么有效
一是省参数:词表 V 动辄数万到十万,两块各 V×d 的矩阵在中小模型里能占很大比例,绑定后直接省掉一块,降低显存与过拟合风险。二是正则与一致性:输入端「词→向量」和输出端「向量→对该词打分」本质共享同一语义空间,绑定迫使二者一致,相当于结构性正则,在多数语言模型上能降低困惑度。
适用
是 Transformer 语言模型的常见配置(如 GPT 系列)。前提是输入/输出词表相同、嵌入维度与隐状态维度一致(否则需加投影)。
常见误区
⚠️ 常见踩坑
以为绑定只是省参数的小技巧——它同时是有效的正则手段,常能提升而非仅维持语言模型质量;但要求输入输出词表与维度匹配,机器翻译等输入输出词表不同的场景需谨慎处理。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。