阿里巴巴记忆增强网络——MA-DNN模型详解
被包养的程序猿丶 哈尔滨工业大学 信息与通信工程硕士创新点:
1、在CTR预估任务中,DNN模型部署简单,但是效果有效,RNN可以有效挖掘序列化的行为信息,所以效果更好,但是模型较为复杂,为了兼顾DNN与RNN两者的优点,本文给出一种兼顾两者优点的MA-DNN算法
2、引入memory单元,通过巧妙的损失函数的设计,联合训练memory部分和DNN网络
一、论文背景
最简单的DNN网络已经广泛应用在各大互联网公司的CTR预估系统中,其中最原始的DNN具备模型简单、部署快速等特点,同时相较于传统LR等方式具有更好的效果(DNN能够有效捕捉高阶交叉特征的信息);随着特征工程的不断深入,我们发现用户历史行为特征是一类非常有用的特征,从用户的历史行为中能够挖掘出用户的固有兴趣,但是如何对用户历史行为建模这个是值得思考的。这里有两种方式,一种方式是基于pooling的方式(必然会损失一定的信息),另外一种方式是基于序列化的方式(利用RNN等结构来建模)。虽然利用RNN对用户历史行为序列进行建模可以有效提升CTR预估的效果,但是RNN结构的网络通畅比较复杂,而且不太方便进行并行化,这都给该类模型的线上部署与应用带来很大的挑战。所以为了保证模型足够简单的同时,又能更好的对用户历史行为进行建模从而提升预估效果,本文提出了基于记忆网络的DNN模型——记忆增强DNN网络
--> reflective 系统,用户的反馈挣扎...搞起来是个大命题!!
二、DNN与RNN模型的局限性
文章主要从以下两个方面来论证现有DNN与RNN的不足:模型复杂度和数据预处理复杂度,传统的基于DNN和RNN的CTR模型如下图所示
基于DNN和GRU的CTR预估模型1、模型复杂度
(1)对于DNN模型来说,最原始的DNN模型如图a所示,原始的输入通过Embedding层将高维稀疏向量转换为低维稠密向量,然后经过基层的全连接网络之后,最后由sigmoid激活函数输出最终的结果,整个模型是非常简单的。
(2)相较于DNN模型来说,基于RNN机构的模型就比较复杂了(文章以GRU为例进行说明),首先输入数据是用户的行为序列,每个时刻的样本同样首先经过Embedding层,然后将生成的Embedding向量输入GRU单元从而产生当前时刻的隐向量st(st由当前时刻输入xt和上一时刻隐向量st-1决定);将最后一个隐向量传输给基层全连接网络,最后同样由sigmoid激活函数输出最终的结果。基于GRU的网络结构相较于DNN网络是比较复杂的,同时很难做并行化的处理
2、数据预处理复杂度
(1)对于DNN模型来说,可以直接将展现点击日志中的数据用作模型训练,每一条记录就是一个样本,提取特征也比较容易
(2)对于RNN模型来说,由于输入是用户行为序列,所以需要将展现点击中的数据人为构造成序列样本,这无疑增加了特征工程的难度,具体如下图所示
--> 数仓层面直接就存好!!按人群id Hash 分桶啥的、建分层索引啥的...
数据预处理三、MA-DNN模型
1、模型结构
整个模型结构如下图所示
MA-DNN模型结构从模型结构上来看MA-DNN网络并不复杂,主要包括DNN部分和记忆网络部分,记忆网络部分主要存储两个向量,即mu1和mu0,两者分别用于存储用户“喜欢的内容”和“不喜欢的内容”(后续会讲mu1和mu0的意义)。首先原始用户特征同样通过Embedding层得到稠密的Embedding向量,将不同特征的Embedding向量全部拼接起来形成一个大的Embedding向量x;然后针对每一个用户,从记忆网络中获取用户u的两个向量mu1和mu0,将x、mu1和mu0拼接到一起得到向量v,即v=[x,mu1,mu0];之后将向量v经过几层全连接网络得到最终的预测结果。
--> 有点像 FSMN!残差 block、低通滤波?
--> 有点像 UIC MIMN?
2、模型训练
在对MA-DNN模型进行优化的时候,优化的目标包括两个部分:1、模型预测的CTR应该足够准确;2、记忆网络应该能够捕捉到用户的“喜好“,所以MA-DNN模型的损失函数包括两部分,第一部分用于优化第一个目标,即直接优化模型预测效果,具体损失函数如下:
第二部分用户优化第二个目标,即用户历史行为建模,具体损失函数(最后一层全连接网络的输出ZL和记忆网络之间的MSE)如下:
从上式可以发现,当用户labe为1的时候,最优化的目标是ZL和mu1的MAE;当用户labe为0的时候,最优化的目标是ZL和mu0,所以mu1可以理解为用户”感兴趣内容”的高阶表征,而mu0可以理解为用户“不感兴趣”的高阶表征。之所以采用最后一层全连接网络的输出,是由于最后一层的输出包含最高阶的信息。
四、线上线下实验结果
线下实验结果如下所示
开源数据集实验结果具体的实验分析可以参考原始论文中的表述,这里不再赘述。文章同样给出了线上AB实验的结果,相较于基线Wide&Deep模型,在MA-DNN模型上CTR平均提升2.56%,RPM平均提升0.74%,从线上AB实验结果来看效果还是比较明显的。
五、总结
对于用户行为特征的挖掘得到了越来越多团队的重视,因为记忆网络中包含了大量的用户点击兴趣,可以从一定程度上反应出用户的长期固有兴趣和短期动态兴趣,所以如何对用户行为进行建模是近几年业界的研究热点,而采用记忆网络来存储用户的历史行为信息是一种较为有效的方式,本文通过结合DNN网络和记忆网络两者的特性,以一种高效的方式对用户行为序列进行建模,从而挖掘了用户潜在的偏好信息,有效提升了线上系统的效果,同时MA-DNN模型具备简单、高效的特点。
Wide&Deep模型详解:
被包养的程序猿丶:CTR预估经典论文详解(一)——Wide&Deep模型zhuanlan.zhihu.com论文地址:
https://arxiv.org/abs/1907.04667arxiv.org发布于 2019-12-11