APG: Adaptive Parameter Generation Network for Click-Through Rate Prediction
1. 摘要
目前基于深度学习的CTR预估模型被广泛的应用于各个应用中。传统的 Deep CTR Models 的学习模式是相对静态的,即所有的样本共享相同的网络参数。然而,由于不同样本的特征分布不尽相同,这样一种静态方式很难刻画出不同样本的特性,从而限制了模型的表达能力,导致次优解。在本文中,作者提出了一个高性能、高效果的通用模块,称为自适应参数生成网络(APG)。其可以基于不同的样本,动态的为CTR模型生成不同的模型参数。大量的实验表明,APG 能够被应用于各种 CTR 模型,并且显著的提升模型效果,同时能节省38.7%的时间开销和96.6%的存储。APG 已在阿里巴巴搜索广告系统部署上线,并获得3%的点击率增长和1%的广告收入增长。目前,该工作已被NeurIPS2022接收。
论文:APG: Adaptive Parameter Generation Network for Click-Through Rate Prediction
下载:arxiv.org/abs/2203.16…
2. 动机和挑战
-
在电子商务中,不同用户的行为模式Patern&分布差异巨大;
-
传统模型:不同的实例共用一套参数,导致表达受限。传统的粗粒度建模:
①以STAR为代表的multi-domain模式:统一Global参数学习共享知识;各个domain域Local参数学习各自域的特有知识;但是它无法友好的扩展到细粒度,比如userId/ItemId/三级类别等。存储消耗过大且缺乏灵活性和可扩展性。
②以MMoE/PLE为代表的multi-task模式:人工指定下层参数共享,上层Tower独立的方式;同样存在无法友好的扩展到细粒度,存储消耗过大且缺乏灵活性和可扩展性。这样的设计不能充分利用标签空间中的共同知识 -
APG: 深度CTR模型的参数是根据不同的实例动态实时生成的
3. 模型:APG(Adaptive Parameter Generation)
①提出了一种新的学习模式,该模式的参数是输入感知的,并且是动态生成的,以提高表示能力。
②提出了一种高效的自适应参数生成算法。一方面,提出了低秩参数化分解前馈Low-rank parameterization decomposed Feed-forwarding,大大降低了内存和计算量;另一方面,提出了共享参数param sharing和过度参数化over parameterization 的设计,以有效地捕获自定义和通用模式。
上图中的样本的特有参数基于状态向量Zi生成,模型参数生成如何保证高效性和有效性呢?接下来的2Part进行分别的介绍。
3.1 状态(condition)向量设计
共三种设计方式,生成状态Zi,不同的状态向量生成策略从实验结果看各有好坏,实际应用中可以灵活选择:
- Group-wise: 基于一定的先验规则对样本进行聚类,同一类别下的样本使用相同的状态向量来生成网络参数,以此来学习不同类别的特有模式。比如,对用户的ID_embs进行聚类,想用的Group采用相同的Zi。
- Mix-Wise: 使用多个状态向量,如用户id的embedding和最近点击item的embedding的组合。多状态聚合方式有两种:①Input聚合,先user_emb和item_emb聚合,再经过APG得到网络参数;②user_emb和item_emb分别通过APG得到网络参数U和I,之后U和I参数聚合。其中聚合方式,agv_pooling或Attention方式
- Self-wise:前两种需要额外的先验知识,而Self-wise策略则使用简单易获取的知识进行,如网络的第1层对应的状态向量为样本输入向量,第l层对应的状态向量为网络第l-1层的输出。
3.2 模型参数设计
Low-rank parameterization降低复杂度, 即把原来的Yi = sigmoid(WiXi) 升级为Sigmoid(Ui(Si(ViXi))),如下图所示:
Parameter sharing学习共性模式, 即Vi&Ui为所有实例共享,学习所有样本的共性模式;Si矩阵为样本独有,学习样本的特性模式,如下图中Adding shared parameters
Over Parameterization提升模型表达能力, 如上图中Adding over parameterization
虽然已经解决了APG所面临的两方面的挑战(①计算和存储更加高效;②共享和独有参数);但是共享的矩阵Vi&Ui由于维度K的限制(K<<min(N,M)),在一定程度上约束了模型的表达能力,因此论文提出了一种过度参数化(Over Parameterization)的方法,进一步将矩阵Vi&Ui拆解为两个较大矩阵的相乘:
Trick: 尽管使用了过度参数化的方法,但模型训练完成后,可以直接存储矩阵Vi&Ui,不必存储对应的拆分的大矩阵,因此并没有带来额外的线上的预测耗时和存储空间。如下图:
4. 实验
复杂度对比实验:
离线AUC指标:
公开数据集:
内部数据:APG部署在阿里巴巴搜索广告引擎中,离线取得0.2%AUC提升,在线取得CTR+3%和RPM+1%的收益。