阿里巴巴记忆增强网络——MA-DNN模型详解

 

阿里巴巴记忆增强网络——MA-DNN模型详解

阿里巴巴记忆增强网络——MA-DNN模型详解 被包养的程序猿丶 哈尔滨工业大学 信息与通信工程硕士 阿里巴巴记忆增强网络——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模型如下图所示

阿里巴巴记忆增强网络——MA-DNN模型详解基于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模型详解数据预处理

三、MA-DNN模型

1、模型结构

整个模型结构如下图所示

阿里巴巴记忆增强网络——MA-DNN模型详解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模型的损失函数包括两部分,第一部分用于优化第一个目标,即直接优化模型预测效果,具体损失函数如下:

阿里巴巴记忆增强网络——MA-DNN模型详解

第二部分用户优化第二个目标,即用户历史行为建模,具体损失函数(最后一层全连接网络的输出ZL和记忆网络之间的MSE)如下:

阿里巴巴记忆增强网络——MA-DNN模型详解

从上式可以发现,当用户labe为1的时候,最优化的目标是ZL和mu1的MAE;当用户labe为0的时候,最优化的目标是ZL和mu0,所以mu1可以理解为用户”感兴趣内容”的高阶表征,而mu0可以理解为用户“不感兴趣”的高阶表征。之所以采用最后一层全连接网络的输出,是由于最后一层的输出包含最高阶的信息。

四、线上线下实验结果

线下实验结果如下所示

阿里巴巴记忆增强网络——MA-DNN模型详解开源数据集实验结果

具体的实验分析可以参考原始论文中的表述,这里不再赘述。文章同样给出了线上AB实验的结果,相较于基线Wide&Deep模型,在MA-DNN模型上CTR平均提升2.56%,RPM平均提升0.74%,从线上AB实验结果来看效果还是比较明显的。

五、总结

对于用户行为特征的挖掘得到了越来越多团队的重视,因为记忆网络中包含了大量的用户点击兴趣,可以从一定程度上反应出用户的长期固有兴趣和短期动态兴趣,所以如何对用户行为进行建模是近几年业界的研究热点,而采用记忆网络来存储用户的历史行为信息是一种较为有效的方式,本文通过结合DNN网络和记忆网络两者的特性,以一种高效的方式对用户行为序列进行建模,从而挖掘了用户潜在的偏好信息,有效提升了线上系统的效果,同时MA-DNN模型具备简单、高效的特点。

Wide&Deep模型详解:

被包养的程序猿丶:CTR预估经典论文详解(一)——Wide&Deep模型​zhuanlan.zhihu.com阿里巴巴记忆增强网络——MA-DNN模型详解

论文地址:

https://arxiv.org/abs/1907.04667​arxiv.org

 

发布于 2019-12-11  
上一篇:2020牛客暑期多校训练营(第二场)Fake Maxpooling


下一篇:MAC 地址为什么不需要全球唯一