话说多域推荐中一直存在这两个问题:
为解决上述问题,本文提出了HAMUR模型,它由两个部分组成: (1)域特定适配器,可以集成到各种现有的多域主干模型中,主要用于捕获域特定信息 (2)域共享超网络,它隐式捕获域之间的共享信息,并动态生成适配器的参数
主要过程是经过超网络来捕获域共享信息, 并降低域相互干扰的同时未后续域特定适配器生成对应的参数, 域适配器基于超网络生成的参数使得域d分支在考虑了共享信息的同时去捕获域d中的特定信息. 方法的设计不复杂, 详见第二部分.
如图所示是HAMUR方法的结构图,如导读中所述,主要是两个部分:域特定适配器单元和域共享超网络。
域特定适配器单元(图中黄色部分):为了捕捉域个性化,本文设计了瓶颈形状组件,除了从适配器的开始到结束建立的跳跃连接之外,它还包括四层,向下投影层、非线性层、向上投影层和域规范化层。
域共享超网络:为了解决域偏差的问题,本文提出了共享超网络,用于为域适配器生成参数。为了提高计算效率,采用了矩阵低秩分解方法,将目标矩阵分解为三个矩阵的乘积。超网络输入为具有域信息的实例(x, p) 并生成实例级域表征矩
,其中x是样本,p表示域索引。生成适配器参数的权重矩阵表示为
,
,
和
然后与矩阵相乘
,获得两个在域d的参数矩阵
和
, 这两个矩阵在后续用于域特定适配器进行映射.
正如前面所述,这里总共包含四层,向下映射层,非线性层,向上投影和域规范化层。向下映射和向上映射就是线性层,映射参数来自超网络,向下映射层的参数为
, 向上映射层的映射参数为
, 其中s远小于h. 非线性层为sigmoid函数. 域规范化层采用batch norm, 在多域CTR预测的情况下,数据分布在每个单独的域中是局部独立同分布的(IID)。因此,针对不同的域d需要采用单独的BN参数γ和β, 表达如下,
则域适配器层的整体表达为
域间共享超网络用于捕获不同域之间共享的隐含信息并动态生成参数, 同时为了提高目标矩阵的生成效率,采用低秩分解方法将目标矩阵分解为三个矩阵的乘积。在生成过程中,超网络只生成一个核心表达式矩阵
.
如前所述, 输入为(x, p), 则经过embedding层后, 一个batch的emb表达为下式,
batch中的每个emb输入超网络
, 得到一维的
, 对其reshape后得到对应的矩阵
.
为每个样本生成一个矩阵
后, 我们需要得到的是
和
, 因此利用前面说的四个W来计算, 具体表达如下,
image.png