ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于点击率预测的长序列用户行为建模

2021-12-12 18:03:29  阅读:254  来源: 互联网

标签:GRU 建模 用户 所示 点击率 序列 行为 兴趣


本文介绍的是《Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction》

论文的下载地址:https://arxiv.org/abs/1905.09248

源代码下载地址:https://github.com/UIC-Paper/MIMN

ps: 在运行源代码,搭建环境时,要装载python2.7以及tensorflow1.4。但是对于windows系统而言,没有对应的tensorflow1.4版本,因此在windows上运行不了,但是可以在macos以及linux上运行。

背景

CTR预估作为广告和推荐系统的基础技术,在用户行为较为丰富的场景,一般通过建模用户的历史行为序列来挖掘用户兴趣。可以知道用户的历史行为序列越多,系统对用户的兴趣判断越准确,因此希望能够引进更多的用户行为序列,但是相对的会增加存储和在线服务压力。故,本论文就此提出相对性行为。

在论文中可以知道随着时间的增加,用户的行为序列也会呈现出暴增的形式,并且随着行为序列的增多,模型的AUC值增长了0.01(如下图所示),这在工业上有着很大的提升。

实时点击预测系统 

延时问题

在本次介绍的一开始也提出了,在之前的模型中存在着存储和延时的问题,因此,在本论文中将用户的行为特征模块单独提取出来,分解成两个部分:用户兴趣表示以及UIC模块。(如下图所示)对于UIC是一个离线模块,在这个模块里无需流量请求,一直实时更新,并在这里将与用户的行为序列转变成用户的兴趣向量,然后传输给用户兴趣表示,这样实时预测系统提取的直接就是用户兴趣向量,减少了线上服务时间。简单的理解就是,预测系统所需要的是成品,而在原先的模型中我们在线上首先提取到的是材料,然后还要等待将材料变为成品的时间;但是对于新的模型是我系统直接拿到的就是成品,这样一来就减少了线上等待时间,就缓减了延迟。

 存储问题

论文中解决存储是在UIC中增加了一个MIMN的模型。其结构如下图所示:

 可以看到,在这个MIMN模型中主要就是由NTM(图灵机)和MIU(记忆感应单元)组成。它是借鉴NTM的思路,采用了memory-based model建模,在GRU时序模型的基础上引入external memory向量,显示存储行为信息。

Neural Turing Machine

MIMN主要通过NTM来对行为序列进行处理。NTM包括几个关键部分:controller、读写头和memory。其图如下所示:

 Memory Induction Unit

NTM一般使用来存储原始数据的,但是在这过程中会忽略了对高阶信息的捕捉,因此为了能更好的捕捉用户的兴趣,MIMN中就增加了记忆感应单元(MIU)来捕捉用户的兴趣演化过程。(如下图所示)。只有前K个权重才能进行更新,形成新的M矩阵,然后通过GRU形成新的兴趣矩阵向量。

具体演化计算如公式所示:

 

其中,e是用户t时刻的行为向量。这里将每一个槽当作一个兴趣轨道,在t时刻选择K个槽进行演化。 

Gate Recurrent Unit

在MIU中可以看到,用到了GRU算法。GRU又称为门循环单元,是神经网络中的一种,能够解决长期记忆和反向传播中梯度消失等问题。如下图所示,它与RNN的基础单元是一样的,都是双输入双输出的结构。

                                                                    RNN结构图

 

                                                                 GRU基本单元图 

在之前的学习中我们知道,RNN会存在梯度消失和梯度爆炸等问题,因此不能很好的去处理长序列,因此在论文中就采用了GRU。接下来来看下GRU的内部(如下图所示),内部这个图看起来有点复杂,但是只要抓住重点就不难理解了,最主要的就是这4个公式。

                                                           GRU内部图 

                                                       GRU主要公式 

r为重置门,用于忽略前一时刻的信息对这一时刻影响的程度,他的值越小说明前一时刻的信息影响越小。

Z为更新门,用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。

最重要的就是最后一个公式,正是因为它GRU才有了选择性记忆的一个功能。从公式上可以看到,分为两个部分,前面是将上一时刻有用的保留下来,后一部分是将此时刻所产生有用的保留。

ps:附上关于GRU的一个大致讲解视频,这个用了一个例子解释了GRU,就我来说,是感觉比较易懂,听完之后。【重温经典】GRU循环神经网络 —— LSTM的轻量级版本,大白话讲解_哔哩哔哩_bilibili

注:文章中的图是一些是来自论文,一些是采用了CSDN上其他博主的图。(实在是懒得弄了)

标签:GRU,建模,用户,所示,点击率,序列,行为,兴趣
来源: https://blog.csdn.net/Lxhqt/article/details/121888365

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有