标准回答
问题:用户历史行为很丰富,但对某个具体候选广告,只有部分历史是相关的。传统做法对行为序列做 sum/average pooling 得到固定用户向量,无论推什么都一样,无法表达「兴趣的多样性与局部相关性」。
DIN 的局部激活(Local Activation):以候选广告作为 query,对用户历史行为序列中的每个物品计算注意力权重(activation unit),再做加权求和得到用户兴趣向量。这样推不同候选时,被「激活」的历史行为不同——推手机时手机相关行为权重高,推衣服时衣服相关行为权重高,用户表示随候选动态变化。
DIEN 的兴趣演化:DIN 没有显式建模兴趣的时间演化。DIEN 增加两层:兴趣抽取层用 GRU 从行为序列抽取每一步的潜在兴趣,兴趣演化层用带注意力的 AUGRU 建模兴趣随时间的迁移,更好捕捉「兴趣漂移」。
二者都是阿里在 CTR 预估精排阶段的代表性序列建模工作。
常见误区
⚠️ 常见踩坑
DIN 的注意力 query 是「候选广告」而非用户自身;它解决的是「历史行为对当前候选的相关性加权」,不是普通自注意力。漏掉「随候选动态变化」就答错了核心。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。