跳到主内容
快讯直播
AI智模界
AI 词典

权重绑定(Weight Tying):输入输出共用一本词典

一句话定义:权重绑定(Weight Tying,也叫 tied embeddings)是指模型里"把词变成向量"的那张表,和"把向量变回词"的那张表,用的是同一份参数。

原理拆开看

语言模型的基本动作是:读入一个词,预测下一个词。这两个动作各需要一张表:

  • 输入嵌入矩阵 E,形状是 V×d。V 是词表大小,d 是向量维度。第 i 行就是第 i 个词的向量。
  • 输出层矩阵 W,形状是 d×V。它把最后一层的隐藏向量 h 变成词表上每个词的分数,再经 softmax 得到概率。

两者的形状天然互为转置,所以可以让 W 直接等于 E 的转置。这就是权重绑定。

打个比方:这像一本双向词典。正着查"苹果"能查到它的含义坐标,反着查这个坐标能回到"苹果"。常规做法是编两本词典——一本汉英、一本英汉,各写各的。绑定相当于只用一本,正反两用:纸张省一半,而且绝不会出现两本对不上的情况。

为什么不只是省参数,还能训得更好

1. 参数量减半。嵌入层从 V×d 变成只有一份。词表 5 万、维度 768 时,省下约 3800 万个参数,在小模型里嵌入层占比很高,这笔省得很实在。

2. 梯度信号翻倍。一个词向量在"被读进来"和"被当成预测目标"两个时刻都会收到梯度,两路信息汇到同一个向量上。低频词本来见到的样本就少,这下能多拿一份监督,受益最明显。

3. 自带正则化。参数少了、约束强了,小数据上不容易过拟合。

4. 空间对齐。输入表示和输出表示落在同一个几何空间里,"意思相近的词向量更接近"这件事在两侧同时成立,语义结构更一致。

和相邻概念的区别

权重绑定不绑定
参数量V×d2×V×d
输入/输出空间共用一套各自独立
数据较少时通常更稳容易过拟合
大词表场景省显存输出层容量更大

容易混淆的两个:跨层参数共享(比如让每一层 Transformer 用同一套权重)是层与层之间共享,权重绑定是首尾两端共享,不是一回事;低秩分解是压缩单张大矩阵,思路不同。它和迁移学习、微调也没什么关系。

对从业者的意义

调模型时先看一眼配置里有没有 tie 这个开关(很多框架里叫 tie_word_embeddings)。词表特别大——多语言、代码语料——绑定的显存收益很直接;模型小、数据少,它常常还能顺带涨点。但如果输入和输出压根不是同一套词表(比如输入是文本、输出是分类标签),绑定就没有意义,因为两边的行根本对不上号。

对普通人,这类思路其实就是工程里的常识:一个数据源两边引用,永远比维护两份副本更省事、更不容易出错。

具体模型的默认设置与显存开销,以官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。