sgr-interview-300

第 39 题:InterHAt的层次化注意力,如何建模特征组的层级结构?

题目

InterHAt的层次化注意力,如何建模特征组的层级结构?


完整讲解

一、特征组的层级结构是什么

在推荐/CTR 里,特征常按语义分层:例如最底层是「原始特征」(年龄、性别、物品 ID、城市等),再往上是「特征组」或「field」(用户画像、物品属性、上下文),再往上可以是「模块级」(用户侧、物品侧、交叉侧)。层级结构指:组与组之间有包含或从属关系(如「用户画像」包含「年龄、性别」),或不同层级的抽象程度不同(底层细粒度、上层粗粒度),希望模型能同时利用「组内」和「组间」的关系。

二、InterHAt 的层次化注意力怎么建

InterHAt(Interpretable Hierarchical Attention)用多层注意力对应多层结构:

  1. 底层:特征级 attention。在每组(field)内部,对组内各特征的 embedding 做 self-attention 或类似聚合,得到「组表示」;同时得到组内每个特征的权重,表示该特征在组内的重要性
  2. 上层:组级 attention。把各组的表示当作新的一层「token」,再对这些组做 attention,得到「组与组」之间的权重和最终的组级聚合表示;表示哪些组之间、哪些组整体更重要
  3. 可有多层:若业务上还有更高层(如用户侧/物品侧),可再对「侧」做一层 attention,形成「特征 → 组 → 侧」的层级注意力。

这样,每一层 attention 负责一层结构:底层学组内关系,上层学组间关系,层级与 attention 的层级一一对应,既建模了特征组的层级,又便于可解释(每层可可视化权重)。

三、层级如何与网络结构对应

参数上,每层有各自的 $Q,K,V$ 或 scoring 网络;层级结构由「先组内、再组间」的拓扑固定,不是 DNN 那种「全连接层」的扁平结构,因此是显式的层次化建模

四、小结

InterHAt 通过「特征 → 组 → (可选)更高层」的逐层 attention,让每一层 attention 对应一层特征组层级,从而建模组内重要性与组间重要性,并保持可解释性。


面试要点


记忆要点

返回模块 返回总览