【paper reading】Deep Interest Evolution Network for Click-Through Rate Prediction

DIEN 是阿里妈妈在9月份公开的一个点击率预估模型。论文中提到的技术点十分值得去研究和尝试一下。之前做了一个slides,今天抽时间将它整理出来~

主要从以下几个角度介绍。

1. 研究背景

2. 相关工作及其不足

3. 解决方案

4. 实验设置与分析

5. 总结与思考


研究背景

【目标 - CTR预估】

论文主要介绍了一种应用于CTR预估的模型。CTR预估是广告系统、推荐系统的核心任务之一。简单来说,就是对每次广告或商品的点击情况进行预估,预测用户点击与否?

【关键 - 对用户兴趣及其演变建模】
  • 隐式兴趣(latent interest):用户与系统交互的行为是表达兴趣的载体。
  • 兴趣演变(Interest evolving):受外在环境与内在认知变化的影响,用户的兴趣往往会随时间不断变化。以购买衣服为例,用户对兴趣的喜好,会随季节、时尚风潮以及个人品味的变化而变化。

因此,想要做好点击率预估,必须在挖掘用户兴趣的同时,抓住用户兴趣的变化过程!


相关工作及其不足

准确的CTR预估需要精细化权衡用户、广告主、平台三方利益。经过多年的技术更新迭代与发展,CTR预估技术经历了从 LR/FM 到 融合模型(RF/GBDT/XGBoost) 到 深度CTR预估模型(FNN/PNN/WDL/DeepFM/DIN)的过程,而贯穿其中的主线是如何让模型自动地进行组合特征的挖掘?

近几年,由于神经网络在图像领域表现出强有力的特征表现及组合能力,深度CTR模型层出不穷,但大多遵从 Embedding + MLP这一基础网络架构。

自底向上观测 Base Model 的工作机制。

  • 第一模块:特征表示,可将特征大致分为四类:user profile、user behavior、ad 以及 context 部分。每一类特征包含多个field,如性别、星期几都属于不同的field。逐个对field进行 multi-hot 编码。注意黑色框部分,与 one-hot 编码不同,multi-hot 编码中,一个向量可能存在多个 1。
  • 第二模块:嵌入层,学习特征的低维向量表示。每一个field都有一个独立的 embedding matrix。值得注意的是,由于每个用户的历史行为数据各不相同,因此 𝒆_𝑏 的列数是不确定的。相应地也就不能直接与其他field的嵌入向量首尾相接,作为MLP层的输入。
  • 第三模块:pooling 层和链接层。对 𝒆_𝑏 进行sum pooling,解决维度不定的问题。并与其他 field 嵌入向量首尾拼接,作为 MLP 层的输入 。
  • 第四模块:MLP 层,自动学习高阶的组合特征。

Base Model 存在两点不足:

  • 忽略隐式特征的挖掘和表示。行为是兴趣的载体,能反映兴趣,但若直接用行为表示兴趣则略有不妥。因为,行为是序列化产生的,如果像大部分现有的模型那样直接采用行为即兴趣的做法,会忽略行为之间的依赖关系。此外,当前时刻的兴趣往往直接导致了下一行为的发生。
    【本文观点:(1)在电商平台中,用户行为是兴趣的载体,且是以时间而产生的序列数据,其间存在的依赖、次序隐藏着用户喜好。(2)当前时刻的兴趣直接导致了下一行为的产生】
  • 忽略兴趣的变化。如之前所讲,用户的兴趣是不断变化的。例如用户对衣服的喜好,会随季节、时尚风潮以及个人品味的变化而变化,呈现一种连续的变迁趋势。但在淘宝平台中,用户的兴趣是丰富多样的,且每个兴趣的演变基本互不影响。此外,影响最终行为的仅仅是与目标商品相关的兴趣。
    【本文观点:(1)用户的兴趣呈现序列变迁的趋势,即随外在环境和内在认知的变化而变化。(2)DIN的启示[1]:淘宝平台中,用户的兴趣是丰富多样的,但能够影响用户行为的仅仅是与目标商品相关的兴趣(attention)。(3)AGRU的启示[2]:用带attention机制的GRU对序列行为建模。】

解决方案


基于现有模型存在的两点不足以及论文作者的发现,作者提出了以上网络架构。

  • 输入层特征的表示,以及ad、context、user profile这三类特征的低维嵌入向量的学习与base model的处理相同。
  • 网络设计的亮点在于用behavior layer、interest extractor layer 以及 interest evolving layer从用户历史行为中挖掘用户与目标商品相关的兴趣及演变。
  • 优化的目标损失函数采用的是负对数似然(negative log-likelihood loss ),公式中的P(x)就是网络的输出。

解决方案-Interest Extractor Layer

