排序模型训练方法和装置
技术领域
本说明书实施例涉及深度强化学习领域,更具体地,涉及一种排序模型训练方法和装置、以及商品展示方法和装置。
背景技术
强化学习是一种基于序列行为的反馈,进行的无标注的学习策略的方法。深度学习的概念来源于人工神经网络,通常由多层的非线性运算单元组成,低层的输出作为高层的输入,通过这种方式自动地从大量数据中学习抽象的特征表示。深度强化学习使用深度学习的网络结构,强化学习的策略来进行决策。基于深度强化学习构造的端到端感知与控制系统,在游戏、机器人控制和视觉等多个领域得到了广泛的应用。深度强化学习的核心概念基于马尔可夫过程,常用的算法包括ddpg,dqn,a3c等。
动态个性化排序方法是一种通过学习用户特征,预测用户排序决策因子,动态打分后进行产品排序的方法。排序需求通常出现在一个上下文中,有多个满足条件的候选集,通过度量候选集和需求的方式,按照接近程度将候选集合进行排序展示给用户。基于排序学习(Learning-to-rank)的机器学习方法是常用的排序方法,包括,对每个产品计算静态分(如点击率等)、基于产品之间的相对表现打分、以及对一个上下文场景中所有产品用统一的维度打分,等等。
目前,排序算法领域包括不少经典的方法,如:用逻辑回归(Logisticregression)拟合衡量商品表现的各因子,用机器学习方法根据用户反馈调整因子权重,应用Multi-armed bandit(多臂老虎机)根据业务目标挑选优选排序规则等。这些传统的方法大都关注商品维度的特征,或用户对于商品的一次交互行为。
因此,需要一种更有效的排序模型。
发明内容
本说明书实施例旨在提供一种更有效的排序模型训练方法和装置、和商品展示方法和装置,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种训练排序模型的方法,所述排序模型包括神经网络,所述方法包括:获取第一特征信息,其中所述第一特征信息为多个用户中的第一用户的当前特征信息;将所述第一特征信息输入当前神经网络,以获取所述第一用户的第一偏好信息,其中,所述第一偏好信息基于当前神经网络中与所述第一特征信息对应的概率密度函数获取,其中,所述概率密度函数为偏好信息的概率密度函数,其中,所述偏好信息对应于用户对至少一个商品特征的偏好程度;基于所述第一偏好信息,获取对多个商品的排列顺序;获取所述第一用户的反馈,其中,所述反馈通过基于所述排列顺序对所述第一用户展示所述多个商品中的至少一个商品而获取;基于所述排列顺序和所述反馈,获取与所述第一偏好信息对应的第一回报值;获取所述第一用户在所述反馈之后的第二特征信息;以及基于所述第一特征信息、所述第一偏好信息、所述第一回报值和所述第二特征信息,基于策略梯度算法训练所述神经网络,以调整所述概率密度函数的参数,以使得,相比于训练前,基于所述第一特征信息,通过训练后的所述排序模型获取的总收益增大,其中所述总收益为自所述第一特征信息开始的全部特征信息对应的各个回报值之和。
在一个实施例中,在所述训练排序模型的方法中,所述策略梯度算法包括以下至少一种算法:Actor-Critic算法、A3C算法、DDPG算法。
在一个实施例中,在所述训练排序模型的方法中,所述排序模型包括策略网络,所述策略网络包括所述神经网络,其中,基于所述第一特征信息,通过当前排序模型获取所述第一用户的第一偏好信息包括,基于所述第一特征信息,通过当前的策略网络获取所述第一用户的第一偏好信息。
在一个实施例中,在所述训练排序模型的方法中,所述排序模型还包括价值网络,所述价值网络和所述策略网络共享神经网络,其中,所述价值网络用于计算与特征信息对应的总收益,其中,使用所述第一特征信息、所述第一偏好信息、所述第一回报值和所述第二特征信息训练所述排序模型包括:基于所述第一特征信息、所述第一回报值和所述第二特征信息,通过随机梯度下降法训练所述价值网络,以使得相比于训练前,训练后的价值网络输出的与所述第一特征信息对应的总收益更接近标签值,其中所述标签值基于所述第一回报值和所述第二特征信息获取;通过训练后的价值网络获取与所述第一偏好信息对应的优势函数的值,所述优势函数的值基于所述第一回报值、与所述第一特征信息对应的总收益、以及与所述第二特征信息对应的总收益获取;基于所述优势函数的值、所述第一特征信息和所述第一偏好信息,通过随机梯度下降法训练所述策略网络,以使得相比于训练前,基于所述第一特征信息,经过训练后的策略网络的总收益增大。
在一个实施例中,在所述训练排序模型的方法中,所述偏好信息为k维权重向量,所述向量包括的k个权重与所述至少一个商品特征分别对应,所述k个权重中每个权重取值的概率分布满足独立的正态分布函数,所述概率密度函数为所述k个权重各自满足的正态分布函数的乘积。
在一个实施例中,在所述训练排序模型的方法中,所述偏好信息为k维权重向量,所述向量包括的k个权重与所述至少一个商品特征分别对应,其中,所述排列顺序通过如下步骤获取:获取所述多个商品各自的关于所述至少一个商品特征的特征向量;通过将所述多个商品的各自的特征向量分别与所述k维权重向量进行内积,获取所述多个商品的各自的排序分数;以及基于所述排序分数,获取所述排列顺序。
在一个实施例中,在所述训练排序模型的方法中,所述反馈信息包括以下至少一种动作:曝光、点击、使用,并且,所述反馈信息还包括所述至少一种动作各自对应的商品。
在一个实施例中,在所述训练排序模型的方法中,所述曝光、点击和使用分别对应于从小至大的第一数值,所述至少一种动作各自对应的商品依据其排列的位置对应于第二数值,其中,所述位置越靠前,所述第二数值越大,其中,所述第一回报值与第三数值成比例,其中,所述第三数值等于所述第一数值与所述第二数值的乘积。
在一个实施例中,在所述训练排序模型的方法中,所述第一特征信息和所述第二特征信息各自包括以下至少一种特征:用户属性特征、用户偏好特征、用户行为特征。
在一个实施例中,所述训练排序模型的方法还包括,在将所述第一特征信息输入当前神经网络,以获取所述第一用户的第一偏好信息之后,获取所述第一用户的第一偏好信息的标签向量,以及,基于所述第一偏好信息和所述标签向量,计算所述排序模型的评估指标。
本说明书另一方面提供一种基于排序模型的商品展示方法,所述方法包括:获取用户的当前特征信息;将所述当前特征信息输入通过根据上述模型训练方法训练的排序模型,以获取所述用户的偏好信息,其中,所述偏好信息对应于所述用户对至少一个商品特征的偏好程度;基于所述偏好信息,获取对多个商品的排列顺序;以及,基于所述排列顺序,对所述用户展示所述多个商品中的至少一个商品。
本说明书另一方面提供一种训练排序模型的装置,所述排序模型包括神经网络,所述装置包括:
第一获取单元,配置为,获取第一特征信息,其中所述第一特征信息为多个用户中的第一用户的当前特征信息;
模型使用单元,配置为,将所述第一特征信息输入当前的所述排序模型,以输出对多个商品的排列顺序,其中,所述排列顺序基于第一偏好信息获取,其中,所述第一偏好信息基于当前的所述神经网络中与所述第一特征信息对应的概率密度函数获取,其中,所述概率密度函数为偏好信息的概率密度函数,其中,所述偏好信息对应于用户对至少一个商品特征的偏好程度;
第二获取单元,配置为,获取所述第一用户的反馈,其中,所述反馈通过基于所述排列顺序对所述第一用户展示所述多个商品中的至少一个商品而获取;
第三获取单元,配置为,基于所述排列顺序和所述反馈,获取与所述第一偏好信息对应的第一回报值;
第四获取单元,配置为,获取所述第一用户在所述反馈之后的第二特征信息;以及
训练单元,配置为,根据策略梯度算法,基于所述第一特征信息、所述第一偏好信息、所述第一回报值和所述第二特征信息,训练所述神经网络,以调整所述概率密度函数的参数,以使得,相比于训练前,基于所述第一特征信息,在所述训练后的所述排序模型获取的总收益增大,其中所述总收益为自所述第一特征信息开始的全部特征信息对应的各个回报值之和。
在一个实施例中,在所述训练排序模型的装置中,所述排序模型还包括价值网络,所述价值网络和所述策略网络共享所述神经网络,其中,所述价值网络用于计算与特征信息对应的总收益,其中,所述训练单元包括:
第一训练子单元,配置为,基于所述第一特征信息、所述第一回报值和所述第二特征信息,通过随机梯度下降法训练所述价值网络,以使得相比于训练前,训练后的价值网络输出的与所述第一特征信息对应的总收益更接近标签值,其中所述标签值基于所述第一回报值和所述第二特征信息获取;
获取子单元,配置为,通过训练后的价值网络获取与所述第一偏好信息对应的优势函数的值,所述优势函数的值基于所述第一回报值、与所述第一特征信息对应的总收益、以及与所述第二特征信息对应的总收益获取;
第二训练子单元,配置为,基于所述优势函数的值、所述第一特征信息和所述第一偏好信息,通过随机梯度下降法训练所述策略网络,以使得相比于训练前,基于所述第一特征信息,经过训练后的策略网络的总收益增大。
在一个实施例中,在所述训练排序模型的装置中,所述偏好信息为k维权重向量,所述向量包括的k个权重与所述至少一个商品特征分别对应,其中,所述装置还包括排序单元,所述排列顺序通过所述排序单元获取,所述排序单元包括:
获取子单元,配置为,获取所述多个商品各自的关于所述至少一个商品特征的特征向量;
内积子单元,配置为,通过将所述多个商品的各自的特征向量分别与所述k维权重向量进行内积,获取所述多个商品的各自的排序分数;以及
排序子单元,配置为,基于所述排序分数,获取所述排列顺序。
在一个实施例中,所述训练排序模型的装置还包括,第五获取单元,配置为,在将所述第一特征信息输入当前神经网络,以获取所述第一用户的第一偏好信息之后,获取所述第一用户的第一偏好信息的标签向量,以及,评估单元,配置为,基于所述第一偏好信息和所述标签向量,评估所述排序模型。
本说明书另一方面提供一种基于排序模型的商品展示装置,包括:
获取单元,配置为,获取用户的当前特征信息;
模型使用单元,配置为,将所述当前特征信息输入通过根据权利要求1所述的方法训练的排序模型,以输出对多个商品的排列顺序;以及
展示单元,配置为,基于所述排列顺序,对所述用户展示所述多个商品中的至少一个商品。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述模型训练方法和排序方法。
通过根据本说明书实施例的商品排序方案,可通过排序模型根据用户的反馈动态地学习用户对产品的偏好,而不需要对学习样本进行标注。通过根据本说明书实施例的商品展示方案,基于排序分对商品排序,并基于商品的排列顺序,向用户展示商品,从而根据用户偏好对用户展示商品和商品位置,起到了个性化的推荐作用。另外,本说明书实施例还提出一种合理的评估机制,保证该排序模型在上线之前可进行有效的评估,最大程度避免了上线后可能出现的偏差。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出了根据本说明书实施例的排序系统100的示意图;
图2示出了根据本说明书实施例的一种训练排序模型的方法的流程图;
图3示出了根据本说明书实施例的一种基于排序模型的商品展示方法的流程图;
图4示出根据本说明书实施例的一种训练排序模型的装置400;以及
图5示出根据本说明书实施例的一种基于排序模型的商品展示装置500。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出了根据本说明书实施例的排序系统100的示意图。如图1所示,系统100中包括策略网络11、价值网络12、排序单元13和评估单元14。其中,策略网络11、价值网络12、排序单元13构成根据本说明书实施例的排序模型。评估单元14用于对排序模型进行评估。其中,策略网络11和价值网络12共享神经网络,其中,所述神经网络可以为以下一种神经网络:LSTM、DNN、CNN和RNN。该系统基于策略梯度算法进行深度强化学习,所述策略梯度算法可包括多种算法,如Actor-Critic算法、A3C算法、DDPG算法等等。下面以Actor-Critic算法(AC算法)为例对本说明书实施例的方法进行概述。
在训练包括策略网络11和价值网络12的模型时,首先对策略网络11输入第一特征信息s1,作为AC算法中的状态s1,其中第一特征信息为多个用户中的第一用户的当前特征信息。在策略网络11中,根据多个用户的多个特征及多个特征的取值,将所述多个特征预设为预定数目个状态,每个状态对应于一个概率密度函数,该概率密度函数为偏好信息的概率密度函数,所述偏好信息对应于用户对至少一个商品特征的偏好程度。即,所述偏好信息对应于AC算法中的动作a。在对策略网络11输入s1之后,策略网络11根据s1获取对应的概率密度函数,即动作a的策略函数π(a∣s1),根据该策略函数确定动作a的取值a1(第一偏好信息),并将a1发送给排序单元13。从而排序单元13可根据该第一偏好信息针对第一用户确定对多个商品的排列顺序。
在确定上述排序之后,系统基于该排序在例如APP中将多个商品中的至少一个商品展示给第一用户,并接收第一用户的反馈,如曝光、点击、使用等。根据该反馈和排序,价值网络12可获得与该第一偏好信息a对应的第一回报r1。另外,在动作a1之后,即,在第一用户根据上述排序的多个商品进行反馈之后,价值网络12可获取第一用户的新的状态s2(第二特征信息)。可通过随机梯度下降法基于r1、s1和s2训练价值网络12。训练后的价值网络12相对于第一用户的状态s1、s2分别输出对应的价值v1和v2,并基于r1、v1和v2计算优势函数的值A(s1,a1)。
策略网络11从训练后的价值网络12获取优势函数的值A(s1,a1)。可通过A(s1,a1)、s1和a1训练所述策略网络,以使得排序模型的总收益增大。
另外,评估单元14基于策略网络11预测的第一偏好信息a1、从日志数据获取的第一偏好信息的标签向量y1、以及关于用户是否使用商品的反馈信息,可计算排序模型的评估指标,以对排序模型进行评估。
可以理解,图1只是对本说明书实施例的示意说明,并不用于限制系统100的构成。例如,根据策略梯度算法的不同,排序模型不一定包括策略网络和价值网络,而可以通过一个网络或更多的网络进行强化学习。例如,在A3C算法(异步优势Actor-Critic算法)中,通过针对多组用户并行运行多个相同的模型进行学习,并相互传递参数,从而可避免样本的高度相关性。另外,例如,价值网络12不一定根据一次状态的返回值进行训练,而可以根据多次状态的返回值(N-step return)进行训练。另外,对策略网络11的训练中,还可以考虑关于策略熵的损失函数,以平衡动作的探索和利用。
图2示出了根据本说明书实施例的一种训练排序模型的方法的流程图。所述排序模型包括神经网络。所述方法包括:
在步骤S202,获取第一特征信息,其中所述第一特征信息为多个用户中的第一用户的当前特征信息;
在步骤S204,将所述第一特征信息输入当前的所述排序模型,以输出对多个商品的排列顺序,其中,所述排列顺序基于第一偏好信息获取,其中,所述第一偏好信息基于当前的所述神经网络中与所述第一特征信息对应的概率密度函数获取,其中,所述概率密度函数为偏好信息的概率密度函数,其中,所述偏好信息对应于用户对至少一个商品特征的偏好程度;
在步骤S206,获取所述第一用户的反馈,其中,所述反馈通过基于所述排列顺序对所述第一用户展示所述多个商品中的至少一个商品而获取;
在步骤S208,基于所述排列顺序和所述反馈,获取与所述第一偏好信息对应的第一回报值;
在步骤S210,获取所述第一用户在所述反馈之后的第二特征信息;以及
在步骤S212,根据策略梯度算法,基于所述第一特征信息、所述第一偏好信息、所述第一回报值和所述第二特征信息,训练所述神经网络,以调整所述概率密度函数的参数,以使得,相比于训练前,基于所述第一特征信息,在所述训练后的所述排序模型获取的总收益增大,其中所述总收益为自所述第一特征信息开始的全部特征信息对应的各个回报值之和。
首先,在步骤S202,获取第一特征信息,其中所述第一特征信息为多个用户中的第一用户的当前特征信息。在本说明书实施例中,通过几百量级的特征表示用户的特征信息。这些特征包括:(1)属性特征,如性别,年龄,地域等,(2)偏好特征,如用户的收支、消费力、偏好品牌、类目偏好等,(3)行为特征,在一段时间内高频行为序列,如对各个商品的点击、使用或购买等等。在这些特征中,部分特征可从用户的注册信息中获取,部分特征可从用户登录APP之后的日志数据获取,部分特征可通过将日志数据输入已有模型中预测获取。
在所述神经网络中,如前文所述,根据特征信息中包括的各个特征的取值,预设有关于特征信息的多个状态si,si的个数依据模型要求的预测准确度而设定,例如为几万、几十万量级。在获取第一特征信息之后,可基于该特征信息获取模型中与之匹配的状态s1。
在步骤S204,将所述第一特征信息输入当前的所述排序模型,以输出对多个商品的排列顺序,其中,所述排列顺序基于第一偏好信息获取,其中,所述第一偏好信息基于当前的所述神经网络中与所述第一特征信息对应的概率密度函数获取,其中,所述概率密度函数为偏好信息的概率密度函数,其中,所述偏好信息对应于用户对至少一个商品特征的偏好程度。
如上所述,在所述神经网络中,预设有关于特征信息的多个状态si,每个状态si对应于一个概率密度函数。在获取第一特征信息,将该第一特征信息输入排序模型,并基于该特征信息获取模型中与之匹配的状态s1之后,可获取该状态s1对应的第一概率密度函数。
所述排序模型通过策略梯度算法进行训练,上述概率密度函数即在状态s下,动作a的取值概率π(a∣s),其中,第一概率密度函数为π(a∣s1)。在本说明书实施例中,以表示用户对商品特征的偏好程度的偏好信息作为动作。这里涉及的商品可以是实物商品,也可以是服务商品。例如,所述商品为APP中展示的多个贷款产品,这些贷款产品的商品特征可包括贷款利率、贷款额度、用户使用次数等等。从而,可以将偏好信息表示为三维权重向量(ω1,ω2,ω3),其中ω1表示用户对贷款利率的偏好程度,ω2表示用户对贷款额度的偏好程度,以及ω3表示用户对其使用次数的偏好程度。假设权重的每个维度ωi都满足正态分布,即ωi的取值概率密度函数Pi服从以下公式(1)。
其中,ωi的取值范围为-∞至∞。
从而,第一概率密度函数满足以下公式(2)。
π(a∣s1)=P1*P2*P3 (2)
在对排序模型输入s1之后,排序模型基于s1获取对应的π(a∣s1),如公式(2)所示,P1、P2和P3分别体现了通过当前模型预测的第一用户对各个商品特征的偏好的分布。
根据公式(2),基于P1、P2和P3,可对第一用户的偏好信息进行取值,以获取第一用户的第一偏好信息a1。例如,可将ω1,ω2,ω3分别取值为与P1、P2和P3分别对应的μ1、μ2和μ3(即各个正态分布的期望值),从而获取第一偏好信息a1,可表示为(ω1′,ω2′,ω3′)。在另一个实施例中,可通过高斯累积分布函数的逆函数Fi(x)表示ωi,其中x取值范围为[0,1],通过分别获取[0,1]之间的随机数,并将所述随机数分别代入Fi(x),从而可分别获取ωi的取值,从而可获取第一偏好信息(ω1′,ω2′,ω3′)。该第一偏好信息a1为当前排序模型相对于状态s1预测的偏好信息。
在获取所述第一偏好信息之后,在一个实施例中,获取所述多个商品各自的关于所述至少一个商品特征的特征向量其中t表示商品编号,1,2,…k表示特征编号。例如,如上所述,所述多个商品为APP中提供的多个贷款产品,所述至少一个商品特征包括贷款利率、贷款额度、用户使用次数三个特征,则产品t的特征向量为其中为产品t的贷款利率值,为产品t的贷款额度值,为产品t的用户使用次数。通过将第一用户的第一偏好信息(ω1′,ω2′,ω3′)与产品的特征向量进行内积,从而可根据公式(3)获取针对第一用户的各个产品的排序分St。
从而可根据多个商品各自的排序分,对所述多个商品进行排序。商品的St越高,说明用户对该商品越偏重,从而可将该商品排在更靠前的位置。
上述获取排序分的计算方法只是一种示例方法,还可以根据业务需要采用其它的计算方法。例如,对于商品的特征向量,可以对贷款利率、贷款额度、用户使用次数等具体数值进行归一化转换,对偏好信息中的权重向量ωi进行归一化转换等等。
在步骤S206,获取所述第一用户的反馈,其中,所述反馈通过基于所述排列顺序对所述第一用户展示所述多个商品中的至少一个商品而获取。根据所述排列顺序,可以将排序靠前的预定数目的商品展示给第一用户。根据所述排列顺序,通过将排序分越高的商品置于对于第一用户更显著的位置(例如,最前面的位置,更大的位置等),从而可促进用户对关注商品的反馈。所述反馈包括如曝光、点击、使用或者购买等动作,以及所述曝光、点击、使用或者购买所针对的商品。这些数据都以日志的形式被系统收集起来,可以用于获取回报值,另外,还可以用于更新第一用户的特征信息。
在步骤S208,基于所述排列顺序和所述反馈,获取与所述第一偏好信息对应的第一回报值。在一个实施例中,可以将曝光、点击和使用(或购买)设置为分别对应于从小至大的第一数值,可以将所述曝光、点击和使用(或购买)各自对应的商品依据其排列的位置对应于第二数值,其中,位置越靠前,所述第二数值越大,从而可基于第一数值和第二数据获取第一回报值r1,例如,使得第一回报值等于所述第一数值与所述第二数值的乘积、或者与该乘积成比例。也就是说,用户在使用特定产品时,该排序产生的反馈效果较大,也即,排序模型的回报值较大,而该特定产品在排序中越靠前,说明排序越正确,从而,回报值也会越大。
在步骤S210,获取所述第一用户在所述反馈之后的第二特征信息。如上述步骤S202中所述,用户的特征信息中包括了偏好特征、行为特征等多个特征。因此,第一用户在进行上述反馈之后,第一用户本身的特征信息也发生了相应的变化,从而可根据第一用户的日志数据、及基于该日志数据的预测数据,获取第一用户的第二特征信息。在获取第二特征信息之后,可基于该特征信息获取模型中与之匹配的状态s2,s2可能与s1相同,也可能与s1是两个不同的状态。
在步骤S212,根据策略梯度算法,基于所述第一特征信息、所述第一偏好信息、所述第一回报值和所述第二特征信息,训练所述神经网络,以调整所述概率密度函数的参数,以使得,相比于训练前,基于所述第一特征信息,在所述训练后的所述排序模型获取的总收益增大,其中所述总收益为自所述第一特征信息开始的全部特征信息对应的各个回报值之和。
如图1中所示,在一个实施例中,排序模型包括策略网络和价值网络,其共享模型中的神经网络结构,承担不同的任务。策略网络用于从用户的特征信息si决策用户的偏好信息ai,以用于获得对用户的商品排序。例如,基于所述第一特征信息,通过当前策略网络获取与所述第一特征信息对应的概率密度函数,以用于获得对第一用户的商品排序。价值网络计算特征信息si能获得的总收益V(si),以用于策略网络的训练。
下面说明本说明书实施例的排序模型的具体的训练过程。
首先,基于所述第一特征信息s1、所述第一回报值r1和所述第二特征信息s2,通过随机梯度下降法训练所述价值网络,以使得相比于训练前,训练后的价值网络输出的与所述第一特征信息对应的总收益更接近标签值,其中所述标签值基于所述第一回报值r1和所述第二特征信息s2获取。
这里,损失函数如公式(4)所示:
Lv=(r+γV(s2)-V(s1))2 (4)
通过梯度下降法,通过以下公式(5)更新策略网络的参数:
其中,R=r+γV(s2),si为s1,γ为折扣系数,取值范围为[0,1],r取值为r1。参考上述公式(4)和(5)可见,通过输入r1、s1和s2,可调整价值网络的参数,使得价值网络的损失函数值减小,也即,使得V(s1)更接近r+γV(s2),这里,r+γV(s2)即为V(s1)的标签值。
根据AC算法,通过训练后的价值网络可获取与所述第一偏好信息对应的优势函数的值,该优势函数的值可用于训练策略网络。如公式(6)所示,所述优势函数的值基于所述第一回报值、与所述第一特征信息对应的总收益、以及与所述第二特征信息对应的总收益获取。
A(s1,a1)=r1+γV(s2)-V(s1) (6)
基于所述优势函数的值、所述第一特征信息和所述第一偏好值,通过随机梯度下降法训练所述策略网络,以使得相比于训练前,基于所述第一特征信息,经过训练后的策略网络的总收益增大。
策略网络的总收益J(π)可通过公式(7)示出:
J(π)=E[V(s)] (7)
由于策略网络的总收益越大越好,因此,可将策略网络的损失函数LJ设置为
LJ=-J(π) (8)
根据J(π)函数的梯度,可通过以下公式(9)更新策略网络的参数:
其中即上述公式(6)计算的优势函数A(s,a),π(ai|si;θ′)为上述公式(2)所示的概率密度函数,即,θ’为公式(1)中所示的μi和σi,这里将a1和s1代入公式(9)进行计算。从而,通过对策略网络输入a1、s1和A(s1,a1),可通过梯度下降法调整策略函数π(a∣s1)中的参数,从而获取新的概率密度函数,该新的概率密度函数可使得策略网络针对s1的总收益增大。
上述参考图2描述了训练根据本说明书实施例的排序模型的流程图,图2中只是描述了通过随机梯度下降法进行模型训练的一个循环,在实际训练中,会从APP的预定时段的多个用户的日志数据中获取巨量数据。例如,从三个月的日志数据中获取几千万个样本,其中,每个样本包括一个用户的特征信息xi(对应于上文第一特征信息)、偏好信息标签向量yi、以及该用户的反馈信息δi,从而获取样本集:S=((x1,y1,δ1),…,(xn,yn,δn)),以用于通过图2所示流程对排序模型进行多次训练。从而获取与各个状态si对应的概率密度函数,以用于根据不同用户的特征信息xi来预测针对不同用户的商品排序。其中,偏好信息标签向量yi用于对排序模型进行评估,这在下文进行描述。
另外,尽管上文以随机梯度下降法为例说明了对所述排序模型的训练,然而,对所述排序模型的训练方法不限于随机梯度下降法,而是可以使用其它本领域技术人员已知的各种训练方法,如批量梯度下降法(BGD)、小批量梯度下降法(MBGD)、适应性动量估计法(Adam)、RMSprop法等本领域公知的优化算法。
在完成对排序模型的训练之后,可基于偏好信息标签向量yi和用户的反馈信息δi进行模型的评估。首先,获取训练样本中反馈信息为使用的多个第一样本,在多个第一样本中,对其中模型预测的偏好信息ai与偏好信息标签向量yi一致的样本进行计数,得到第一计数N,对其中模型预测的偏好信息ai与偏好信息标签向量yi不一致的样本进行计数,得到第二计数M。从而可如公式(10)计算评估指标P:
在自动化推荐场景中,该指标P可对应于多个商品的各个位置的线性和。
图3示出了根据本说明书实施例的一种基于排序模型的商品展示方法的流程图。所述方法包括以下步骤S302-S306。
在步骤S302,获取用户的当前特征信息。该步骤的具体实施可参考上文对图2中步骤S202的描述,在此不再赘述。
在步骤S304,将所述当前特征信息输入通过图2所示方法训练的排序模型,以输出对多个商品的排列顺序。该步骤的具体实施可参考上文对图2中步骤S204的描述,在此不再赘述。
在步骤S306,基于所述排列顺序,对所述用户展示所述多个商品中的至少一个商品。该步骤的具体实施可参考上文对图2的步骤S206的描述,在此不再赘述。
图4示出根据本说明书实施例的一种训练排序模型的装置400,所述排序模型包括神经网络,所述装置包括:
第一获取单元41,配置为,获取第一特征信息,其中所述第一特征信息为多个用户中的第一用户的当前特征信息;
模型使用单元42,配置为,将所述第一特征信息输入当前的所述排序模型,以输出对多个商品的排列顺序,其中,所述排列顺序基于第一偏好信息获取,其中,所述第一偏好信息基于当前的所述神经网络中与所述第一特征信息对应的概率密度函数获取,其中,所述概率密度函数为偏好信息的概率密度函数,其中,所述偏好信息对应于用户对至少一个商品特征的偏好程度;
第二获取单元43,配置为,获取所述第一用户的反馈,其中,所述反馈通过基于所述排列顺序对所述第一用户展示所述多个商品中的至少一个商品而获取;
第三获取单元44,配置为,基于所述排列顺序和所述反馈,获取与所述第一偏好信息对应的第一回报值;
第四获取单元45,配置为,获取所述第一用户在所述反馈之后的第二特征信息;以及
训练单元46,配置为,根据策略梯度算法,基于所述第一特征信息、所述第一偏好信息、所述第一回报值和所述第二特征信息,训练所述神经网络,以调整所述概率密度函数的参数,以使得,相比于训练前,基于所述第一特征信息,在所述训练后的所述排序模型获取的总收益增大,其中所述总收益为自所述第一特征信息开始的全部特征信息对应的各个回报值之和。
在一个实施例中,在所述训练排序模型的装置中,所述排序模型还包括价值网络,所述价值网络和所述策略网络共享所述神经网络,其中,所述价值网络用于计算与特征信息对应的总收益,其中,所述训练单元46包括:
第一训练子单元461,配置为,基于所述第一特征信息、所述第一回报值和所述第二特征信息,通过随机梯度下降法训练所述价值网络,以使得相比于训练前,训练后的价值网络输出的与所述第一特征信息对应的总收益更接近标签值,其中所述标签值基于所述第一回报值和所述第二特征信息获取;
获取子单元462,配置为,通过训练后的价值网络获取与所述第一偏好信息对应的优势函数的值,所述优势函数的值基于所述第一回报值、与所述第一特征信息对应的总收益、以及与所述第二特征信息对应的总收益获取;
第二训练子单元463,配置为,基于所述优势函数的值、所述第一特征信息和所述第一偏好信息,通过随机梯度下降法训练所述策略网络,以使得相比于训练前,基于所述第一特征信息,经过训练后的策略网络的总收益增大。
在一个实施例中,在所述训练排序模型的装置中,所述偏好信息为k维权重向量,所述向量包括的k个权重与所述至少一个商品特征分别对应,其中,所述装置还包括排序单元47,所述排列顺序通过排序单元47获取,所述排序单元47包括:
获取子单元471,配置为,获取所述多个商品各自的关于所述至少一个商品特征的特征向量;
内积子单元472,配置为,通过将所述多个商品的各自的特征向量分别与所述k维权重向量进行内积,获取所述多个商品的各自的排序分数;以及
排序子单元473,配置为,基于所述排序分数,获取所述排列顺序。
在一个实施例中,所述装置400还包括,第五获取单元48,配置为,在将所述第一特征信息输入当前神经网络,以获取所述第一用户的第一偏好信息之后,获取所述第一用户的第一偏好信息的标签向量,以及,评估单元49,配置为,基于所述第一偏好信息和所述标签向量,评估所述排序模型。
图5示出根据本说明书实施例的一种基于排序模型的商品展示装置500,包括:
获取单元51,配置为,获取用户的当前特征信息;
模型使用单元52,配置为,将所述当前特征信息输入通过根据权利要求1所述的方法训练的排序模型,以输出对多个商品的排列顺序;以及
展示单元53,配置为,基于所述排列顺序,对所述用户展示所述多个商品中的至少一个商品。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2和图3所示方法。
通过根据本说明书实施例的商品排序方案,可通过排序模型根据用户的反馈动态地学习用户对产品的偏好,而不需要对学习样本进行标注。通过根据本说明书实施例的商品展示方案,基于排序分对商品排序,并基于商品的排列顺序,向用户展示商品,从而根据用户偏好对用户展示商品和商品位置,起到了个性化的推荐作用。另外,本说明书实施例还提出一种合理的评估机制,保证该排序模型在上线之前可进行有效的评估,最大程度避免了上线后可能出现的偏差。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。