Dual Conditional Diffusion for Generative Cross-Domain Recommendation via Disentangled Knowledge Transfer
IIT Guwahati × Meesho
把双目标跨域推荐里 CrossAug 式的“共享/私有表征线性拼接增强”换成条件扩散:以源域共享表征为条件,用去噪网络生成目标域共享表征,把跨域迁移建模为非线性的条件生成过程。训练上设计双路扩散目标,R→R 用真实目标表征做稳定对齐,R→A 用跨域拼接出的增强表征只当扩散目标(条件始终是真实表征),在 Amazon/Douban 多个域对上全面超过 CrossAug。
核心思路
双目标跨域推荐(dual-target CDR)希望借助重叠用户,在两个域同时提升效果。SIGIR 2024 的 CrossAug 把每个用户表征拆成共享与私有两部分,再把 X 域共享 + Y 域私有拼成”假想的 Y 域用户”做数据增强。本文认为这种线性拼接有三个问题:
- 语义无效:解耦不完美时,拼出来的向量可能落在合法用户表征流形之外;
- 噪声监督:对不连贯的增强表征仍套用 BPR 排序假设;
- 非线性不足:真实跨域偏好映射是高阶的,拼接表达不了。
DCD-XRec 的做法是把”跨域迁移”改写为条件生成:以用户在源域的共享表征为条件,用扩散去噪网络生成目标域的共享表征。增强样本保留,但只作为扩散的目标,条件始终使用真实表征。
整体实现思路
四个模块端到端联合训练:
- 每个域一个两层 LightGCN 式图编码器,重叠用户按交互比例做跨域融合;
- 共享的线性投影头 W_s / W_p 把表征拆成共享(64 维)与私有(64 维)两部分,推荐用两者拼接;
- 对重叠用户构造跨域增强表征(CrossAug 式拼接),只当扩散目标;
- 双向条件扩散(X→Y、Y→X),每个方向包含 R→R 和 R→A 两路噪声预测损失。
总损失:L = L_rec(BPR) + λ_diff · L_diff + λ_reg · L_reg,λ_diff=0.1,λ_reg=0.001。
子模块实现(可复现细节)
1. 图表征学习
域 A∈{X,Y} 的二部图上,第 l 层:
- 用户:
a_u = h_u + Σ_{i∈N_u} 1/sqrt(|N_u||N_i|) · (h_i + h_i ⊙ h_u),物品对称;在 LightGCN 基础上加了逐元素交互项; - 非重叠用户与所有物品:
h^{(l+1)} = a^{(l)}; - 重叠用户:
h_u^{X,(l+1)} = 1/2 · [(1+λ_u) a_u^X + (1−λ_u) a_u^Y],λ_u = |N_u^X| / (|N_u^X| + |N_u^Y|),Y 域对称; - 各层输出拼接成 (L+1)d 维,打分为内积
s_{u,i} = <h_u, h_i>。
2. 共享/私有分解
h_s = W_s h,h_p = W_p h,W_s∈R^{d_s×(L+1)d},W_p∈R^{d_p×(L+1)d},两个域共用同一组投影,以保持语义空间一致。论文强调它相对固定切分(hard slicing)的好处是可学习迁移方向,W_p 作为域内残差。推荐表征为 h_s ⊕ h_p。实验设置写的是 d=128 拆成 d_s=64、d_p=64,与 (L+1)d 的输入维度表述不完全一致(论文本身的含糊之处)。
3. 跨域增强目标
仅对重叠用户:h̃_u^Y = h_{u,s}^X ⊕ h_{u,p}^Y,h̃_u^X = h_{u,s}^Y ⊕ h_{u,p}^X。这些增强表征只作为扩散目标,条件永远是真实共享表征。
4. 条件扩散
- 前向:
x_t = sqrt(ᾱ_t) x_0 + sqrt(1−ᾱ_t) ε,T=100,β 线性从 1e-4 到 0.02; - 去噪器
ε_θ(x_t, t, c):两层 MLP,GELU,隐层 256;正弦时间编码加到输入;cross-attention 中 x_t 作为 query,条件 c 作为 key/value; - x_0 位于 d_s=64 维共享空间。
5. 双路扩散目标
以 X→Y 为例(重叠用户):
- R→R:
x_0 = h_{u,s}^Y,c = h_{u,s}^X,L_rr = E||ε − ε_θ(x_t^Y, t, h_{u,s}^X)||²; - R→A:
x_0 = W_c h̃_u^Y(W_c 为”共享空间投影”,论文未给维度,推断是把 128 维增强表征映射回 64 维),条件仍为真实h_{u,s}^X; L_diff = L_rr^{X→Y} + L_ra^{X→Y} + L_rr^{Y→X} + L_ra^{Y→X}。
6. 推荐损失与训练
BPR,每个域采 (u, i+, i−) 三元组,负样本随机采;L2 正则只加在第 0 层嵌入上。Adam,100 epoch,batch 1024,lr 0.001(Movie&Music)/0.0005(Cell&Elec),GCN dropout 0.3。复杂度 O(L(|E^X|+|E^Y|)d + T|U^O| d_h d_s),扩散只算重叠用户。推理时”迁移表征生成一次,再走内积排序”,但生成表征如何与 h_s⊕h_p 组合,正文没有说明。
实验设置与结果
数据:Amazon Review 2018 的 Movie&Music、Cell&Elec、Book&Movie、Book&Music;Douban 两个域对。评分≥4 作为正样本,5-core 过滤,留一法切分,每个测试正样本配 499 个负样本,指标为 HR@10、NDCG@10(%)。论文没有报告数据规模和重叠用户比例。
基线:LightGCN、DTCDR、DDTCDR、BiTGCF、DisenCDR、CrossAug。
Table 1:Amazon 两个域对(HR@10 / NDCG@10)
| 方法 | Movie HR | Movie NDCG | Music HR | Music NDCG | Cell HR | Cell NDCG | Elec HR | Elec NDCG |
|---|---|---|---|---|---|---|---|---|
| LightGCN | 37.66 | 23.94 | 30.20 | 18.51 | 24.61 | 15.35 | 23.89 | 14.73 |
| DTCDR | 41.55 | 25.52 | 30.45 | 17.13 | 19.81 | 10.58 | 23.39 | 12.16 |
| DDTCDR | 42.46 | 27.11 | 26.19 | 14.35 | 19.40 | 10.96 | 22.17 | 11.46 |
| BiTGCF | 49.09 | 37.13 | 41.85 | 29.31 | 32.90 | 21.97 | 33.53 | 22.41 |
| DisenCDR | 26.68 | 15.12 | 17.22 | 9.21 | 21.82 | 12.50 | 23.02 | 12.71 |
| CrossAug | 53.06 | 38.94 | 45.09 | 30.82 | 34.46 | 22.71 | 34.75 | 22.86 |
| DCD-XRec (R→R) | 51.08 | 38.03 | 44.52 | 30.02 | 34.26 | 23.04 | 33.99 | 23.87 |
| DCD-XRec (R→A) | 29.81 | 22.55 | 20.87 | 19.67 | – | – | – | – |
| DCD-XRec (Both) | 57.02 | 41.83 | 47.12 | 34.31 | 38.27 | 26.26 | 37.13 | 25.41 |
相对最强基线,四个域平均 HR@10 +7.47%、NDCG@10 +11.38%。
Table 2:Amazon 另外两个域对(仅与 CrossAug 比)
| 方法 | Book HR | Book NDCG | Movie HR | Movie NDCG | Book HR | Book NDCG | Music HR | Music NDCG |
|---|---|---|---|---|---|---|---|---|
| CrossAug | 59.27 | 36.54 | 42.16 | 29.36 | 60.77 | 38.44 | 44.62 | 31.53 |
| DCD-XRec | 61.11 | 39.29 | 45.99 | 32.10 | 63.37 | 41.81 | 46.49 | 34.79 |
(前四列为 Book&Movie,后四列为 Book&Music)
Table 3:Douban(仅与 CrossAug 比)
| 方法 | 对1-域1 HR | NDCG | 对1-域2 HR | NDCG | 对2-域1 HR | NDCG | 对2-域2 HR | NDCG |
|---|---|---|---|---|---|---|---|---|
| CrossAug | 51.18 | 31.24 | 70.41 | 45.28 | 58.38 | 36.26 | 41.87 | 24.89 |
| DCD-XRec | 53.96 | 35.07 | 73.83 | 47.75 | 59.19 | 39.12 | 44.65 | 26.74 |
表头为 “Book & Movie” 与 “Movie & Music”,正文却写 Book–Movie 与 Book–Music,域对命名不一致。
Table 4:消融(Movie & Music)
| R→R | R→A | Movie HR | Movie NDCG | Music HR | Music NDCG |
|---|---|---|---|---|---|
| ✓ | 51.08 | 38.03 | 44.52 | 30.02 | |
| ✓ | 29.81 | 22.55 | 20.87 | 19.67 | |
| ✓ | ✓ | 57.02 | 41.83 | 47.12 | 34.31 |
作者解读:只用 R→R 时 HR 略低于 CrossAug、NDCG 接近;只用 R→A 时大幅退化;两路结合最好,相当于”从真实到增强”的课程。
思考与可参考价值
值得借鉴的点
- “条件干净、目标可噪”是一条通用原则:增强或伪样本只放在监督目标一侧,输入条件始终用真实信号。电商 SID 生成里的跨体裁伪样本、MixID 混训中的视频→商品迁移都可以套这个结构。
- 扩散只作用在重叠用户的 64 维共享子空间上,训练开销和 LightGCN 同量级,推理不改动内积召回,工程侵入性低。
- 用”源域共享表征 → 目标域共享表征”的条件去噪替代线性映射(如 EMCDR 的 MLP 映射),理论上能表达一对多的跨域偏好分布。
需要警惕的点
- 扩散输出在推理时怎么用没写清。从损失结构看,扩散更像一个对共享子空间施加跨域一致性的正则项,算不上严格意义的”生成式推荐”(推断)。落地前要看开源代码 https://github.com/Arin13-03/DCD-XRec 确认推理链路。
- 仅 R→A 掉到比单域 LightGCN 还差很多(Movie HR 29.81 vs 37.66),说明增强目标的权重或质量稍有不当就会伤主任务;作者把原因归于”以增强表征为条件”,与方法定义里”条件始终真实”相矛盾。
- 增益归因不清:仅 R→R 不如 CrossAug,提升来自两路组合;缺少”无扩散、仅对增强目标做 MSE 对齐”的对照,无法确认扩散本身是必要的。
- 评估采用 1 正 + 499 负的采样协议,没有数据规模、多种子和显著性检验;Table 2/3 只比 CrossAug。在全量排序和低重叠率的真实电商场景下,增益幅度需要重新验证。
一句话判断:一篇思路清楚但实验与描述都较单薄的 RecSys 短文。可以借鉴的是”共享子空间条件扩散 + 增强样本只当目标”这个设计,增益数字需要谨慎看待。