CN113128671A - 一种基于多模态机器学习的服务需求动态预测方法及系统 - Google Patents
一种基于多模态机器学习的服务需求动态预测方法及系统 Download PDFInfo
- Publication number
- CN113128671A CN113128671A CN202110418142.XA CN202110418142A CN113128671A CN 113128671 A CN113128671 A CN 113128671A CN 202110418142 A CN202110418142 A CN 202110418142A CN 113128671 A CN113128671 A CN 113128671A
- Authority
- CN
- China
- Prior art keywords
- service
- user
- feature
- data
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种基于多模态机器学习的服务需求动态预测方法及系统,所述方法包括以下步骤:获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;对于每条训练数据,分别对文本数据和图像数据进行特征提取,并进行特征共享,得到用户使用服务表达向量;然后根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。本发明能够实现用户下一时刻服务需求的精准预测。
Description
技术领域
本发明属于机器学习技术领域,尤其涉及一种基于多模态机器学习的服务需求动态预测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
随着服务计算、云计算、移动边缘计算等多种新型计算模式的快速发展与成熟,网络上涌现出大规模跨网跨域的可用服务,给用户的生活和工作带来了极大的便利,并且,越来越多的用户更加依赖于服务来完成各种生活和工作业务。然而,随着网络上服务数量的急剧增长,用户难以快速地发现满足其需求的服务,严重影响了服务的利用率与用户体验。为了提高服务应用的智能化、解决服务发现难等问题,主动服务推荐逐渐成为服务计算领域研究的热点,而服务需求动态预测是实现主动服务推荐的重要基础。
据发明人了解,国内外学者针对服务需求预测开展了初步的研究,取得了一定的研究成果。目前,已经存在基于协同过滤(Collaborative Filtering,CF)的服务需求预测方法、基于机器学习(Machine Learning,ML)的服务需求预测方法以及基于深度学习(DeepLearning,DL)的服务需求预测方法。其中,基于CF的用户服务需求预测方法中根据用户历史的服务使用记录,通过相似度来匹配与用户历史服务使用记录中相似的服务并将其推荐给用户,或者通过相似度找到相似用户,并将相似用户使用过的服务推荐给用户,而这一类方法面临着数据稀疏与冷启动问题。一些研究结果表明,基于ML的方法在用户服务使用数据稀疏的情况下,可以有效的提高服务需求的预测精度。然而,基于ML的需求预测方法在训练模型之前,需要对数据进行大量的特征处理,比较费时费力。随着深度学习技术的发展与成熟,一些学者基于深度学习技术开展了服务需求预测研究,取得了一定的研究成果。然而,已有的基于深度学习的服务需求预测方法,通常基于单模态的数据进行服务需求预测,预测精度有待提高。
发明内容
为克服上述现有技术的不足,本发明提供了一种基于多模态机器学习的服务需求动态预测方法及系统,考虑了服务使用序列中与服务相关的文本数据和图像数据,提高了服务需求预测的精度。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
一种基于多模态机器学习的服务需求动态预测方法,包括以下步骤:
获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;
对于每条训练数据,分别对文本数据和图像数据进行特征提取,并进行特征共享,得到用户使用服务表达向量;然后根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;
基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。
进一步地,分别对文本数据和图像数据进行特征提取包括:
分别基于Doc2Vec模型和ResNet模型对文本数据和图像数据进行特征提取。
进一步地,采用特征共享网络进行特征共享,所述特征共享网络包括:文本特征学习网络和图像特征学习网络,以及一个全连接网络,并且,文本特征学习网络和图像特征学习网络的输出均连接至该全连接网络。
进一步地,文本特征学习网络第一层的输入为文本特征向量和图像特征向量的加和,且自第二层起,文本特征学习网络每一层的输入均为上一层文本特征学习网络的输出与图像特征向量的加和;图像特征学习网络第一层的输入为图像特征向量和文本特征向量的加和,且自第二层起,图像特征学习网络每一层的输入均为上一层图像特征学习网络与文本特征向量的加和。
进一步地,所述门控循环单元网络包括一个辅助损失函数,用来计算每个时刻的隐藏状态和下个时刻服务特征融合向量之间的差距。
进一步地,训练多模态机器学习模型包括:
对服务需求预测模块进行训练,所述服务需求预测模块为全连接层,计算损失函数;
基于服务需求预测的损失函数和辅助损失函数计算总损失;
采用梯度下降法优化多模态机器学习模型参数。
一个或多个实施例提供了一种基于多模态机器学习的服务需求动态预测系统,包括:
训练数据获取模块,被配置为:获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;
多模态特征提取模块,被配置为:对于每条训练数据,分别对文本数据和图像数据进行特征提取;
特征共享模块,被配置为:对多模态特征提取模块得到的文本特征和图像特征进行特征共享,得到用户使用服务表达向量;
服务兴趣提取模块,被配置为:根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;
服务需求预测模块,被配置为:基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。
一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于多模态机器学习的服务需求动态预测方法。
一个或多个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于多模态机器学习的服务需求动态预测方法。
以上一个或多个技术方案存在以下有益效果:
实现了不同模态数据中提取的服务特征向量的共享,有效地减少了不同服务特征向量之间的表达差距,提高了多模态机器学习模型学习用户服务使用的表达能力。
针对GRU网络引入了辅助损失函数MAE,构建了改进的GRU网络(IGRU),通过IGRU能够有效地捕获用户的服务使用兴趣,为实现服务需求预测提供的重要的信息支持。
将辅助损失函数和服务预测的损失函数相结合,用于模型参数的优化,保证了服务需求预测的准确性。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明一个或多个实施例中基于多模态机器学习的服务需求动态预测方法流程图;
图2为本发明一个或多个实施例中基于多模态机器学习的服务需求动态预测模型框架图;
图3为本发明一个或多个实施例中所得到的多模态机器学习模型取不同学习率时的模型损失值;
图4为不同模型在Debiasing数据集上的R2值示意图;
图5为不同模型在Debiasing数据集上的MAE值示意图;
图6为不同模型在Debiasing数据集上的MSE值示意图;
图7为不同模型在Debiasing数据集上的RMSE值示意图;
图8为本发明一个或多个实施例中所得到的多模态机器学习模型总的损失和辅助函数损失的不同取值。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本实施例使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
随着智能终端设备的普及与各种信息化技术的发展,为获取用户使用服务相关的多种模态的数据成为可能,比如:用户通过滴滴出行服务平台提出了用车服务请求,该平台会在用户的智能手机上会呈现所提供服务的一些信息,包括服务(车辆)的文本信息(型号、颜色、服务等级等)、服务(车辆)的图像信息等,这两种不同模态的数据能够更加全面地描述该服务,同时也能反映出用户的服务需求与用户的服务偏好等。从某种意义上说,用户服务的选择,是在多种类型数据的支配下完成的,因此,基于多模态的数据能够提高服务需求预测的精度。
为了准确地预测用户的服务需求,本实施例考虑了与服务相关的文本数据和图像数据,提出了一种基于改进多模态机器学习(Improved MultiModal Machine Learning,IMMML)的服务需求动态预测方法,如图1-2所示,具体包括:
步骤1:获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;
定义训练数据集为D,D=[(X1,y1),...(Xi,yi),...,(Xn,yn)]。其中,表示第i个训练样本数据,由用户特征和用户的服务使用序列组成,yi则表示用户下一时刻的服务需求,n表示训练样本数据的数量。表示第i个训练样本数据中的用户特征,主要包括用户的性别、年龄、职业、居住城市等级等;表示第i个训练样本数据中服务使用序列的信息,每一个服务的信息包括与服务相关的文本数据信息与图像数据信息,对于该服务序列中的服务k, 表示服务k的文本信息,通过模型Doc2Vec可以从中提取与该服务相关的文本特征向量 表示服务k的图像信息,通过模型ResNet从中提取与该服务相关的图像特征向量
步骤2:对于每条训练数据,分别对文本数据和图像数据进行特征提取;
基于Doc2Vec模型和ResNet模型构成,分别用于从服务相关的文本数据和图像数据中提取特征向量。
通过对服务k的文本数据信息和图像数据信息的处理,可以得到该服务的多模态特征向量,即在后续的内容中,使用表示使用表示在数据处理阶段,依据这种处理方式,将服务序列中每个服务的多模态数据信息转换成多模态数据的特征向量,为模型做好前期数据准备。
步骤3:基于特征共享网络进行特征共享,得到用户使用服务表达向量;
特征共享网络由全连接网络构成,用于将两种从不同模态数据提取的服务特征向量进行特征共享,使得能够准确的学习用户服务使用的表达向量。
目前,已有的多模态机器学习方法在学习多模态特征向量时,通常对一个模态使用一个模型进行学习,然后将多个不同模型学习到的多个模态的特征向量相加或者拼接在一起,得到最终的特征共享向量。这种处理方式导致多个模态的特征向量之间是独立的,并没有使来自于不同模态数据的特征向量产生共享关系。为了克服已有特征共享操作的不足,本实施例对多模态机器学习模型进行了改进,设计了新的特征共享网络,对服务的文本特征向量与图像特征向量进行特征共享,实现了不同服务特征向量之间的知识关联,提高了模型对多模态服务特征的学习能力,进而提高服务需求预测的精度。
本实施例中,特征共享模块由文本特征向量学习网络Mtxt与图像特征向量学习网络Mpic构成,并且Mtxt和Mpic由全连接网络构成。以服务序列中服务k为例,特征共享模块的操作过程如下:首先,将服务k的文本特征向量和图像特征向量输入到Mtxt网络和Mpic网络;然后,在Mtxt和Mpic网络的运行过程中,将图像特征向量与网络Mtxt中每一层的输出Otxt进行相加操作;同时,将文本特征向量与图像特征学习网络Mpic中每一层的输出Opic进行相加操作。
具体地,设多模态机器学习模型模型的输入层的节点数为m,初始时将服务k的文本特征向量与图像特征向量分别输入到特征共享模块。设特征共享模块中全连接网络的层数为L,每一层全连接网络具有m个节点,设共享模块中第l层的文本特征学习网络Mtxt与图像特征学习网络Mpic的输出分别为和1≤l≤L,则对于Mtxt和Mpic网络第l层中的文本特征向量和图片特征向量的共享操作,如公式(1)-(4)所示:
其中,·表示点乘操作;表示Mtxt中第l-1层进行特征共享后的文本特征向量,表示网络Mtxt第l-1层的输出,表示服务k的图像特征向量,表示Mpic中第l-1层进行特征共享后的图片特征向量,表示网络Mpic第l-1层的输出,表示服务k的文本特征向量,和分别表示Mtxt和Mpic中第l层的输出,和分别表示Mtxt和Mpic中第l层的ReLU激活函数,和分别表示Mtxt和Mpic中第l层的权重矩阵,和表示Mtxt和Mpic中第l层的偏置值。最后,将和合并在一起,经过一层全连接网络得到最终的用户使用服务表达向量计算公式如公式5所示:
步骤4:根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;
用户在不同的时间窗口中,会产生不同的服务使用序列,不同的服务使用序列中蕴藏着用户的服务使用兴趣,通过对用户服务使用序列进行挖掘学习,可以提取用户的服务使用兴趣表达向量,为模型预测用户下一时刻的服务需求提供重要的信息支持。近年来,门控循环单元(Gate Recurrent Unit,GRU)神经网络作为长短期记忆网络(Long-ShortTerm Memory,LSTM)的变体,在自然语言处理、时序数据处理等方面得到了广泛成功的应用。传统的LSTM网络包括输入门(input gate)、输出门(output gate)和遗忘门(forgetgate),计算过程复杂;GRU对LSTM进行了优化,只包含更新门(update gate)和重置门(reset gate),GRU具备与LSTM同样的学习能力,网络结构变得更加简单、计算速度更快,有效解决了LSTM计算过于复杂的问题。鉴于GRU网络具有训练参数少、训练时间短、收敛速度快等优点,本实施例采用GRU网络学习服务的共享特征向量,提取用户的服务兴趣表达向量。
GRU的具体训练过程如下:
1)当前状态输入xt与前一时刻的输出ht-1经过更新门输出一个0~1的数值,其中,0表示完全舍弃信息,1表示完全保留信息,计算公式如(6)式所示。
3)由更新门作为权重向量,候选向量与前一时刻输出向量通过加权平均得到GRU的输出ht。计算公式如(9)所示。
其中,·表示点乘操作,σ为sigmoid函数,tanh表示tanh激活函数,xt为时刻t状态的输入,ht-1为上一时刻隐含层的状态函数,rt为重置门的输出,决定上一时刻隐藏状态有多少信息需要被遗忘,经过sigmoid函数将结果映射到0~1之间,越接近于1信息越容易被保留;zt为更新门的输出,用来决定上一层隐藏状态中有多少信息传递到当前的隐藏状态ht中,经过sigmoid函数将结果映射到0~1之间;表示t时刻的候选激活状态,由新输入xt前状态ht-1和权重Wh计算更新其值;ht表示t时刻的激活状态,表示GRU网络中第t个隐藏状态向量,根据新的zt的前一时刻的状态ht-1和的值,得到新的GRU的输出值。Wu,Wr,Wh,Uu,Ur,Uh分别表示更新门和重置门的权重矩阵,bu,br,bh分别表示更新门和重置门的偏置值.
GRU网络对每一时刻的服务特征融合向量进行学习,输出每一时刻的隐藏状态;每一时刻的隐藏状态表示GRU网络从更新门学习当前时刻输入中的重要信息,以及从重置门丢弃之前时刻中需要遗忘的信息,也即是,用户在第t个时刻的隐藏状态,表示在第t时刻更新门从第t个服务特征融合向量中学习到的信息,以及重置门从第1到t-1和第t个服务特征融合向量中需要遗忘的信息,从而使得GRU网络能够对用户每一时刻所使用的服务、以及过去时刻使用的服务对当前时刻使用服务的影响都进行了学习,将学习结果储存在每一时刻的隐藏状态向量中,并在每一时刻输出一个隐藏状态向量来表示学习到的服务兴趣信息,使得GRU网络中每一时刻的隐藏状态向量ht能够表示用户每一个时刻的服务使用兴趣。
然而,在GRU网络中,隐藏状态向量ht只能捕获相邻服务之间的相互依赖关系,不能很好地表达用户的服务使用兴趣。事实上,用户下一时刻的服务需求主要由用户最后时刻的服务兴趣所决定。然而,服务需求预测模型IMMML在训练的过程中,损失函数中使用的模型真实标签yi只能监督用户最后时刻的服务兴趣表达向量,而不能有效的监督中间时刻的隐藏状态向量ht(1≤t≤k),在不同的服务使用序列中,每一步的隐藏状态向量ht直接影响用户下一时刻的服务兴趣。
为了提高GRU对服务使用兴趣的提取效果,本实施例对GRU网络引入一个辅助损失函数,用来计算GRU每个时刻的隐藏状态和下个时刻服务特征融合向量之间的差距。IMMML模型在训练的过程中,不断调整模型参数来减少两者之间的差距,使得每个时刻的隐藏状态能够准确学习用户服务兴趣表达向量。从而使IMMML模型能够基于用户服务兴趣表达向量和用户特征向量预测用户下一时刻的服务需求。辅助损失函数Laux如(10)所示:
步骤5:基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。
在IMMML模型中,在获取用户最终的服务兴趣ht之后,基于服务兴趣ht和用户特征向量,通过预测模块预测用户下一时刻的服务需求。服务需求预测模块由全连接网络构成。服务需求预测模块基于特征共享模块和服务兴趣提取模块的输出,实现基于多模态机器学习的服务需求预测。
在对服务需求预测模块进行训练时,定义输入数据为其中,表示用户特征向量,表示用户最终的服务兴趣表达向量,yi表示模型的真实标签值,表示用户下一时刻的服务需求。服务需求预测模块的预测函数如式(11)所示:
其中,σ1表示ReLU激活函数,W表示权重矩阵,Ii表示输入数据,b表示偏置值。在IMMML模型中,根据用户使用的服务序列,基于多模态机器学习预测用户下一时刻的服务需求问题属于机器学习中的回归问题。对于机器学习中的回归问题,常用的损失函数为平方绝对误差(MAE),MAE指服务需求预测模型的预测值与真实的标签值y之间距离的平均值。假设训练数据的样本数量为n,则MAE的计算公式如公式12所示:
在本实施例中,IMMML模型总的损失函数L主要由服务需求预测的损失函数Ltarget和辅助损失函数Laux两部分组成。Ltarget和Laux均采用MAE损失函数,只是MAE的输入部分不同。总的损失函数L的计算公式如公式13所示:
L=Ltarget+α*Laux (13)
其中,α表示超参数,用于平衡用户服务兴趣的表达和IMMML模型的预测。
Adam优化算法是基于一阶梯度优化的模型,是随机梯度下降法的扩展,Adam计算效率比较高,能够适应较大规模的数据集。为此,本实施例选取Adam算法作为IMMML模型的优化算法。
基于改进多模态机器学习的服务需求动态预测方法如算法1所示。
算法1:基于IMMML的服务需求动态预测方法
阶段1:IMMML模型训练
输入:D//模型训练的数据集
初始化模型的参数
repeat
for i to n do//n为批量数据的数据量
依据公式(6)和公式(7),计算GRU网络中更新门的输出zt和重置门的输出rt;
依据公式(8)和公式(9),计算用户服务兴趣表达向量ht;
依据公式(10),计算辅助损失;
依据公式(11),计算模型的预测值;
依据公式(12)和公式(13)计算模型总的损失;
依据Adam算法更新IMMML模型中的参数;
End for
Until{满足模型训练结束条件}
阶段2:服务需求的预测
执行IMMML模型;
输出:预测的服务需求
实施例二
本实施例的目的是提供一种基于多模态机器学习的服务需求动态预测系统。所述系统包括:
训练数据获取模块,被配置为:获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;
多模态特征提取模块,被配置为:对于每条训练数据,分别对文本数据和图像数据进行特征提取;
特征共享模块,被配置为:对多模态特征提取模块得到的文本特征和图像特征进行特征共享,得到用户使用服务表达向量;
服务兴趣提取模块,被配置为:根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;
服务需求预测模块,被配置为:基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。
以上多模态特征提取模块、特征共享模块、服务兴趣提取模块和服务需求预测模块所实现的方法步骤分别对应实施例一中的步骤2-5。
其中,所述门控循环单元网络包括一个辅助损失函数,用来计算每个时刻的隐藏状态和下个时刻服务特征融合向量之间的差距;门控循环单元网络的输出连接一个全连接层;所述多模态机器学习模型总的损失函数由该全连接层的损失函数和辅助损失函数两部分组成。
实施例三
本实施例的目的是提供一种电子设备。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例一中所述方法。
实施例四
本实施例的目的是提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一中所述方法。
以上实施例二、三和四中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
实验结果与分析
1.实验数据
为了验证本文所提出方法的有效性,采用天池网站提供的Debiasing数据集。其中,该数据数据采集的时间跨域时长为10天,主要包含3万个用户对10万个商品的100多万条点击记录。其中,商品特征包含商品的id、商品的文本特征向量txt_vec、商品的图像特征向量img_vec。针对Debiasing数据集,将用户特征作为服务需求预测中的用户特征;将商品映射为服务,将商品的文本信息映射为服务的文本特征信息,将商品的图像数据映射为服务的图像数据,将用户点击商品的id特征映射为用户服务需求的标签。在进行预测时,模型预测出服务需求的标签后,再将预测的服务需求标签反映射为服务需求。Debiasing数据集信息如表1所示。
表1 Debiasing数据中的信息
实验环境具体配置为:操作系统Windows 10专业版64位,CPU Intel i78750H,RAM8GB;预测模型的实现框架为TensorFlow 2.0,算法实现Python3.6编程服务需求预测模型。
2.评估指标
采用平方绝对误差MAE、均方误差MSE、均方根误差RMSE和R2来评估模型IMMML的预测值和真实值之间的误差,衡量本申请所提出的服务预测需求方法的有效性。MAE、MSE、RMSE和R2的计算公式如式(14)-(17)所示:
其中,MAE、MSE和RMSE的值越小,模型的预测精度越高;R2的值越大表明服务需求预测模型的预测精度越高。
3.数据预处理
为了提高IMMML模型的预测精度,在将训练数据输入到模型之前,针对数据进行预处理。首先,针对数据中的用户特征进行标准化处理,使得用户特征中不同维度的取值具有相同的取值范围,增加用户之间的可比较性。其中,用户特征标准化公式如(18)式所示。
其中,xi表示用户特征中每一个维度的特征取值,meani表示用户特征中每一个维度的均值,stdi表示用户特征中每一个维度的标准差,经过标准化之后的用户特征数据符合均值为0,标准差为1的正态分布。将标准化之后的用户特征向量、服务的文本特征向量和服务的图像特征向量合并在一起,组成模型的训练数据。
4.模型参数设置
在IMMML模型中,特征共享模块用于将来自于两个模态数据的服务特征向量进行融合,以提高模型对用户使用服务的表达能力。特征共享模块的网络层数L对模型的性能具有重要影响,为了使IMMML模型具有较好的性能,本文通过实验的方法来确定特征共享层数的最优取值。在该实验中,采用Adam优化算法,初始化学习率为0.00001。通过设置不同的网络层数来观察IMMML模型的性能表现,进而来确定特征共享模块中网络层数的最优取值。实验结果如表2所示。
表2特征共享模块网络层数L对IMMML模型性能的影响
层数L | MAE | MSE | RMSE | R<sup>2</sup> |
1 | 0.2978 | 0.3128 | 0.5593 | 0.6872 |
2 | 0.2847 | 0.3124 | 0.5590 | 0.6881 |
3 | 0.2856 | 0.3075 | 0.5546 | 0.6930 |
4 | 0.2848 | 0.3028 | 0.5503 | 0.6977 |
5 | 0.2852 | 0.3022 | 0.5497 | 0.6983 |
从上表可以看出,增加特征共享模块的层数有助于提高服务需求预测模型的预测准确度。但是,随着网络层数的增加,模型的预测精度提升有限。同时,特征共享模块网络层数的增加,使得模型需要学习更多的参数,从而增加服务需求预测模型的训练时间以及更高的模型过拟合风险。基于上述实验结果,综合考虑模型的性能与训练时间的消耗,本文确定特征共享模块的网络层数为3。
此外,在用户服务需求预测模型中,特征共享模块中每层网络的神经元节点数目N对模型的性能也有较大的影响,为了使服务需求预测模型具有较高的预测精度,在IMMML模型中,分别设置特征共享模块每层网络的神经元节点数为16、32、64、128与256,训练模型并保存实验结果,实验结果如表3所示。
表3特征共享模块中神经元节点数对IMMML模型性能的影响
节点数N | MAE | MSE | RMSE | R<sup>2</sup> |
16 | 0.2738 | 0.3043 | 0.5517 | 0.6962 |
32 | 0.2776 | 0.3016 | 0.5492 | 0.6990 |
64 | 0.2794 | 0.3007 | 0.5483 | 0.6998 |
128 | 0.2782 | 0.2961 | 0.5441 | 0.7044 |
256 | 0.2814 | 0.2981 | 0.5460 | 0.7024 |
从上表可以看出,随着特征共享模块神经元节点数量的增加,模型的预测性能不断提升;当神经元节点数达到128时,模型的预测性能达到最优;之后,随着神经元节点数量的增加,模型的预测性能有所下降。同时,增加神经元的节点数量,会增加模型训练的硬件资源开销以及导致模型过拟合的风险增加。基于实验结果,本文将IMMML模型的特征共享模块每层网络节点数量设置为128。
在用户服务需求预测模型中,通过Adam算法对预测模型的参数进行调优,其中,Adam算法的学习率对服务需求预测模型的稳定性和学习能力有较大的影响,为了使得模型具有较强的预测能力,该实验在IMMML模型中,分别设置学习率为1e-2、1e-3、1e-4与1e-5,训练模型并保存训练结果,实验结果如图3所示。
从上图可以看出,随着服务需求预测模型学习率的不断减小,模型的性能逐渐得到稳定;从上图可以看出,IMMML模型的学习率取值在大于1e-5时模型均出现过拟合现象,模型的测试损失和训练损失差距较大,未能通过训练数据来学习出最优的模型参数,使得服务需求预测模型的预测性能达到最优。基于上述实验结果,本文将IMMML模型的学习率设置为1e-5。
5.对比模型参数的设置
为了验证本文的服务需求预测模型的有效性,该实验选取了三种典型的基于多模态机器学习的预测模型与本文所构建的IMMML模型进行比较。三种典型的预测模型分别为:RBMI、MultiModal IRIS与SDML。对于RBMI模型,为了缓解预测模型中评分稀疏的问题,RBMI模型利用卷积神经网络从物品的描述文本中提取服务特征向量。对于每个用户,RBMI将用户特征向量和对应的服务特征向量输入到长短期记忆网络中,用于学习用户的动态兴趣表达向量。最后通过全连接网络预测用户的服务需求。对于RBMI模型的参数与原论文保持一致,设置卷积神经网络层数为1,长短期记忆网络层数为2,并且采用Adam为优化算法,设置初始学习率为0.001。
对于MultiModal IRIS模型,将用户服务使用序列中的服务文本特征和服务图片特征经过多模态特征融合,将候选的服务特征也经过多模态特征融合之后,将用户服务使用序列中的服务和候选服务经过注意力机制,得到用户使用服务的不同权重。然后将注意力机制的输出、候选服务特征和用户服务使用序列特征进行拼接输入到全连接网络预测用户的服务需求。在实验中,设置其隐含层数为3,隐含层节点数为128,并且采用Adam优化算法,初始化学习率设置为0.001。对于SDML模型,将多个模态的服务特征向量预定义一个公共子空间,在这个子空间中,类间区别最大,类内区别最小。然后,针对每个模态的服务特征训练一个神经网络模型,将多个模态的服务特征转换到预定义的公共子空间,从而实现多模态学习。对于SDML模型的参数在实验中与原论文保持一致,设置其隐含层数为7,隐含层节点数为1024,并且采用Adam优化算法,初始化学习率设置为0.001。对于每一个服务需求预测模型,都采用Debiasing数据集作为实验数据,设置最大迭代次数为100。
6.不同模型的性能比较
为了验证本文所提出的服务需求预测模型的有效性,该实验将数据集的80%作为模型的训练数据,20%作为模型的测试数据,与多个模型进行对比。采用4.2节中给出的评估指标来评测每一个模型的性能,实验结果如表4所示。
表4不同模型在数据集上的性能评估
从上表可以看出,在进行服务需求预测时,本文提出的IMMML模型在评估指标MAE、MSE、RMSE和R2上均优于其他对比模型。IMMML模型在评估指标R2上,优于其他对比模型中最优结果1.3%;在指标MAE、MSE和RMSE上,分别领先于次优结果9.3%、4.2%和3.73%。通过上述实验结果可以得出,本文所提出的IMMML模型,通过特征共享和引入辅助损失函数,能够有效的学习用户使用服务的多模态特征并预测用户下一时刻的服务需求;同时,通过将用户使用服务的多模态服务特征进行共享,能够有效降低多个模态特征之间的表达差距;另一方面,通过引入辅助损失函数,依据用户使用服务序列动态的监督用户兴趣表达向量的学习,从而提高服务需求预测模型的预测精度。
7.模型的收敛性能比较分析
为了验证本文所提出的服务需求预测模型的收敛性,分别对多个模型进行训练和测试,不同模型的参数设置与4.5节中的参数设置一致。实验结果如图4所示。其中,纵坐标表示预测R2,横坐标表示模型的迭代次数。
从图4可以看出,随着训练迭代次数的增加,不同模型的R2不断得到提升。从图4可以看出,RBMI模型的预测性能表现最弱。本文所提出的IMMML模型具有较好的预测精度。通过上述实验结果可以得出,IMMML模型具有良好的学习能力,训练迭代较少的次数就能够获得较高的服务需求预测精度。
8.不同模块对IMMML模型性能的影响分析
为了验证特征共享模块和辅助损失函数对于提高服务需求预测模型的精度的有效性,在实验中通过去除相应模块得到IMMML模型的不同变体。通过对比IMMML模型的变体与IMMML模型的性能,来验证特征共享模块和辅助损失函数的有效性。其中,NoShareFeat表示去除特征共享模块,NoAuxLoss表示去除辅助损失模块,NoAll表示去除特征共享模块和辅助损失模块。IMMML模型和其他变体模型的参数设置一致,使用同一数据集和实验平台对变体模型进行训练和测试,实验结果如图5-图7所示,其中纵坐标分别表示MAE、MSE、RMSE和R2,横坐标表示算法的训练迭代次数。
从图5-图7可以看出,当IMMML模型不使用特征共享与IMMML模型不引入辅助损失函数时,IMMML的变体模型在MAE、MSE和RMSE评估指标数值有所上升,而IMMML模型在MAE、MSE和RMSE评估指标上优于其他三种变体模型。基于上述实验结果,使用特征共享和引入辅助损失函数,有助于提升IMMML模型的性能,也既说明,考虑多模态服务特征的共享以及动态监督用户兴趣表达向量的学习,有助于提高服务需求预测的准确度。
为了进一步验证引入辅助损失函数的有效性,在实验中将模型总的训练损失、测试损失和辅助函数的训练损失、测试损失进行对比如图8所示。通过图7可以看出,在IMMML模型的训练和预测的过程中总的训练损失和辅助函数的训练损失以及总的测试损失和辅助函数的测试损失具有相同的下降趋势,这意味着基于用户的服务使用序列通过引入辅助损失函数,服务需求预测模型可以准确的捕获用户兴趣的表达向量,从而有效提高服务需求预测模型的预测精度。
以上一个或多个技术方案构建了一种改进的多模态机器学习模型,首先,将用户使用服务序列中的多模态服务特征进行共享,提高了模型对用户使用服务的学习能力;之后,对GRU网络引入了辅助损失函数,通过用户使用服务序列中的服务动态监督用户服务兴趣表达向量的学习,使得模型能够准确捕获用户服务兴趣表达向量;最后,基于用户特征和用户服务兴趣表达向量,通过全连接网络预测用户下一时刻的服务需求。基于真实的数据集进行了大量的实验,验证了本文所提出方法的有效性;同时还通过实验验证了特征共享模型和辅助损失函数对于提升服务需求预测模型精度的有效性。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种基于多模态机器学习的服务需求动态预测方法,其特征在于,包括以下步骤:
获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;
对于每条训练数据,分别对文本数据和图像数据进行特征提取,并进行特征共享,得到用户使用服务表达向量;然后根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;
基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。
2.如权利要求1所述的基于多模态机器学习的服务需求动态预测方法,其特征在于,分别对文本数据和图像数据进行特征提取包括:
分别基于Doc2Vec模型和ResNet模型对文本数据和图像数据进行特征提取。
3.如权利要求1所述的基于多模态机器学习的服务需求动态预测方法,其特征在于,采用特征共享网络进行特征共享,所述特征共享网络包括:文本特征学习网络和图像特征学习网络,以及一个全连接网络,并且,文本特征学习网络和图像特征学习网络的输出均连接至该全连接网络。
4.如权利要求3所述的基于多模态机器学习的服务需求动态预测方法,其特征在于,文本特征学习网络第一层的输入为文本特征向量和图像特征向量的加和,且自第二层起,文本特征学习网络每一层的输入均为上一层文本特征学习网络的输出与图像特征向量的加和;图像特征学习网络第一层的输入为图像特征向量和文本特征向量的加和,且自第二层起,图像特征学习网络每一层的输入均为上一层图像特征学习网络与文本特征向量的加和。
5.如权利要求1所述的基于多模态机器学习的服务需求动态预测方法,其特征在于,所述门控循环单元网络包括一个辅助损失函数,用来计算每个时刻的隐藏状态和下个时刻服务特征融合向量之间的差距。
6.如权利要求5所述的基于多模态机器学习的服务需求动态预测方法,其特征在于,训练多模态机器学习模型包括:
对服务需求预测模块进行训练,所述服务需求预测模块为全连接层,计算损失函数;
基于服务需求预测的损失函数和辅助损失函数计算总损失;
采用梯度下降法优化多模态机器学习模型参数。
7.一种基于多模态机器学习的服务需求动态预测系统,其特征在于,包括:
训练数据获取模块,被配置为:获取训练数据集,每条训练数据对应一个用户的用户数据、相应服务使用序列数据以及下一时刻的服务需求,所述服务使用序列中每个服务均包括文本数据和图像数据;
多模态特征提取模块,被配置为:对于每条训练数据,分别对文本数据和图像数据进行特征提取;
特征共享模块,被配置为:对多模态特征提取模块得到的文本特征和图像特征进行特征共享,得到用户使用服务表达向量;
服务兴趣提取模块,被配置为:根据用户使用服务表达向量,基于门控循环单元网络提取用户服务兴趣表达向量;
服务需求预测模块,被配置为:基于各用户对应的用户特征、用户服务兴趣表达向量以及下一时刻的服务需求,训练多模态机器学习模型,用于预测用户的服务需求。
8.如权利要求7所述的一种基于多模态机器学习的服务需求动态预测系统,其特征在于,所述门控循环单元网络包括一个辅助损失函数,用来计算每个时刻的隐藏状态和下个时刻服务特征融合向量之间的差距;门控循环单元网络的输出连接一个全连接层;所述多模态机器学习模型总的损失函数由该全连接层的损失函数和辅助损失函数两部分组成。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6所述的一种基于多模态机器学习的服务需求动态预测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6所述的一种基于多模态机器学习的服务需求动态预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110418142.XA CN113128671B (zh) | 2021-04-19 | 2021-04-19 | 一种基于多模态机器学习的服务需求动态预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110418142.XA CN113128671B (zh) | 2021-04-19 | 2021-04-19 | 一种基于多模态机器学习的服务需求动态预测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113128671A true CN113128671A (zh) | 2021-07-16 |
CN113128671B CN113128671B (zh) | 2022-08-02 |
Family
ID=76777539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110418142.XA Active CN113128671B (zh) | 2021-04-19 | 2021-04-19 | 一种基于多模态机器学习的服务需求动态预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113128671B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537623A (zh) * | 2021-07-30 | 2021-10-22 | 烟台大学 | 基于注意力机制及多模态的服务需求动态预测方法及系统 |
CN113780426A (zh) * | 2021-09-14 | 2021-12-10 | 中国联合网络通信集团有限公司 | 一种多模态信息融合方法、mec、模态信息采集单元及系统 |
CN116779091A (zh) * | 2023-06-15 | 2023-09-19 | 兰州交通大学 | 一种多模态网络互联融合的胸部影像诊断报告自动生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005145A (zh) * | 2018-06-04 | 2018-12-14 | 上海交通大学 | 一种基于自动特征抽取的恶意url检测系统及其方法 |
CN111814454A (zh) * | 2020-07-10 | 2020-10-23 | 重庆大学 | 一种社交网络上的多模态网络欺凌检测模型 |
CN112001484A (zh) * | 2020-08-22 | 2020-11-27 | 哈尔滨工业大学 | 一种基于多任务深度学习的安全缺陷报告预测方法 |
-
2021
- 2021-04-19 CN CN202110418142.XA patent/CN113128671B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005145A (zh) * | 2018-06-04 | 2018-12-14 | 上海交通大学 | 一种基于自动特征抽取的恶意url检测系统及其方法 |
CN111814454A (zh) * | 2020-07-10 | 2020-10-23 | 重庆大学 | 一种社交网络上的多模态网络欺凌检测模型 |
CN112001484A (zh) * | 2020-08-22 | 2020-11-27 | 哈尔滨工业大学 | 一种基于多任务深度学习的安全缺陷报告预测方法 |
Non-Patent Citations (2)
Title |
---|
GUORUI ZHOU ET AL.: "Deep Interest Evolution Network for Click-Through Rate Prediction", 《THE THIRTY-THIRD AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-19)》 * |
PENG LIU ET AL.: "Dynamic attention-based explainable recommendation with textual and visual fusion", 《INFORMATION PROCESSING AND MANAGEMENT》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537623A (zh) * | 2021-07-30 | 2021-10-22 | 烟台大学 | 基于注意力机制及多模态的服务需求动态预测方法及系统 |
CN113537623B (zh) * | 2021-07-30 | 2023-08-18 | 烟台大学 | 基于注意力机制及多模态的服务需求动态预测方法及系统 |
CN113780426A (zh) * | 2021-09-14 | 2021-12-10 | 中国联合网络通信集团有限公司 | 一种多模态信息融合方法、mec、模态信息采集单元及系统 |
CN113780426B (zh) * | 2021-09-14 | 2023-06-30 | 中国联合网络通信集团有限公司 | 一种多模态信息融合方法、mec、模态信息采集单元及系统 |
CN116779091A (zh) * | 2023-06-15 | 2023-09-19 | 兰州交通大学 | 一种多模态网络互联融合的胸部影像诊断报告自动生成方法 |
CN116779091B (zh) * | 2023-06-15 | 2024-02-27 | 兰州交通大学 | 一种多模态网络互联融合的胸部影像诊断报告自动生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113128671B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113128671B (zh) | 一种基于多模态机器学习的服务需求动态预测方法及系统 | |
US11586875B2 (en) | Systems and methods for optimization of a data model network architecture for target deployment | |
WO2021155706A1 (zh) | 利用不平衡正负样本对业务预测模型训练的方法及装置 | |
CN110766044B (zh) | 一种基于高斯过程先验指导的神经网络训练方法 | |
CN109948149B (zh) | 一种文本分类方法及装置 | |
WO2021089013A1 (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
CN109344920B (zh) | 顾客属性预测方法、存储介质、系统及设备 | |
US11650968B2 (en) | Systems and methods for predictive early stopping in neural network training | |
CN108536784B (zh) | 评论信息情感分析方法、装置、计算机存储介质和服务器 | |
CN110033089B (zh) | 基于分布式估计算法的手写体数字图像识别深度神经网络参数优化方法及系统 | |
CN111259738A (zh) | 人脸识别模型构建方法、人脸识别方法及相关装置 | |
CN110781686B (zh) | 一种语句相似度计算方法、装置及计算机设备 | |
CN112529638B (zh) | 基于用户分类和深度学习的服务需求动态预测方法及系统 | |
CN114490065A (zh) | 一种负载预测方法、装置及设备 | |
CN115080749B (zh) | 一种基于自监督训练的弱监督文本分类方法、系统和装置 | |
CN114547299A (zh) | 一种基于复合网络模型的短文本情感分类方法及装置 | |
CN116594748A (zh) | 针对任务的模型定制处理方法、装置、设备和介质 | |
US20200349416A1 (en) | Determining computer-executed ensemble model | |
CN115114409A (zh) | 一种基于软参数共享的民航不安全事件联合抽取方法 | |
CN115905855A (zh) | 一种改进的元学习算法MG-Reptile | |
US11914672B2 (en) | Method of neural architecture search using continuous action reinforcement learning | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN110288002B (zh) | 一种基于稀疏正交神经网络的图像分类方法 | |
CN112749737A (zh) | 图像分类方法及装置、电子设备、存储介质 | |
CN114757310B (zh) | 情感识别模型及其训练方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |