推荐系统遇上深度学习(一三二)-[阿里]点击率预估中的自适应参数生成网络

今天给大家分享一篇阿里发表的关于神经网络中网络参数自适应生成的文章,不仅可以做到不同的样本有不同的网络参数,同时通过拆分矩阵等操作大大提升了推理性能,一起来学习一下。

1、背景

当前CTR预估的主要研究方向大致可以分为两个方面:
1)丰富输入特征:如引入用户行为序列,多模态信息,知识图谱信息等等
2)更先进的网络结构设计:如设计多样的特征交叉模块,自动的网络结构搜索等等

除此之外,另一种提升模型效果的方面,网络参数的优化,则很少受到关注。目前大多数模型针对所有的输入样本都采用相同的网络参数。这种方式存在以下两方面的缺点:
1)通过共享的参数W可以学习样本的共性模式,但对于学习样本中的特有模式则并不友好。以淘宝为例,如下图所示,不同用户如高频用户和冷启动用户的样本分布存在较大的差距,对所有的样本使用相同的网络参数很难从不同的分布中捕捉每个样本的特性。

2)模型学习到的共性模式,容易被高频的用户或特征所主导,以至于并不是对所有样本都是适合的。

因此,除学习样本中的共性模式外,网络参数应该更加具有适应性,能够随着不同的输入样本动态改变来捕获样本中的特有模式。但是,想要实现针对不同样本的自适应参数生成,需要解决以下两方面的挑战:
1)高效的计算和存储
2)同时学习样本间的共性模式和单个样本内的特有模式

为了解决以上两方面的挑战,论文提出了Adaptive Parameter Generation network (以下简称APG),一起来看一下。

2、APG介绍

2.1 APG框架简介

APG的整体框架如下图所示。可以看到,针对输入样本i,xi为样本i的输入特征,zi为样本i的状态(condition)向量。

样本的特有参数基于状态向量生成,并用于DeepCTR部分的前向计算,得到点击率预估值。整个框架可以用如下的公式表示。

那么,样本i的状态向量zi是如何生成的呢?模型参数生成如何保证高效性和有效性呢?接下来的两节进行分别的介绍。

2.2 状态(condition)向量生成

论文给出了三种状态向量zi生成的方式,分别为Group-wise,Mix-wise和Self-wise。

Group-wise

Group-wise基于一定的规则对样本进行聚类,同一类别下的样本使用相同的状态向量来生成网络参数,以此来学习不同类别的特有模式。如使用用户id的embedding作为状态向量,相同用户的不同样本使用相同的参数,不同的用户参数则不同。

Mix-wise

Mix-wise策略使用多个状态向量,如用户id的embedding和最近点击item的embedding的组合。不同的状态向量之间的组合可以有输入聚合和输出聚合两种聚合方式。
1)输入聚合(Input Aggregation):首先对不同的状态向量进行聚合,随后生成网络参数。聚合可以采用拼接,avg-pooling或者attention的方式。
2)输出聚合(Output Aggregation):不同的状态向量生成对应的网络参数,随后对参数进行聚合。聚合同样可以采用拼接,avg-pooling或者attention的方式。

Self-wise

前面两种方式需要额外的先验知识对状态向量进行设计,而Self-wise策略则使用简单易获取的知识进行状态向量设计,如网络的第1层对应的状态向量为样本输入向量xi,第l层对应的状态向量为网络第l-1层的输出。

不同的状态向量生成策略从实验结果看各有好坏,实际应用中可以灵活选择。

2.3 参数设计

基本思路

这一节,我们以最简单的一层全链接网络作为DeepCTR部分进行介绍。
当状态向量获取后,最基本的思路是通过MLP层得到网络参数,用于DeepCTR部分的前向计算:

其中,状态向量zi维度为D,网络参数Wi维度为N*M,那么这种方式的计算(时间)复杂度为O(NMD+NM)(参数生成的计算复杂度为O(NMD),DeepCTR部分的计算复杂度为O(NM)),存储(空间)复杂度为O(NMD)。相比于传统的共享参数的方式(计算复杂度和存储复杂度均为O(NM)),计算复杂度为D+1倍,存储复杂度为D倍。那么该如何降低复杂度呢?

Low-rank parameterization降低复杂度

论文采用了Low-rank parameterization的方式,将网络参数Wi拆解为三个矩阵:

Ui,Si,Vi的维度分别为N*K,K*K,K*M。

此时DeepCTR部分的前向计算过程变为:

进行如上的优化后,网络的存储复杂度变为O((NK+MK+KK)D),由于K往往远小于N和M的最小值,因此存储复杂度可以近似为O((NK+MK)D),而计算复杂度为O((NK+MK)(D+1))(参数生成的计算复杂度为O((NK+MK)D),DeepCTR部分的计算复杂度为O(NK+MK))。

Parameter sharing学习共性模式

背景中提到,APG需要解决两方面的挑战,上述Low-rank parameterization的方式,使得模型的计算和存储更加高效。接下来需要解决的挑战是:如何同时学习样本间的共性模式和单个样本内的特有模式?

论文采用的是参数共享的方式,即UV矩阵所有实例共享,学习所有样本的共性模式,S矩阵为样本独有,学习样本的特有模式:

这样,存储和计算复杂度被进一步降低。

Over Parameterization提升模型表达能力

虽然已经解决了APG所面临的两方面的挑战,但是共享的矩阵UV由于维度K的限制(K<<min(N,M)),在一定程度上约束了模型的表达能力,因此论文提出了一种过度参数化(Over Parameterization)的方法,进一步将矩阵UV拆解为两个大矩阵的相乘:

尽管使用了过度参数化的方法,但模型训练完成后,可以直接存储VU,不必存储对应的拆分的大矩阵,因此并没有带来额外的线上的预测耗时和存储空间。

2.4 复杂度分析

关于模型的复杂度咱们前面也介绍过一些了,这里就不再做更详细的介绍,直接贴论文给出的总结表格,感兴趣的同学可以详细看下:

3、实验结果及分析

最后来看下实验结果:

更加详细的实验结果大家可以参考原论文,这里就不再做过多介绍。

好了,本文就介绍到这里,思路还是比较新颖的,感兴趣的同学可以阅读原文~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容