1 研究背景与动机¶
生成式推荐 (Generative Recommendation) 采用两阶段流水线:可学习 tokenizer(如 RQ-VAE)将物品映射为离散 token 序列(标识符),自回归生成式推荐模型 (GRM) 基于这些标识符进行预测。近期工作将协同过滤信号(collaborative filtering signals)注入 tokenizer,使行为相似的物品获得相似编码,显著提升推荐质量。
然而,真实系统中物品不断涌入、用户交互持续演变,带来两大挑战:
- 标识符碰撞与偏移:tokenizer 未见过新物品,导致新物品与已有物品共用编码
- 协同漂移 (Collaborative Drift):已有物品的共现模式和流行度随时间变化(例如圣诞节前 LED 灯带与圣诞树从长尾变为热门并频繁共现),若 token 不更新则无法反映最新协同特征
完全重训 tokenizer + GRM 成本极高;朴素微调 tokenizer 则会导致超过 90% 已有物品的 token 序列发生变化,破坏 GRM 已学到的 token-embedding 对齐关系。
核心问题:如何在持续学习场景下,准确识别发生协同漂移的物品子集并选择性地更新其编码,同时严格约束稳定物品的编码不变?
2 DACT 框架¶
DACT (Drift-Aware Continual Tokenization) 分为两个阶段:
2.1 前置知识¶
RQ-VAE Tokenizer:$L$ 层残差量化 VAE。对物品 $i$,提取语义嵌入 $\mathbf{z}_i \in \mathbb{R}^d$,经编码器得到潜在表示 $\mathbf{r}_i = \text{Encoder}(\mathbf{z}_i)$。逐层查找最近码本向量:
$$p(m \mid \mathbf{v}_{i,l}) = \frac{\exp(-\|\mathbf{v}_{i,l} - \mathbf{e}_m^l\|^2/T)}{\sum_{j=1}^{M} \exp(-\|\mathbf{v}_{i,l} - \mathbf{e}_j^l\|^2/T)}$$
$$c_{i,l} = \arg\max_m p(m \mid \mathbf{v}_{i,l}), \quad \mathbf{v}_{i,l+1} = \mathbf{v}_{i,l} - \mathbf{e}_{c_{i,l}}^l$$
其中 $\mathbf{v}_{i,1} = \mathbf{r}_i$。物品 token 序列 $\mathbf{c}_i = [c_{i,1}, \ldots, c_{i,L}]$,量化嵌入 $\hat{\mathbf{r}}_i = \sum_{l=1}^{L} \mathbf{e}_{c_{i,l}}^l$。
训练损失包含重建损失 $\mathcal{L}_\text{recon} = \|\mathbf{z}_i - \hat{\mathbf{z}}_i\|^2$、量化损失 $\mathcal{L}_\text{RQ}$ 和协同对齐损失 $\mathcal{L}_\text{cf}$:
$$\mathcal{L}_\text{cf} = -\log \frac{\exp(\text{sim}(\hat{\mathbf{r}}_i, \mathbf{h}_i))}{\sum_{j \in \mathcal{B}} \exp(\text{sim}(\hat{\mathbf{r}}_j, \mathbf{h}_j))}$$
其中 $\mathbf{h}_i$ 为来自预训练 CF 模型(如 SASRec、LightGCN)的协同嵌入。
GRM:自回归地预测下一个 token,最小化负对数似然 $\mathcal{L}_\text{NLL}$。
2.2 Stage 1: 漂移感知 Tokenizer 自适应¶
2.2.1 协同漂移识别模块 (CDIM)¶
CDIM 与 tokenizer 联合端到端训练,仅在训练时使用(推理时不需要)。核心功能是为每个物品输出一个漂移置信度 $d_i$。
模式记忆 (Pattern Memory):维护两组可学习 slot:key slots $\mathbf{K} \in \mathbb{R}^{S \times D}$(漂移模式)和 value slots $\mathbf{V} \in \mathbb{R}^{S \times D}$(更新策略原型)。$p \gt 1$ 时从上一期加载 $\{\mathbf{K}^{p-1}, \mathbf{V}^{p-1}\}$ 热启动。
查询构造:对物品 $i$,构建查询向量:
$$\mathbf{s}_i^{p-1} = \mathbf{r}_i^{p-1} \odot \mathbf{h}_i^p, \quad \mathbf{s}_i^p = \hat{\mathbf{r}}_i^p \odot \mathbf{h}_i^p, \quad \Delta\hat{\mathbf{r}}_i^p = \hat{\mathbf{r}}_i^p - \mathbf{r}_i^{p-1}$$
$$\mathbf{q}_i = \text{concat}\left[\mathbf{s}_i^{p-1}, \mathbf{s}_i^p, \Delta\hat{\mathbf{r}}_i^p\right]$$
其中 $\mathbf{r}_i^{p-1}$ 为上期潜在表示,$\hat{\mathbf{r}}_i^p$ 为当前训练中的表示(stop gradient),$\mathbf{h}_i^p$ 为当前期 CF 嵌入。
模式匹配与置信度预测:
$$\boldsymbol{\alpha}_i = \text{Softmax}\left(\frac{\mathbf{q}_i \mathbf{K}^\top}{\tau}\right), \quad d_i = \sigma(MLP(\boldsymbol{\alpha}_i, \mathbf{V}))$$
$d_i$ 越高表示物品越可能发生漂移。添加正则项防止平凡解:$\mathcal{L}_\text{reg} = \frac{1}{|\mathcal{I}|} \sum_{i \in \mathcal{I}} d_i^2$。
2.2.2 差异化更新策略¶
根据 $d_i$ 选取 top-$K$ 比例物品为漂移集 $\mathcal{I}_d$,其余为稳定集 $\mathcal{I}_s$:
$$\mathcal{I}_d = \arg\text{topK}_{i \in \mathcal{I}} \; d_i, \quad \mathcal{I}_s = \mathcal{I} \setminus \mathcal{I}_d$$
漂移物品 ($\mathcal{I}_d$):鼓励自由适应最新协同信号:
$$\mathcal{L}_\text{drift} = \frac{1}{|\mathcal{I}_d|} \sum_{i \in \mathcal{I}_d} \left(\mathcal{L}_\text{RQ-VAE}(i) + \lambda \, \mathcal{L}_\text{cf}(i)\right)$$
稳定物品 ($\mathcal{I}_s$):引入锚定正则化保持潜在表示稳定:
$$\mathcal{L}_\text{anchor}(i) = \left\|\mathbf{r}_i^p - \mathbf{r}_i^{p-1}\right\|^2, \quad i \in \mathcal{I}_s$$
$$\mathcal{L}_\text{stable} = \frac{1}{|\mathcal{I}_s|} \sum_{i \in \mathcal{I}_s} \left(\mathcal{L}_\text{RQ-VAE}(i) + \alpha \, \mathcal{L}_\text{anchor}(i) + \lambda \, \mathcal{L}_\text{cf}(i)\right)$$
2.2.3 全局编码分配稳定性约束¶
对第一层码本,正则化所有物品的分配分布变化:
$$\mathbf{p}_{i,1} = \left[p(1 \mid \mathbf{v}_{i,1}), \ldots, p(M \mid \mathbf{v}_{i,1})\right] \in \mathbb{R}^M$$
$$\mathcal{L}_\text{global} = \frac{1}{|\mathcal{I}|} \sum_{i \in \mathcal{I}} D_\text{KL}\left(\mathbf{p}_{i,1}^{p-1} \| \mathbf{p}_{i,1}^p\right)$$
仅对第一层施加,因深层残差更敏感于量化噪声,由 Stage 2 的分层策略控制。
总体目标:
$$\mathcal{L}_\text{Tokenizer} = \mathcal{L}_\text{drift} + \theta \, \mathcal{L}_\text{stable} + \beta \, \mathcal{L}_\text{global} + \zeta \, \mathcal{L}_\text{reg}$$
2.3 Stage 2: 分层编码重分配¶
基于 RQ-VAE 的残差量化特性(深层码本编码越来越细粒度的残差),采用 relaxed-to-strict 策略:
Layer 1 (主动适应):始终用微调后的 tokenizer 推理重分配:
$$c_{i,1}^p \leftarrow \arg\max_k p(k \mid \mathbf{v}_{i,1}^p), \quad \text{where } \mathbf{v}_{i,1}^p = \mathbf{r}_i^p$$
第一层 token 捕捉主要语义簇,任何变化都意味着显著的协同漂移。
深层 ($l \geq 2$, 条件稳定):仅当第一层编码发生变化时 ($c_{i,1}^p \neq c_{i,1}^{p-1}$) 才触发深层重分配;否则强制保持不变 $c_{i,l}^p \leftarrow c_{i,l}^{p-1}$。这一设计过滤掉潜在空间中的微小波动,稳定大多数标识符。
重分配完成后,用更新的 token 序列作为物品标识符,微调 GRM。
3 实验¶
3.1 实验设置¶
数据集:Amazon 三个域(Beauty, Tools, Toys),过滤交互少于 5 次的用户和物品。
| Dataset | #Users | #Items | #Interactions | Sparsity |
|---|---|---|---|---|
| Beauty | 22,363 | 12,101 | 198,502 | 99.927% |
| Tools | 16,638 | 10,217 | 134,476 | 99.921% |
| Toys | 19,412 | 11,924 | 167,597 | 99.928% |
时间划分:$\mathcal{D}_0$ (P0) 前 60% 交互用于预训练,$\mathcal{D}_1$-$\mathcal{D}_4$ (P1-P4) 平分剩余 40% 用于持续更新。采用 leave-one-out 评估。
GRM 骨干:
- TIGER:T5-based encoder-decoder 架构
- LCRec:Qwen2.5-1.5B-Instruct 初始化的 decoder-only LLM,使用 LoRA 微调
Baseline(以 Tok. / GRM 是否微调组合):
- Frozen / Frozen (x/x)
- FT Tok. / Frozen (FT/x)
- Frozen / FT GRM (x/FT)
- Both FT (FT/FT)
- Both FT + Retrain GRM (FT/RT)(仅 TIGER)
- Reformer:仅给新物品分配编码,保持旧物品不变
- LSAT:双 LoRA 模块,分别捕捉长短期偏好(仅 LCRec)
- PESO:LoRA 更新加近端正则化(仅 LCRec)
Tokenizer 配置:3 层 RQ-VAE,码本大小 256,嵌入维度 32。
评估指标:HR@k 和 NDCG@k,$k = 5, 10$。
3.2 TIGER 骨干上的整体性能 (Table 2)¶
| Dataset | Method | P1 H@5 | P1 H@10 | P1 N@5 | P1 N@10 | P4 H@5 | P4 H@10 | P4 N@5 | P4 N@10 |
|---|---|---|---|---|---|---|---|---|---|
| Beauty | x/x | 0.0279 | 0.0443 | 0.0151 | 0.0192 | 0.0147 | 0.0223 | 0.0070 | 0.0089 |
| Beauty | FT/x | 0.0065 | 0.0104 | 0.0035 | 0.0045 | 0.0041 | 0.0092 | 0.0019 | 0.0031 |
| Beauty | x/FT | 0.0274 | 0.0469 | 0.0162 | 0.0226 | 0.0336 | 0.0514 | 0.0207 | 0.0265 |
| Beauty | FT/FT | 0.0270 | 0.0483 | 0.0169 | 0.0237 | 0.0316 | 0.0575 | 0.0205 | 0.0288 |
| Beauty | FT/RT | 0.0253 | 0.0401 | 0.0156 | 0.0203 | 0.0321 | 0.0534 | 0.0198 | 0.0267 |
| Beauty | Reformer | 0.0285 | 0.0483 | 0.0171 | 0.0235 | 0.0285 | 0.0515 | 0.0189 | 0.0263 |
| Beauty | DACT | 0.0299 | 0.0531 | 0.0191 | 0.0266 | 0.0368 | 0.0609 | 0.0228 | 0.0305 |
| Tools | x/x | 0.0201 | 0.0283 | 0.0103 | 0.0123 | 0.0128 | 0.0191 | 0.0069 | 0.0084 |
| Tools | FT/FT | 0.0192 | 0.0347 | 0.0131 | 0.0164 | 0.0205 | 0.0317 | 0.0130 | 0.0166 |
| Tools | DACT | 0.0239 | 0.0414 | 0.0153 | 0.0201 | 0.0205 | 0.0314 | 0.0124 | 0.0158 |
| Toys | x/x | 0.0184 | 0.0303 | 0.0101 | 0.0132 | 0.0132 | 0.0250 | 0.0070 | 0.0010 |
| Toys | FT/FT | 0.0176 | 0.0305 | 0.0117 | 0.0159 | 0.0262 | 0.0430 | 0.0169 | 0.0223 |
| Toys | DACT | 0.0208 | 0.0353 | 0.0140 | 0.0186 | 0.0269 | 0.0455 | 0.0179 | 0.0239 |
实验结论:
- 冻结 Tok. + GRM 导致性能从 P1 到 P4 持续下降,确认协同漂移导致的退化
- 仅微调 Tokenizer (FT/x) 性能急剧下降,因大规模 token 重分配破坏了 GRM 的 token-embedding 对齐
- 同时增量更新 Tok. + GRM (FT/FT) 通常优于仅更新 GRM (x/FT)
- Reformer 在早期有竞争力(仅处理新物品),但后期因忽略已有物品的协同漂移而落后
- DACT 在三个数据集上始终取得最优或接近最优性能,通过选择性更新漂移物品 + 约束稳定物品实现最佳平衡
3.3 LCRec 骨干上的整体性能 (Table 3)¶
| Dataset | Method | P1 H@5 | P1 H@10 | P1 N@5 | P1 N@10 | P4 H@5 | P4 H@10 | P4 N@5 | P4 N@10 |
|---|---|---|---|---|---|---|---|---|---|
| Beauty | x/x | 0.0136 | 0.0237 | 0.0080 | 0.0112 | 0.0079 | 0.0141 | 0.0050 | 0.0069 |
| Beauty | FT/FT | 0.0229 | 0.0420 | 0.0139 | 0.0200 | 0.0319 | 0.0545 | 0.0194 | 0.0267 |
| Beauty | LSAT | 0.0177 | 0.0294 | 0.0109 | 0.0147 | 0.0172 | 0.0314 | 0.0110 | 0.0155 |
| Beauty | PESO | 0.0183 | 0.0351 | 0.0110 | 0.0163 | 0.0214 | 0.0362 | 0.0125 | 0.0172 |
| Beauty | Reformer | 0.0215 | 0.0428 | 0.0119 | 0.0187 | 0.0272 | 0.0455 | 0.0166 | 0.0224 |
| Beauty | DACT | 0.0262 | 0.0477 | 0.0157 | 0.0225 | 0.0300 | 0.0576 | 0.0189 | 0.0279 |
| Tools | x/x | 0.0125 | 0.0207 | 0.0082 | 0.0108 | 0.0109 | 0.0173 | 0.0068 | 0.0089 |
| Tools | FT/FT | 0.0214 | 0.0310 | 0.0134 | 0.0165 | 0.0214 | 0.0360 | 0.0134 | 0.0181 |
| Tools | DACT | 0.0226 | 0.0364 | 0.0152 | 0.0196 | 0.0246 | 0.0355 | 0.0147 | 0.0181 |
实验结论:
- 在 LLM-based GRM (LCRec) 上同样观察到冻结导致的持续退化
- Reformer 在 LCRec 上退化更快,可能因为 LLM-based GRM 更容易过拟合 token 序列中编码的协同语义
- LSAT 和 PESO 仅微调 GRM(冻结 tokenizer),在早期可能优于仅微调 GRM,但随着漂移累积优势减弱
- DACT 在 LCRec 上也始终达到或超越所有 baseline
3.4 消融实验 (RQ2, Tools + TIGER)¶
在 Tools 数据集上,以 FT Tok. + FT GRM 为参考,逐步移除 DACT 组件:
- w/o CDIM:移除 CDIM,随机选择漂移物品 -> 性能大幅下降,说明准确的漂移识别至关重要
- w/o Diff:移除差异化更新策略 -> 性能下降,说明对漂移/稳定物品的区分对待必要
- w/o Global:移除全局编码分配稳定性约束 -> 性能下降,该约束与差异化策略互补
- w/o Re-assign:移除分层编码重分配 -> 性能下降,确认分层重分配的价值
所有组件缺一不可,DACT 完整版达到最佳性能。
3.5 进一步分析¶
可塑性分析 (Figure 4):测量量化嵌入与当前 CF 嵌入的余弦相似度。冻结 tokenizer 的相似度随时间持续下降,而 DACT 保持相对稳定的高相似度,说明 DACT 能有效适应协同漂移。
稳定性分析 (Table 4, Tools):
| Method | Layer 1 | Layer 2 | Layer 3 | Overall |
|---|---|---|---|---|
| Fine-tuning | 0.7052 | 0.9696 | 0.9892 | 0.9999 |
| DACT (K=0.1) | 0.1331 | 0.1237 | 0.1300 | 0.1331 |
| DACT (K=0.3) | 0.2975 | 0.2812 | 0.2918 | 0.2975 |
| DACT (K=0.7) | 0.4592 | 0.4435 | 0.4524 | 0.4592 |
朴素微调导致几乎所有物品的编码发生变化(Overall 0.9999),而 DACT 将变化率大幅降低(K=0.3 时 Overall 仅 0.2975)。
Warm/Cold 物品分析 (Figure 6):DACT 在 warm 和 cold 物品上均表现最优。Reformer 在 cold 物品上有优势但 warm 物品上不足;Both FT 在 warm 物品上有竞争力但 cold 物品上不如 Reformer。
超参数分析 (Figure 7, Tools + TIGER):
- $\alpha$: 锚定强度,最优 $\alpha = 0.1$
- $\beta$: 全局约束强度,最优 $\beta = 5$
- $T$: 全局损失温度,最优 $T = 1$
- $\tau$: CDIM 注意力温度,过大会削弱漂移区分能力
- $K$: 漂移比例,最优 $K = 0.3$,极端值(0.1 或 0.9)导致退化
训练效率 (Figure 8):以仅微调 GRM 为基准 (1.0),DACT 的训练时间比约 1.5-2x,显著低于 FT Tok. + RT GRM(约 4-6x),在效率与效果之间取得良好平衡。
4 总结与评价¶
核心贡献: 1. 首次系统研究生成式推荐中协同感知 tokenizer 的持续学习问题,明确提出"漂移感知选择性适应"的范式 2. 提出 CDIM 模块实现端到端的逐物品漂移检测,配合差异化训练策略 3. 分层编码重分配策略(relaxed-to-strict)有效平衡稳定性与可塑性
优点:
- 问题定义清晰,动机充分(圣诞树例子直观)
- 方法设计合理,CDIM 的模式记忆机制可跨期积累漂移模式
- 实验全面,两种不同架构的 GRM(encoder-decoder T5 和 decoder-only LLM),三个数据集,多种 baseline
- 消融实验和分析详尽
不足:
- 数据集规模较小(万级物品),工业级场景(百万级物品)的可扩展性未验证
- 漂移比例 $K$ 是全局固定超参数,不同时期的最优漂移比例可能不同
- 仅在 Amazon 域内实验,跨域泛化性未验证
- 分层重分配策略中"第一层变才触发深层变"的硬规则可能过于保守