Interest Extractor Layer

在 interest extractor layer 用 GRU 结构的 RNN对依时间产生的序列行为建模,捕捉行为之间的依赖,生成的 interest state(
ℎ_𝑖
)作为 interest evolving layer 的输入。此外,因为观测到当前时刻的兴趣直接影响了下一时刻行为的发生。便设计了auxiliary loss 损失函数,目的是用下一时刻的行为监督当前时刻兴趣的学习。损失函数采取的仍然是负对数似然,负例的选择或是从用户未交互过的商品中随机抽取,或是从已展示给用户但用户没有点击的商品中随机抽取。

注意:GRU 能避免 RNN 中的梯度消失,且比 LSTM 快

解决方案 - Interest Evolving Layer

Interest Evolving Layer

兴趣是不断变化的:

  • 用户在某一段时间的喜好具有一定的集中性。比如用户可能在一段时间内不断买书,在另一段时间内不断买衣服。
  • 每种兴趣都有自己的演变趋势,不同种类的兴趣之间很少相互影响,例如买书和买衣服的兴趣基本互不相关。
    因此采用带attention机制的GRU(AUGRU)去捕捉与目标商品相关的兴趣及其演变。
Interest Evolving Layer

黄色框中,𝑒_𝑎 是 target ad 的低维嵌入表示。𝑎_𝑡 衡量的是ℎ_𝑡𝑒_𝑎的相关程度。
从数学公式中可以看出,AIGRU 激活局部兴趣和捕获兴趣演变的过程是相互独立的。仅仅是用 𝑎_𝑡 来影响GRU的输入,且即便输入为 0(无关的兴趣)也还是会对hidden state产生影响。
AGRU用 𝑎_𝑡 替代 GRU 的 update gate,直接控制 hidden state 的更新。将 attention 机制融入到了捕获兴趣演变的过程中,一定程度上弥补了 AIGRU 的不足。
但是,原先 GRU 中控制 hidden state 更新的是一个包含多个维度的向量,AGRU 用纯量替代略有不妥,因此这篇文章设计了 AUGRU,用 𝑎_𝑡 影响 𝑢_𝑡 ,再间接影响 hidden state的更新。


实验设置与分析

数据集

若黄色部分为目标商品,则发生在它前面的行为为历史行为(绿色部分)。而它后面一天的数据则用于测试(红色部分)。

对比模型

下面实验着重回答如下问题

  • Q1: 性能是否能超越对比模型?
  • Q2: AUGRU是否有效?
  • Q3: auxiliary loss 是否有效?
  • Q4: 对兴趣演变的定性分析?(可视化分析)
  • Q5: A/B Test 效果?
Q1

红色框中为带attention机制的模型。

Q2

绿色框中为AIGRU、AGRU以及AUGRU之间的对比。

Q3

BaseModel+GRU+AUGRU 与 DIEN 区别在于是否使用了auxiliary loss。

Q4

将属于8个不同类( Computer Speakers, Headphones, Vehicle GPS, SD & SDHC Cards, Micro SD Cards, External Hard Drives, Headphones, Cases)的行为对应的AUGRU的hidden state 向量提取出来,并用PCA降维将这些向量降低至两个维度,最终得以在二维坐标系上表现出来。

  • 黄色部分将 attention 的值设为同一值,即忽略目标商品对各个 hidden state 的影响。
  • 蓝色部分选定的目标商品属于 Screen Protectors 类,与历史行为中的商品类不相关。其 attention score 变化不明显,且变化趋势与黄色部分大致相同。
  • 红色部分选定的目标商品属于 Cases 类,与历史行为中的最后一个行为的交互的商品相关。因此,最后一个历史行为的 attention score 得分激增,hidden state 也被激活。
Q5

总结与思考

【亮点】
  • 关注隐藏在用户行为背后的潜在兴趣特征的挖掘和表示(GRU + auxiliary loss)
  • 淘宝平台上商品种类繁多,用户兴趣具有多样性。预测时,仅仅捕获与目标商品相关的兴趣及其演变(AUGRU)。
    关注隐藏在用户行为背后的潜在兴趣特征的挖掘和表示(GRU + auxiliary loss)
    淘宝平台上商品种类繁多,用户兴趣具有多样性。预测时,仅仅捕获与目标商品相关的兴趣及其演变(AUGRU)。
【思考】
  • 从实验结果上来看,auxiliary loss 在工业数据集上作用不明显。主要原因是监督兴趣学习的行为可能与目标商品不一致,若在这一层也采用attention机制,是否能弥补不足?

参考文献
[1] Zhou et al. Deep interest network for click-through rate prediction. In KDD. 2018.
[2] He and McAuley. Ups and downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering. In www. 2016.

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

推荐阅读更多精彩内容