第 88 题:ComiRec的多兴趣聚合,兴趣向量的自注意力池化?
题目
ComiRec的多兴趣聚合,兴趣向量的自注意力池化?
完整讲解
一、ComiRec 与多兴趣聚合
ComiRec(Controllable Multi-Interest Framework for Recommendation)也是多兴趣召回框架:从用户行为序列得到多个兴趣向量,再对这些兴趣做可控聚合(如根据目标物品或多样性需求选择/加权兴趣),用于召回或排序。多兴趣的生成与聚合是核心。
二、兴趣向量的自注意力池化
- 多兴趣生成:可用类似 MIND 的动态路由,或更简单的自注意力池化。自注意力池化:对行为序列 ${\boldsymbol{e}_1,\ldots,\boldsymbol{e}_n}$ 学习 $K$ 组注意力权重,每组得到一个兴趣向量:
\(\boldsymbol{v}_k = \sum_{i=1}^{n} a_{ki} \boldsymbol{e}_i,\quad a_{ki} = \frac{\exp(\boldsymbol{q}_k^\top \boldsymbol{e}_i)}{\sum_j \exp(\boldsymbol{q}_k^\top \boldsymbol{e}_j)}.\)
其中 $\boldsymbol{q}_k$ 为可学习的 query($K$ 个),每个 $\boldsymbol{q}_k$ 与行为做 attention 得到 $\boldsymbol{v}_k$,即 $K$ 个兴趣向量。无需迭代,一步得到多兴趣,实现比动态路由简单。
- 聚合:得到 $K$ 个兴趣后,与目标物品算相似度时可取 max、加权和、或根据目标物品对 $K$ 个兴趣再做一次 attention(target attention),得到单一用户表示再内积;ComiRec 强调「可控」,即可通过聚合策略调节多样性与准确性。
三、与 MIND 的对比
- MIND:动态路由(胶囊)、迭代更新兴趣;ComiRec:可用自注意力池化、一步得 $K$ 兴趣,并强调可控聚合(多样性等)。
- 自注意力池化参数量为 $K$ 个 query,计算一次 attention 即可,工程上更易实现与扩展。
面试要点
- 能说明 ComiRec:多兴趣召回 + 可控聚合;兴趣可由自注意力池化得到。
- 能写出自注意力池化:$K$ 个 query $\boldsymbol{q}k$,$\boldsymbol{v}_k = \sum_i a{ki} \boldsymbol{e}i$,$a{ki} = \text{softmax}(\boldsymbol{q}_k^\top \boldsymbol{e}_i)$,一步得 $K$ 个兴趣向量。
- 能对比 MIND:ComiRec 自注意力一步、可配合可控聚合(多样性等)。
记忆要点
- ComiRec:多兴趣 + 可控聚合;兴趣可来自自注意力池化。
- 自注意力池化:$K$ 个 query 与行为做 attention → $K$ 个兴趣向量,一步完成。
- 与 MIND:自注意力实现更简单;可控聚合可调多样性。