Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

滴滴KDD2020论文:实时事件嵌入学习的动态异质图神经网络

第 26 届 ACM SIGKDD 知识发现和数据挖掘会议(KDD2020)正在以线上形式召开。今年今年KDD应用数据科学方向(Applied Data Science Track)有756篇论文投递,收录121篇,接收率约为16.0%,其中Oral论文44篇、Poster论文77篇;KDD研究方向(Research Track)有1279篇论文投稿,收录216篇,接收率约为16.9%。

本文是对滴滴Poster论文《实时事件嵌入学习的动态异质神经网络》的详细解读。在这篇论文中,滴滴提出了一种基于多层注意力的神经网络算法,用于对历史行为和环境周边的事件进行嵌入学习,从而提升对于响应模型的预测准确率。目前,这个框架已经在滴滴进行了实际应用,每天服务于千万级别的实时事件预测。

研究背景

在线上广告和推荐领域中,实时客户响应预测在许多工业应用中至关重要。特别是对于滴滴和Uber等打车平台而言,挑战更大。这是因为响应预测模型需要考虑历史和物理环境中的实时信息,诸如周边的交通和供需状况。如图一所示,对于一个打车平台,用户的打车行为包括以下几种类型:1)PreView(预览事件);2)Request(发单事件);3)Cancel_Order(取消事件);4)Finish_Order完单事件。

图一:用户打车行为中的不同事件具体地,一个乘客在预览(Preview)之后,会不会发出订单(Request)受到用户的历史行为习惯的影响和当前环境中的供需情况影响,如图二所示:

图二:典型的用户打车事件流图二中,我们把乘客的一次历史交易行为定义成一个异质的session(h-session),一个异质session可能包括预览、发单、取消、完单事件(异质顶点)。同时我们按照业务逻辑连接不同的顶点,并定义了异质边。除此之外,我们考虑和用户预览行为相同起点的其他异质session,并根据同时出发和同时到达定义了另外两种异质边。这两种异质边是为了把和用户预览相同起点格子的异质session连接起来,这样可以间接的对需求信息进行建模;另外我们把以当前起点格子为终点的异质session和当前用户预览连接起来,这样可以间接的对供给信息进行建模。此外,对于同一个乘客在时间轴上的其他历史交易行为,我们把这些交易行为的历史供需快照信息也按照同时出发或同时到达连接了它们对应的异质session。故而,对于每一个用户的预览事件,它能看到的历史异质session各不相同,每一个实时预览会有一个新的动态异质图。在本论文中,我们提出一种基于动态异质图的事件嵌入学习算法,用于对周边的信息进行建模。

问题挑战

然而,动态实时事件嵌入学习面临着以下挑战:

1、对于每一个新的实时事件,系统需要为该事件进行动态的图构造。

2、动态图里面的实体和边都是异质的,异质图里包含了多种不同类型的顶点和边。

3、不同种类的实体以及不同类型的边会对当前的实时事件产生不同的影响。

4、如何进行大规模的实时事件建模。

为了解决上述问题,我们提出一种实时事件嵌入学习的神经网络算法(Real-time Event Graph Neural Network,REGNN),REGNN以归纳学习的方式编码了用户行为习惯和周围环境的动态异质事件,可以为实时事件产出嵌入表示。具体地,我们的REGNN有以下4个创新点:

1、从不同维度为实时事件构造了动态异质图。

2、基于事件动态异质图,提出一种多层注意力机制神经网络(GAT)算法进行事件嵌入表示学习。

3、对于有时序关系的实时事件,采用RNN进行时序建模。

4、我们把动态异质神经网络用到滴滴的两个实际应用场景中,均取得了较大的离线和在线提升。

解决方案

REGNN首先基于实时事件不同维度的属性进行动态异质图构造,进而进行嵌入学习,最后用于事件预测。具体地,我们算法框架如图三所示:

图三:REGNN算法框架首先,对于一个事件,REGNN会抽取该事件的基本信息进行动态异质图构造。例如一个预览事件包括以下基本信息:乘客ID,起点POI格子,终点POI格子等。根据乘客ID,REGNN抽取了乘客的历史异质session,图三中不同的形状代表不同类型的事件。类似地,对于起点POI格子和终点POI格子,同时出发或同时到达的异质session也可以和当前事件连接。进而,根据不同属性构造的事件子图之间可以进行跨属性的聚合。最后,对于下游任务任务预测,REGNN采用RNN对不同时序上的事件又做了一次时序上的聚合。

在对异质图信息进行聚合时,我们采用了一个多层次的GAT(Graph Attention network)算法进行信息聚合,如图四所示。在算法第0层,我们对各种异质顶点进行初始化,具体的我们对预览事件、发单事件、取消事件和完单事件按照事件属性进行初始化,对于虚拟的异质session,我们用预览事件的特征对它进行初始化。在算法第一层,我们把各种不同类型的事件利用GAT聚合到h-session,这也叫h-session内部的GAT(cross h-session embedding)。在算法第二层,我们对于同一个子图内部的所有h-session进行聚合(cross h-session embedding)。在算法第三层,我们把不同子图的h-session做跨属性的聚合(cross subgraph embedding)。最后,我们对于时序上的事件embedding,采用了RNN进行了聚合。

图四:多层注意力机制神经网络在三层GAT之后,每一个预览事件的嵌入表示都编码了该预览之前的历史交易信息,每一个历史交易对应的POI快照信息。但是不同时刻的历史交易信息对当前预览的影响权重并不相同,所以REGNN引入了RNN对这种时序模式进行建模。具体地,REGNN采用多头注意力机制计算不同层次的权重,within h-session的GAT, cross h-session的GAT和cross subgraph的GAT计算分别如公式一、二、三所示:

公式一:h-session内部的多头注意力机制

公式二:h-session之间的多头注意力机制

公式三:跨属性的多头注意力机制由于我们的GAT是针对异质事件计算的,故而在多头注意力时需要对不同类型的事件进行transformation之后再进行聚合,transformation的逻辑如图五所示。H-session会针对其内部的不同类型的事件计算不同的注意力权重,再进行向量更新。

图五:h-session内部的GAT生成预览事件的embedding表示之后,对于不同时序上的h-session,我们采用了RNN做时序建模,对于预测用户是否发单,我们的目标函数是一个分类问题,采用了交叉熵损失。

实验与结果

我们对比了一系列用户点击率预估算法和基于神经网络的推荐算法,包括:

1)DNN(Deep Neural Network)是经典的多层神经网络算法。

2)DIN(Deep Interest Network)是经典的采用注意力机制进行点击率预估的算法。

3)DIEN(Deep Interest Evolution Network)在DIN的基础上集成了GRU和注意力机制进行点击率预估。

4)MIMN(Multi-channel user Interest Memory Network)采用了NTM(Neural Turing Machine)和基于记忆力的算法框架进行点击率预估。

5)SRGNN(Session-based Recommendation Graph Neural Networks)采用了GNN对 session中的item进行embedding并用于推荐。

通过实验,我们验证了REGNN相对于以上经典算法均取得了较大的离线效果提升。此外,对于时序聚合算法RNN,我们对比了不同版本的GRU和LSTM以及图聚合算子GAT, GCN, Pooling等。此外,我们把REGNN部署到线上系统,通过ABTEST之后,线上AUC也取得了较大的提升。此外,我们把相同的建模框架应用到智能客服机器人对话系统,也取得了较大的离线和线上提升。

理论滴滴KDD 2020图卷积网络
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

暂无评论
暂无评论~