一种基于强化学习模型的奖励资源发放方法和装置
技术领域
本说明书实施例涉及机器学习,更具体地,涉及一种基于强化学习模型的奖励资源发放方法和装置。
背景技术
近年来,移动互联网O2O蓬勃发展,平台怎么吸引用户来参加平台举办的营销活动,提高用户活跃度是各公司一直在思考和努力的地方。现有的一些个性化营销方案中,有一类是鼓励用户一定时间周期内连续多次参加活动,这类活动在活动窗口内的某些时间点给予用户一些奖励以鼓励用户连续参加活动,以达到提高日活的目的,所述多次活动例如为连续签到领红包活动。同时在营销场景中,成本是非常关键的因素,其直接决定了活动的形式和效果。基本上每种营销活动前都会制定好成本消费方案,活动中根据活动效果和成本消耗情况来调整方案,以达到最优的效果。
在过去,面对数量庞大的用户群,通常按照一些简单、粗粒度的规则来指定营销方案,而不能精准的识别用户。近来年随着机器学习的发展特别是深度学习的日益成熟,通过机器学习建模的方法来对用户、奖励及其对应的反馈来进行建模,以达到更细粒度的刻画用户,提升营销效果的目的。在推荐,排序等场景中广泛使用的机器学习模型比如DNN,GBDT,其在营销场景中对建模单天比较合适,但无法建模有时序的多步场景。
因此,需要一种更有效的奖励资源发放方案。
发明内容
本说明书实施例旨在提供一种更有效的奖励资源发放方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种奖励资源发放方法,所述方法由平台服务器执行,包括:
在第一用户在预定时段内进行预定行为之后,获取第一用户的特征信息,所述特征信息中包括所述第一用户的第一用户档位,并且所述特征信息与所述预定时段相对应;以及
将所述特征信息输入预先训练的强化学习模型,以在所述强化学习模型中,从与所述第一用户档位对应的预定个数的数值中确定将对该第一用户发放的奖励资源的数目。
在一个实施例中,所述特征信息中还包括以下信息中的至少一种信息:属性信息、历史行为信息、活跃度以及画像信息。
在一个实施例中,所述预定行为为以下任一行为:签到、登录、消费。
在一个实施例中,所述第一用户档位基于所述第一用户的活跃度确定。
在一个实施例中,所述强化学习模型为Q学习模型。
在一个实施例中,所述Q学习模型通过以下步骤训练:
在第二用户在第一预定时段内进行所述预定行为之后,获取第二用户的第一特征信息,该第一特征信息中包括所述第二用户的第二用户档位,并且所述第一特征信息与所述第一预定时段相对应,其中,所述第二用户为预先确定的训练用户集中的用户;
从与所述第二用户档位对应的预定个数的第一数值中随机确定一个第一数值作为第一数目;
对所述第二用户发放所述第一数目的奖励资源;
基于所述第二用户针对所述发放的反馈,确定与所述发放对应的回报值;
获取所述第二用户在所述第一预定时段之后的第二特征信息,以及
基于所述第一特征信息、第一数目、所述回报值和所述第二特征信息,训练所述Q学习模型。
在一个实施例中,基于所述第一特征信息、第一数目、所述回报值和所述第二特征信息,训练所述Q学习模型还包括,基于所述Q学习模型对预定个数的Q值的计算训练所述Q学习模型,每个所述Q值与所述第一特征信息和一个第一数值相对应,以使得各个Q值随各个第一数值单调递增。
在一个实施例中,所述预定行为为签到,所述回报值基于所述第二用户在所述第一预定时段之后的第二预定时段内是否再次签到而确定。
在一个实施例中,所述预定行为为签到,所述回报值基于所述第二用户在包括所述第一预定时段的预定周期内是否绑卡而确定。
在一个实施例中,所述方法还包括,在所述第二用户在所述预定周期内进行绑卡的情况中,从所述训练用户集中移出所述第二用户。
在一个实施例中,从与所述第一用户档位对应的预定个数的数值中确定将对该第一用户发放的奖励资源的数目包括,基于以所述Q学习模型计算的与每个数值对应的Q值减去与该数值对应的惩罚项之差的大小,确定将对该第一用户发放的奖励资源的数目,其中,所述惩罚项为预先确定的惩罚系数与对应的数值的乘积。
在一个实施例中,所述惩罚系数通过以下步骤确定:
对于预先确定的测试用户集中包括的多个第三用户中的每个第三用户,
在该第三用户在第三预定时段内进行预定行为之后,获取该第三用户的特征信息,该特征信息包括所述第三用户的第三用户档位,并且该特征信息与所述第三预定时段相对应;
从与所述第三用户档位对应的预定个数的数值中随机确定一个数值作为第二数目;
对所述第三用户发放所述第二数目的奖励资源;
基于所述第三用户针对所述发放的反馈,确定与所述发放对应的回报值;以及
基于所述测试用户集中各个第三用户的特征信息、第二数目及回报值,确定所述Q学习模型的惩罚系数,基于所述惩罚系数的惩罚项使得,对于所述Q学习模型的目标用户集合,相比于没有惩罚项的情况,以降低或相同的总成本获取更高的总收益,其中,所述总收益基于目标用户集合中各个目标用户的回报值确定。
在一个实施例中,基于所述测试用户集中各个第三用户的特征信息、第二数目及回报值,确定所述Q学习模型的惩罚系数包括,基于各个第三用户的特征信息、第二数目及回报值,结合重要性采样方法,确定所述惩罚系数。
在一个实施例中,所述Q学习模型中与每个用户档位对应的各个Q值具有相对于该档位包括的各个数值的单调递增性,其中,基于所述测试用户集中各个第三用户的特征信息、第二数目及回报值,确定所述Q学习模型的惩罚系数包括,基于各个第三用户的特征信息、第二数目及回报值,通过比较从零递增的各个惩罚系数下的总成本和总收益,确定所述惩罚系数。
在一个实施例中,所述Q学习模型中与每个用户档位对应的各个Q值具有相对于该档位包括的各个数值的单调递增性,其中,在预定总成本降低的情况中,基于所述测试用户集中各个第三用户的特征信息、第二数目及回报值,确定所述Q学习模型的惩罚系数包括,基于各个第三用户的特征信息、第二数目及回报值,通过二分查找法确定所述惩罚系数。
本说明书另一方面提供一种奖励资源发放装置,所述装置部署在平台服务器中,包括:
第一获取单元,配置为,在第一用户在预定时段内进行预定行为之后,获取第一用户的特征信息,所述特征信息中包括所述第一用户的第一用户档位,并且所述特征信息与所述预定时段相对应;以及
输入单元,配置为,将所述特征信息输入预先训练的强化学习模型,以在所述强化学习模型中,从与所述第一用户档位对应的预定个数的数值中确定将对该第一用户发放的奖励资源的数目。
在一个实施例中,所述强化学习模型为Q学习模型。所述Q学习模型通过训练装置训练,所述训练装置包括:
第二获取单元,配置为,在第二用户在第一预定时段内进行所述预定行为之后,获取第二用户的第一特征信息,该第一特征信息中包括所述第二用户的第二用户档位,并且所述第一特征信息与所述第一预定时段相对应,其中,所述第二用户为预先确定的训练用户集中的用户;
第一确定单元,配置为,从与所述第二用户档位对应的预定个数的第一数值中随机确定一个第一数值作为第一数目;
第一发放单元,配置为,对所述第二用户发放所述第一数目的奖励资源;
第二确定单元,基于所述第二用户针对所述发放的反馈,确定与所述发放对应的回报值;
第三获取单元,配置为,获取所述第二用户在所述第一预定时段之后的第二特征信息,以及
训练单元,配置为,基于所述第一特征信息、第一数目、所述回报值和所述第二特征信息,训练所述Q学习模型。
在一个实施例中,所述训练单元还配置为,基于所述Q学习模型对预定个数的Q值的计算训练所述Q学习模型,每个所述Q值与所述第一特征信息和一个第一数值相对应,以使得各个Q值随各个第一数值单调递增。
在一个实施例中,所述装置还包括,移出单元,配置为,在所述第二用户在所述预定周期内进行绑卡的情况中,从所述训练用户集中移出所述第二用户。
在一个实施例中,所述输入单元还配置为,基于以所述Q学习模型计算的与每个数值对应的Q值减去与该数值对应的惩罚项之差的大小,确定将对该第一用户发放的奖励资源的数目,其中,所述惩罚项为预先确定的惩罚系数与对应的数值的乘积。
所述惩罚系数通过成本控制装置确定,所述成本控制装置包括:
用于预先确定的测试用户集中包括的多个第三用户中的每个第三用户的,
第四获取单元,配置为,在该第三用户在第三预定时段内进行预定行为之后,获取该第三用户的特征信息,该特征信息包括所述第三用户的第三用户档位,并且该特征信息与所述第三预定时段相对应;
第三确定单元,配置为,从与所述第三用户档位对应的预定个数的数值中随机确定一个数值作为第二数目;
第二发放单元,配置为,对所述第三用户发放所述第二数目的奖励资源;
第四确定单元,配置为,基于所述第三用户针对所述发放的反馈,确定与所述发放对应的回报值;以及
第五确定单元,配置为,基于所述测试用户集中各个第三用户的特征信息、第二数目及回报值,确定所述Q学习模型的惩罚系数,基于所述惩罚系数的惩罚项使得,对于所述Q学习模型的目标用户集合,相比于没有惩罚项的情况,以降低或相同的总成本获取更高的总收益,其中,所述总收益基于目标用户集合中各个目标用户的回报值确定。
在一个实施例中,所述第五确定单元还配置为,基于各个第三用户的特征信息、第二数目及回报值,结合重要性采样方法,确定所述惩罚系数。
在一个实施例中,所述Q学习模型中与每个用户档位对应的各个Q值具有相对于该档位包括的各个数值的单调递增性,其中,所述第五确定单元还配置为,基于各个第三用户的特征信息、第二数目及回报值,通过比较从零递增的各个惩罚系数下的总成本和总收益,确定所述惩罚系数。
在一个实施例中,所述Q学习模型中与每个用户档位对应的各个Q值具有相对于该档位包括的各个数值的单调递增性,其中,在预定总成本降低的情况中,所述第五确定单元还配置为,基于各个第三用户的特征信息、第二数目及回报值,通过二分查找法确定所述惩罚系数。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的奖励资源发放方案中,通过使用Q学习模型,利用时序信息来建模多步的信息,从而达到更好的效果;通过随机策略来收集不同金额上的用户表现,去除其他潜在因素带来的误差;通过过滤掉样本中的非目标用户,保证数据拟合的正确性;通过使用单调性正则来保证金额和回报的递增单调性;通过结合IPS方法进行成本控制,给出比较可信的成本/收益对比。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出了根据本说明书实施例的奖励资源发放系统100的示意图;
图2示出根据本说明书实施例的训练Q学习模型的方法流程图;
图3示出根据本说明书实施例的用于Q学习模型的成本控制方法流程图;
图4示出根据本说明书实施例的一种奖励资源发放方法流程图;
图5还示出了根据本说明书实施例的奖励资源发放装置500;
图6示出根据本说明书实施例的训练装置600;
图7示出根据本说明书实施例的成本控制装置700。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出了根据本说明书实施例的奖励资源发放系统100的示意图。所述奖励资源为平台(例如O2O平台)中在用户进行预定行为之后对用户的奖励,以促使用户进一步进行所述预定行为,所述奖励资源例如可以为现金、优惠券、各种平台抵用资源(如平台积分)等等,所述预定行为例如为签到、登录、消费等等,下文中将针对签到发放现金奖励的实例进行示例说明。该系统100的目的旨在通过强化学习模型在例如用户连续签到过程中确定对该用户发放的现金金额序列。如图1所示,系统100中包括随机发放模块11、数据收集模块12、训练模块13、强化学习模型14、成本控制模块15和发放模块16,另外,所述系统100在强化学习模型14上线之前还预先确定了训练用户集和测试用户集,以分别用于对该模型的训练和成本控制。所述强化学习模型14例如为Q学习模型。可以理解,所述强化学习模型14不限于为Q学习模型,其还可以为基于策略梯度算法、或AC算法等的强化学习模型,或深度强化学习模型。这些强化学习模型的特点为,其可以基于输入的用户状态确定动作(即将发放的资源数目),并且其可以确定最优动作序列,并且这些模型都可以基于包括用户的状态、资源数目、回报值等的数据组进行训练。下文中,将以Q学习模型为例进行详细说明。
其中,首先通过随机发放模块11、数据收集模块12、训练模块13和训练用户集对强化学习模型14进行训练。具体是,当训练用户集中的某用户在一预定时段(例如一天)内触发数据收集模块12收集该用户的当前状态s1时,数据收集模块12将该用户的用户档位发送给随机发放模块11,随机发放模块11基于用户档位对应的多个发放金额,从中随机确定一个发放金额作为a1,并对该用户发放该金额的现金奖励。数据收集模块12在预定时间周期中进行对该用户的基于反馈的回报值r1的收集、在该预定时段之后收集该用户的状态s2,并将s1、a1、r1和s2作为训练数据发送给训练模块13,训练模块13基于该训练数据调整强化学习模型14的参数。
在通过训练用户集通过如上所述方法充分训练强化学习模型14之后,可通过成本控制模块15、随机发放模块11、数据收集模块12和测试用户集进行对强化学习模型14的成本控制。具体是,当测试用户集中的某用户在一预定时段内触发数据收集模块12收集该用户的当前状态s测时,数据收集模块12将该用户的用户档位发送给随机发放模块11。随机发放模块11基于用户档位对应的多个发放金额,从中随机确定一个发放金额作为a测,并对该用户发放该金额的现金奖励。数据收集模块12在预定时间周期中进行对该用户的基于反馈的回报值r测的收集,并将s测、a测和r测发送给成本控制模块15。成本控制模块15基于多个测试用户的多组上述数据,例如通过结合重要性采样方法(IPS),确定成本惩罚系数λ,以使得以较少或相等的成本获得更大收益。从而,Q学习模型在上线之后针对目标用户的状态s目标用户,可基于该成本惩罚系数输出针对该用户的发放金额a目标用户,并将该发放金额发送给发放模块16,以通过发放模块16对该用户发放相应金额的现金奖励。所述发放模块16中还可以预设另外的后置规则,例如用于新用户/作弊用户的后置调整规则等,从而可基于所述后置规则在模型输出的金额的基础上进一步进行调整。
可以理解,图1所示系统仅仅是示例性的,而不是限定性的,本说明书实施例的系统100不限于图1所示和上文描述的结构,例如,系统100中还可以包括样本过滤模块,以基于预定条件对样本进行过滤。
下文将详细描述上述各个过程。
图2示出根据本说明书实施例的训练Q学习模型的方法流程图,所述方法由发放奖励资源的平台执行,包括以下步骤:
步骤S202,在用户A在第一预定时段内进行所述预定行为之后,获取用户A的第一特征信息,该第一特征信息中包括所述用户A的用户档位,并且所述第一特征信息与所述第一预定时段相对应,其中,所述用户A为预先确定的训练用户集中的用户;
步骤S204,从与所述用户档位对应的预定个数的数值中随机确定一个数值作为第一数目;
步骤S206,对所述用户A发放所述第一数目的奖励资源;
步骤S208,基于所述用户A针对所述发放的反馈,确定与所述发放对应的回报值;
步骤S210,获取所述用户A在所述第一预定时段之后的第二特征信息,以及
步骤S212,基于所述第一特征信息、第一数目、所述回报值和所述第二特征信息,训练所述Q学习模型。
首先,在步骤S202,在用户A在第一预定时段内进行所述预定行为之后,获取用户A的第一特征信息s1,该第一特征信息中包括所述用户A的用户档位,并且所述第一特征信息与所述第一预定时段相对应,其中,所述用户A为预先确定的训练用户集中的用户。
在本说明书实施例中,预先确定多个用户构成训练用户集,以用于进行对Q学习模型的训练,假设在该训练用户集中包括用户A。通常,在营销场景中,有很多非发放金额因素影响着营销活动的效果。比如线上支付活跃的高频用户和与之对应的低频用户,发放金额对于高频用户不是那么敏感,他们的核销率一直很高,而低频用户本身的核销率本身很低。在营销活动的一般策略中,基本上对高频用户的发放金额偏低,低频用户的发放金额偏高,来达到高频用户降低成本,同时刺激低频用户核销的营销目的。用这种策略收集的样本有一个特点:高金额的核销率偏低,低金额的核销率偏高。如果用这种样本来来训练模型,拟合发放金额和营销结果的映射,结果上就会与预期的核销率随着金额上升而上升有误。因此,在本说明书实施例中,采用离线策略(off-policy)进行对Q学习模型的训练。在训练用户集中包括具有多个用户档位的用户,例如,可基于用户线上支付活跃度将用户分为高、中、低三个档位,例如,可使得训练用户集中包括的各个档位的用户数量比例与全体用户中的上述比例基本相同。在确定用户档位之后,可确定每个用户档位对应的预定数目个金额档位,所述金额即为将发送给用户作为奖励的现金金额。在进行上述分档之后,在训练时,可对用户随机发放其用户档位中的一个金额档位,从而可避免上述问题。可以理解,这里虽然以对签到用户发放现金奖励为例进行说明,本说明书实施例不限于此,例如,所述奖励例如可以为积分奖励、优惠券奖励等等。
通常,可将高频用户的各个金额档位设置为较低,例如,对于高频用户,可设置例如3个金额档位:[0.1,0.2,0.3],对于中频用户,可设置例如3个金额档位:[0.6,0.7,0.8],对于低频用户,可设置例如3个金额档位:[1.1,1.2,1.3]。可以理解,上述金额档位的金额和个数都仅仅是示意性的,并不用于限制本说明书实施例,例如,可将各个用户档位的金额档位数设置为各不相同,例如,将上述低频用户的档位数设置为5个等等。另外,在本说明书实施例中,不限于基于用户的在线支付活跃度进行对用户的分档,而可以基于用户的其它属性,如平台综合活跃度、用户画像等,进行对用户的分档。
所述预定行为例如为签到,所述平台例如将要通过连续签到发红包的活动促进用户在该平台的活跃度。在训练阶段,平台可仅对训练用户集中的用户公布连续签到领红包的活动。从而,所述第一预定时段例如为用于训练Q学习模型的预定周期中的一天。所述预定周期也即预定好的用于训练Q学习模型的一个周期(episode),例如为一周。可以理解,所述预定行为不限于为签到,例如还可以为登录、交易等在平台容易重复发生的行为,对于这些行为都可以通过发放奖励的方式促使用户重复进行。
在该预定周期中的例如第一天中,用户A在该天首次进行预定行为(例如签到)之后,将触发对该模型的一次训练过程。具体是,用户A在该天首次签到之后,将触发平台通过例如图1中的数据收集模块12获取用户A的与所述第一天对应的特征信息、或当前特征信息,也即用户A的第一特征信息s1。该数据收集模块12主要用于:收集用户的特征数据,将实时特征进行同步,将统计特征进行定期更新,测试扩展有用的特征。具体是,数据收集模块12首先收集用户的属性信息,比如用户的年龄,性别,学历等。然后基于属性信息,以及用户在APP的历史行为,做进一步的数据挖掘,得到用户的活跃度,所述活跃度例如为在线支付活跃度;然后通过用户在平台的交易数据,进一步获取用户画像,进行精准刻画;最后对用户在平台的历史行为统计,做一些特征分桶和离散化,例如,基于预定标准,对用户进行分档,从而在用户的特征信息中包括用户的用户档位,从而得到最终的特征,所述用户档位例如可基于所述活跃度确定。也就是说,通过数据收集模块12确定的例如用户A的第一特征信息包括了用户A在平台进行的全部事件的影响,其中也包括了用户A的用户档位,另外还可以包括以下至少一种信息:属性信息、历史行为信息、活跃度以及画像信息。所述数据收集模块例如可在每天预定时刻(例如零点)确定用户当天的特征信息,即,在该场景中,用户的特征信息与每天是相对应的。所述数据收集模块或者可在用户A触发时刻确定用户当天的特征信息。例如,用户A例如在所述一周的第二天中进行签到之后,通过数据收集模块获取的用户A的与第二天对应的特征信息将包括该周第一天用户A的签到历史行为、及平台在第一天中对用户A发放的奖励金额。用户A例如在所述一周的第三天中进行签到之后,通过数据收集模块获取的用户A的与第三天对应的特征信息将包括该周第一天、第二天用户A的签到历史行为、及平台在第一天、第二天中对用户A发放的奖励金额。
在步骤S204,从与所述用户档位对应的预定个数的数值中随机确定一个数值作为第一数目a1。
例如,用户A为高频用户,对高频用户预设有三个金额档位[0.1,0.2,0.3],从而在Q学习模型中可预设为在该三个数值中随机确定一个数值,例如,可随机确定0.2作为第一数目,所述第一数目即为将发放给用户A的奖励金额。
这种灵活的档位划分方式非常适合营销活动中的目标和成本调整。比如当想给某些档位的用户提高奖励额度,可以直接修改该类用户的金额档位到高金额档位;当需要控制成本时,将用户的档位调整为低金额列表档位即可。当需要更精细的成本控制时,如需稍稍调高用户的发放金额均值,可以在金额列表中去掉若干低金额,补充若干高金额来达到目的;当运营需要临时变更,需要严格控制发放时,也可以调整金额列表为固定的金额。
而如上文所述,在训练过程中,通过对各个用户以等概率随机发放其用户档位中包括的一个金额档位,让金额这一因子对营销效果的影响体现在训练样本中。
在步骤S206,对所述用户A发放所述第一数目的奖励资源。在确定第一数目之后,可对该用户A发放该第一数目(例如0.2元)的现金红包。也就是说,在通过离线策略训练Q学习模型的情况中,通过随机策略从用户A对应的多个金额中随机确定一个金额作为对用户A发放的奖励金额。
在步骤S208,基于所述用户A针对所述发放的反馈,确定与所述发放对应的回报值r1。
在本说明书实施例中,可根据平台营销需求,基于特定的反馈确定回报值。所述反馈例如包括:是否签到、是否复登、是否到店、是否绑卡、是否花呗签约等等。在一个实施例中,平台希望通过连续签到发红包的活动,提高用户在该平台的活跃度,即,希望通过促使用户连续签到而达到该目的。在该情况中,可将用户A在第二天是否再次签到作为用户对该发放的反馈,并基于该反馈确定回报值。例如,当用户A第二天再次签到的情况中,可将回报值确定为1,当用户A第二天未再次签到的情况中,可将回报值确定为0。在一个实施例中,平台希望通过周期性地(例如一周)连续签到发红包的活动,提高用户的信用卡绑卡率,通过提高绑卡率,也可相应地提高了用户在平台的活跃度,另外,在所述红包为优惠券的情况中,通过提高绑卡率还能提高用户对该优惠券的核销率。在该情况中,可将用户是否在相应周期内绑卡作为用户对该发放的反馈,并基于该反馈确定回报值。例如,在相应的一周内,在用户进行绑卡的情况中,将该周内包括的每次发放的回报值确定为1,在用户未进行绑卡的情况中,将该周内包括的每次发放的回报值确定为0。在一个实施例中,根据平台的需要,可收集用户的多个反馈,以分别基于各个反馈进行多种Q学习模型的训练。
在步骤S210,获取所述用户A在所述第一预定时段之后的第二特征信息。
例如,如上文所述,用户A在上述第一天进行签到之后,将在第一天结束之后获取用户A在第二天预定时刻(例如零点)的特征信息作为用户A的第二特征信息s2。
在步骤S212,基于所述第一特征信息、第一数目、所述回报值和所述第二特征信息,训练所述Q学习模型。
在一个实施例中,在通过上述步骤获取第一特征信息s1、第一数目a1、回报值r1和第二特征信息s2之后,可基于如公式(1)所示的损失函数进行对Q学习模型的一次训练:
L=(Q(s1,a1,θ)-(r1+γmaxN Q(s2,a2)))2 (1)
其中,θ为Q学习模型中的参数,N为模型中针对用户A的用户档位可选择的金额个数,例如,在如上文所述,用户A的用户档位包括3个金额档位的情况中,N=3,a2为所述可选的金额中对应的Q值最大的金额。
基于该损失函数可以看出,在训练Q学习模型中,考虑了maxNQ(s2,a2),该项为动作a1的总收益,其体现了一个训练周期中后续发放的影响。从而,通过基于Q学习模型进行对该奖励发放的建模,建模出不同天的不同金额发放带来的金额序列的影响,不光能输出发放金额,还能得到最优的金额序列。在例如用户签到领红包的营销活动中,通过使用Q学习算法对多天的时间窗口进行建模,结果要比同样训练数据的其他模型(例如DNN)表现要优异。
在一个实施例中,还可以基于如公式(2)所示的损失函数进行对Q学习模型的一次训练:
公式(2)中第二行中的项为单调性正则项,其中,b1~bN为模型中预设的用户A的用户档位对应的N个金额档位,并且其大小被设置为从小至大排列。例如,用户A对应的用户档位对应三个金额档位[0.1,0.2,0.3],从而模型中相对于用户A的用户档位预设有b1、b2和b3三个金额档位,并且b1、b2和b3分别为0.1、0.2和0.3。其中,所述单调性正则项最后的“+”表示,只取Qi(s1,bi,θ)-Qi+1(s1,bi+1,θ)中的正数。也就是说,通过该单调性正则项使得各个Qi(s1,bi,θ)随着各个bi的大小单调递增。通过在损失函数中增加该单调性正则项,可保证模型拟合符合单调性预期,即,发放金额越大,对用户的吸引力越大,也即总收益越大。这符合通常的营销场景下的预期,并且可以简化后期的成本约束的模型优化问题。
在一个实施例中,在如上所述获取训练样本之前,还可以基于预定的活动目的对该训练用户集进行过滤。例如,所述活动目的为促使用户进行信用卡绑卡。在该情况下,在对用户发放奖励金额之后,通常基于用户是否绑卡确定回报值r。从而,当训练用户集中的用户已经绑卡并继续参加例如连续签到的活动的情况中,可在训练用户集中移出该已绑卡的用户。
上述训练可通过各种模型优化方法进行,例如梯度下降法等等。在通过图2所示方法对Q学习模型进行多次训练之后,可如下文所述对该Q学习模型进行成本预算控制。
图3示出根据本说明书实施例的用于Q学习模型的成本控制方法流程图,包括以下步骤:
对于预先确定的测试用户集中包括的每个用户,
步骤S302,在该用户在预定时段内进行预定行为之后,获取该用户的特征信息,所述用户的特征信息包括所述用户的用户档位,并且该特征信息与所述预定时段相对应;
步骤S304,从所述用户档位对应的预定个数的数值中随机确定一个作为第二数目a测;
步骤S306,对所述用户发放所述第二数目的奖励资源;
步骤S308,基于所述用户针对所述发放的反馈,确定与所述发放对应的回报值r测;
步骤S310,基于测试用户集中各个用户的特征信息、回报值及与该回报值相应的第二数目,确定用于所述Q学习模型的成本惩罚系数,所述Q学习模型对于其目标用户基于其计算的与每个数值对应的Q值减去与该数值对应的惩罚项之差的大小,确定将对该目标用户发放的奖励资源的数目,其中,所述惩罚项为所述惩罚系数与对应数值的乘积,所述惩罚系数使得,对于预定目标用户集合,相比于没有惩罚项的情况,以降低或相同的总成本获取更高的总收益,其中,所述总收益基于目标用户集合中各个目标用户的回报值确定。
首先,在步骤S302,在该用户在预定时段内进行预定行为之后,获取该用户的特征信息,所述用户的特征信息包括所述用户的用户档位。
与确定训练用户集类似地,可确定测试用户集,该测试用户集同样地包括多个用户档位的用户,例如上述高、中、低三个档位,并且可使得训练用户集中包括的各个档位的用户数量比例与全体用户中的上述比例基本相同。测试用户集中的用户与训练用户集中的用户基本上不重复。在确定测试用户集之后,在测试阶段,平台可仅对测试用户集中的用户公布连续签到领红包的活动。通过对每个测试用户在其对应的金额档位中随机发放奖励金额,从而可在Q学习模型上线之前离线地确定该模型的成本惩罚系数λ,以用于以较低的成本获取更大的模型收益。
对于测试用户集中的每个用户,都通过步骤S302-S308获取各自的测试数据,并基于这些测试数据计算Q学习模型中的成本惩罚系数,从而可以有效地节约成本并提高模型收益。
与训练模型中类似,所述预定时段为预定周期中的一天,所述预定周期例如为一周,所述预定行为例如为签到。可通过对测试用户集中每个用户以相同概率随机发放其用户档位对应的多个金额档位中的一个金额。所述特征信息为该用户的与该预定时段对应的特征信息,其例如为当前的特征信息。
在该预定周期中的例如第一天中,测试集中的用户在该天首次进行预定行为(例如签到)之后,将触发对测试数据的收集过程。具体是,该用户在该天首次签到之后,将触发平台通过例如图1中的数据收集模块12获取用户的与所述第一天对应的特征信息、或当前特征信息,即该用户的特征信息s测。与前述用户A的特征信息类似地,该特征信息s测包括该用户的用户档位,并且还可以包括以下至少一种信息:属性信息、历史行为信息、活跃度以及画像信息。
步骤S304至步骤S308的具体实施可基于上文中对步骤S204至S208的具体描述,在此不再赘述。
在步骤S310,基于测试用户集中各个用户的特征信息、回报值及与该回报值相应的第二数目,确定用于所述Q学习模型的成本惩罚系数,所述Q学习模型对于其目标用户基于其计算的与每个数值对应的Q值减去与该数值对应的惩罚项之差的大小,确定将对该目标用户发放的奖励资源的数目,其中,所述惩罚项为所述惩罚系数与对应数值的乘积,所述惩罚系数使得,对于预定目标用户集合,相比于没有惩罚项的情况,以降低或相同的总成本获取更高的总收益,其中,所述总收益基于目标用户集合中各个目标用户的回报值确定。
在通过上述步骤S302-S308获取各个测试用户的特征信息s测、回报值r测和相应的第二数目a测之后,对于惩罚系数入,在Q学习模型中基于与用户的特征信息s测对应的各个Qi-λbi的大小确定最终的发放金额,即将最大的Qi-λbi确定为最终的发放金额,其中,bi可参考上文对公式(2)的描述,Qi为Q学习模型计算的与bi对应的Q值。在Q学习模型上线之后,对于将通过该模型确定发放金额的目标用户,对于不同的λ,Q学习模型对于该目标用户输出的发放金额有可能发生变化,并且该目标用户对该发放的回报值也可能变化。因此,基于对各个测试用户的特征信息s测、通过随机发放所获取的回报值r测及相应的第二数目a测,可分别计算在多个λ值下的相应测试用户集合的总成本和总收益(例如基于回报值的转换率),从而可基于对各个λ值的总成本和总收益的比较,确定最终的λ值,该λ值使得相比于没有惩罚项的情况下,以较小或相同的总成本获取更大的总收益。
例如,在λ=0,也即没有惩罚项的情况下,Q学习模型针对目标用户的输出为输出相应的基于s测的多个Qi中最大的Qi对应的bi作为对该目标用户的发放金额。因此,使用在测试用户集中随机到以最大的Qi对应的bi作为发放金额的多个用户的数据,可计算λ=0的情况下的成本期望值和回报值期望值(或转换率)。类似地,在例如λ=0.1的情况下,Q学习模型针对目标用户的输出为输出相应的基于s测的多个Qi-0.1*bi中最大的Qi-0.1*bi对应的bi作为对该目标用户的发放金额,因此,使用在测试用户集中随机到以最大的Qi-0.1*bi对应的bi作为发放金额的多个用户的数据,可计算λ=0.1的情况下的成本期望值和转换率。通过比较两种情况下的成本期望值和转换率,可确定是否选择0.1作为最终的λ值。
在一个实施例中,由于测试数据集的金额发放是通过随机产生的,因此通过测试用户集产生的数据分布与通过Q学习模型产生的数据分布是不同的,因此,可结合IPS(重要性采样)方法,将通过测试用户集获取的数据转换为后一数据分布下的数据,以使得计算更加准确。具体是,可通过如下公式(3)进行数据转换:
其中,n为测试集中将与s测对应的最大Qi-λbi确定为最终的发放金额的用户j的数目,h(Qi-λbi|sj)为通过Q学习模型基于目标用户j的状态sj(即s测)确定发放金额aj(即a测,即基于sj计算的最大Qi-λbi对应的bi)的概率,其可设置为1,δji为该最大Qi-λbi对应的回报值(即r测)或者成本(该最大Qi-λbi对应的bi,或a测),pj为随机发放的概率,例如在用户档位包括三个金额档位的情况中,该pj等于1/3,R(h)为通过Q学习模型进行发放的情况下的成本期望值或转换率(回报值的期望值)。也就是说,通过公式(3)示出的IPS方法,将随机发放下的转换率或成本分布转换为通过Q学习模型进行发放下的转换率或成本分布。通过以公式(3),计算各个λ值下的成本期望值和转换率,从而可更准确地确定在模型真实运行下的λ值。
在如上所述在损失函数中通过单调性正则项来训练Q学习模型的情况中,在保证了发放金额与模型总收益的单调性的情况下,可使得λ值从零开始逐渐增大,在该情况下,可保证成本期望值逐渐减小,通过确定回报值变化,从而可较快地确定出最优λ值。在一个实施例中,当运行需求变化时,例如将预定总成本调至较低值时,可通过二分查找法快速定位满足当前成本的最优λ值。
在如上所述对训练好的Q学习模型进行成本优化之后,则可以将该Q学习模型上线以用于对目标用户预测发放的资源数目(例如金额)。
图4示出根据本说明书实施例的一种奖励资源发放方法流程图,所述方法由平台服务器执行,包括:
步骤S402,在第一用户在预定时段内进行预定行为之后,获取第一用户的特征信息,所述特征信息中包括所述第一用户的第一用户档位,并且所述特征信息与所述预定时段相对应;以及
步骤S404,将所述特征信息输入预先训练的强化学习模型,以在所述强化学习模型中,从与所述第一用户档位对应的预定个数的数值中确定将对该第一用户发放的奖励资源的数目。
首先,在步骤S402,在第一用户在预定时段内进行预定行为之后,获取第一用户的特征信息,所述特征信息中包括所述第一用户的第一用户档位,并且所述特征信息与所述预定时段相对应。
所述强化学习模型例如为Q学习模型,下文中,将以Q学习模型为例对图4所示方法进行详细说明。可以理解,在本说明书实施例中,所述强化学习模型不限于为Q学习模型,通过其它强化学习模型用于该奖励资源发放的场景中,可获取相似的技术效果,虽然不同的强化学习模型在其内部的计算过程不同,但其都可以基于输入的用户特征信息确定对应的奖励资源数目,并且其都可以输出较优的奖励资源数目的序列。
所述第一用户为通过例如Q学习模型预测将对其发放的奖励资源数目的目标用户。在Q学习模型上线之后,平台可向平台全部用户公布例如连续签到领红包的活动,即,该模型的目标用户可以为平台中的全部用户,其中例如包括第一用户。
与上文所述类似地,所述预定时段例如为预定周期中的一天,所述预定周期例如为一周,所述预定行为例如为签到。在该预定周期中的例如第一天中,第一用户在该天首次进行预定行为(例如签到)之后,将触发平台通过例如图1中的数据收集模块12获取第一用户的与所述第一天对应的特征信息或当前特征信息,即该第一用户的特征信息s第一用户。与前述用户A的特征信息类似地,该特征信息s第一用户包括该第一用户的用户档位,并且还可以包括以下至少一种信息:属性信息、历史行为信息、活跃度以及画像信息。
在步骤S404,将所述特征信息输入预先训练的强化学习模型,以在所述强化学习模型中,从与所述第一用户档位对应的预定个数的数值中确定将对该第一用户发放的奖励资源的数目。
在一个实施例中,当在Q学习模型中不加入成本惩罚项的情况中,在Q学习模型中,基于第一用户的第一用户档位,确定与该档位对应的预定数目的数值,例如,第一用户为上文所述的中频用户,则对应的用户档位包括三个金额档位:[0.6,0.7,0.8]。然后,模型针对输入的第一用户的特征信息s第一用户和相应的各个金额档位bi,计算与各个bi分别对应的Qi,从而针对该第一用户输出相应的多个Qi中最大的Qi对应的bi作为对该第一用户的发放金额a第一用户。例如,如果计算出的与0.6、0.7、0.8分别对应的Q1、Q2和Q3中Q2最大,则选择0.7作为对第一用户的发放金额。
在一个实施例中,在Q学习模型中包括成本惩罚项,即与各个bi分别对应的收益值为Qi-λbi,其中,λ通过上文所述的方法预先确定。在该情况中,在Q学习模型中,基于第一用户的第一用户档位,确定与该档位对应的预定数目的数值(即bi),例如,第一用户为上文所述的中频用户,则对应的用户档位包括三个金额档位:[0.6,0.7,0.8]。然后,模型针对输入的第一用户的特征信息s第一用户和各个金额档位bi,计算与各个bi分别对应的Qi-λbi,针对该第一用户的输出为输出相应的多个Qi-λbi中最大的Qi-λbi对应的bi作为对该第一用户的发放金额a第一用户。例如,预先确定为λ=0.1,如果计算出的与0.6、0.7、0.8分别对应的Q1-0.06、Q2-0.07和Q3-0.08中Q1-0.06最大,则选择0.6作为对第一用户的发放金额。
通过在Q学校模型中包括成本惩罚项,相比于不包括成本惩罚项的情况,在上述两种情况中,对第一用户的发放金额减少了,即从0.7变化为0.6,而该第一用户的转换率可能没变或者升高了。从整个目标用户群体看,可以以减少或不变的总成本获得相同或更高的转换率,从而有效地节约成本并提高收益。
另外,如上文所述,在图1所示的发放模块16中还可以预设另外的后置规则,例如用于新用户/作弊用户的后置调整规则等,从而,在由Q学习模型通过图4所示方法确定针对目标用户的发放金额之后,Q学习模型将该发放金额输出给发放模块,从而,在发放模块中,可基于所述后置规则在模型输出的金额的基础上进一步进行调整,例如对于新用户以一定比例提高发放金额,对于作弊用户以一定比例降低发放金额,等等。
图5示出根据本说明书实施例的一种奖励资源发放装置500,所述装置部署在平台服务器中,包括:
第一获取单元51,配置为,在第一用户在预定时段内进行预定行为之后,获取第一用户的特征信息,所述特征信息中包括所述第一用户的第一用户档位,并且所述特征信息与所述预定时段相对应;以及
输入单元52,配置为,将所述特征信息输入预先训练的强化学习模型,以在所述强化学习模型中,从与所述第一用户档位对应的预定个数的数值中确定将对该第一用户发放的奖励资源的数目。
在一个实施例中,所述强化学习模型为Q学习模型,所述输入单元52还配置为,基于以所述Q学习模型计算的与每个数值对应的Q值减去与该数值对应的惩罚项之差的大小,确定将对该第一用户发放的奖励资源的数目,其中,所述惩罚项为预先确定的惩罚系数与对应的数值的乘积。
图6示出了根据本说明书实施例的训练装置600,所述Q学习模型通过训练装置600训练,所述训练装置包括:
第二获取单元61,配置为,在第二用户在第一预定时段内进行所述预定行为之后,获取第二用户的第一特征信息,该第一特征信息中包括所述第二用户的第二用户档位,并且所述第一特征信息与所述第一预定时段相对应,其中,所述第二用户为预先确定的训练用户集中的用户;
第一确定单元62,配置为,从与所述第二用户档位对应的预定个数的第一数值中随机确定一个第一数值作为第一数目;
第一发放单元63,配置为,对所述第二用户发放所述第一数目的奖励资源;
第二确定单元64,基于所述第二用户针对所述发放的反馈,确定与所述发放对应的回报值;
第三获取单元65,配置为,获取所述第二用户在所述第一预定时段之后的第二特征信息,以及
训练单元66,配置为,基于所述第一特征信息、第一数目、所述回报值和所述第二特征信息,训练所述Q学习模型。
在一个实施例中,所述训练单元还配置为,基于所述Q学习模型对预定个数的Q值的计算训练所述Q学习模型,每个所述Q值与所述第一特征信息和一个第一数值相对应,以使得各个Q值随各个第一数值单调递增。
在一个实施例中,所述装置600还包括,移出单元67,配置为,在所述第二用户在所述预定周期内进行绑卡的情况中,从所述训练用户集中移出所述第二用户。
图7示出了根据本说明书实施例的成本控制装置700,所述惩罚系数通过成本控制装置700确定,所述成本控制装置包括:
用于预先确定的测试用户集中包括的多个第三用户中的每个第三用户的,
第四获取单元71,配置为,在该第三用户在第三预定时段内进行预定行为之后,获取该第三用户的特征信息,该特征信息包括所述第三用户的第三用户档位,并且该特征信息与所述第三预定时段相对应;
第三确定单元72,配置为,从与所述第三用户档位对应的预定个数的数值中随机确定一个数值作为第二数目;
第二发放单元73,配置为,对所述第三用户发放所述第二数目的奖励资源;
第四确定单元74,配置为,基于所述第三用户针对所述发放的反馈,确定与所述发放对应的回报值;以及
第五确定单元75,配置为,基于所述测试用户集中各个第三用户的特征信息、第二数目及回报值,确定所述Q学习模型的惩罚系数,基于所述惩罚系数的惩罚项使得,对于所述Q学习模型的目标用户集合,相比于没有惩罚项的情况,以降低或相同的总成本获取更高的总收益,其中,所述总收益基于目标用户集合中各个目标用户的回报值确定。
在一个实施例中,所述第五确定单元还配置为,基于各个第三用户的特征信息、第二数目及回报值,结合重要性采样方法,确定所述惩罚系数。
在一个实施例中,所述Q学习模型中与每个用户档位对应的各个Q值具有相对于该档位包括的各个数值的单调递增性,其中,所述第五确定单元还配置为,基于各个第三用户的特征信息、第二数目及回报值,通过比较从零递增的各个惩罚系数下的总成本和总收益,确定所述惩罚系数。
在一个实施例中,所述Q学习模型中与每个用户档位对应的各个Q值具有相对于该档位包括的各个数值的单调递增性,其中,在预定总成本降低的情况中,所述第五确定单元还配置为,基于各个第三用户的特征信息、第二数目及回报值,通过二分查找法确定所述惩罚系数。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的奖励资源发放方案中,通过使用Q学习模型,利用时序信息来建模多步的信息,从而达到更好的效果;通过随机策略来收集不同金额上的用户表现,去除其他潜在因素带来的误差,保证不同金额的单一影响;通过过滤掉样本中的非目标用户,保证数据拟合的正确性;通过使用单调性正则来保证金额和回报的递增单调性,消除数据偏差;通过结合IPS方法进行成本控制,能将多步建模中的多个时间窗口中的的老策略,新策略的概率综合考虑进来,给出比较可信的成本/收益对比。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。