游戏数据场景下的稳定学习框架
Last updated
Last updated
如图1所示,游戏数据场景下的预测或者分类任务如游戏场景预测、行为序列反外挂、时空序列预测等,通常都利用动态流式数据(包括用户行为日志、用户关系图谱、用户画像标签和游戏版本设定等)作为输入,并且需要根据最新数据来输出结果。
这类基于动态流式数据的任务往往面临两大挑战:
模型性能瓶颈
由于数据的快速动态变化,有监督学习任务面临概念漂移和模型退化的问题,线下训练数据往往与生产环境数据分布不一致,同时也跟不上生产环境数据的快速变化。
模型效率瓶颈
为了取得较高的离线模型性能,往往导致较大参数规模的模型,这与生产环境下推理任务的实时需求产生矛盾;同时海量数据的训练极为耗时,长时间训练迭代往往跟不上数据的动态变化。
如何从训练数据中获取有效样本,同时从数据特征中发现因果特征成为维护模型稳定性的关键。
稳定学习的定义主要有两个方面,一个是针对数据集,考虑所有可能的测试数据上的平均效果和方差,在保证平均效果最优的情况下,方差越小越稳定;另一个是针对样本点,希望模型在每个样本点上的误差都是一样的。
形式化定义:给定目标和输入变量,稳定学习任务就是学习一个能够在任一数据点上实现均匀误差的预测性模型。
该问题主要面临以下挑战:
如何建立模型无关的稳定学习框架
如何进行评价稳定学习算法的性能
主要评估算法预测的稳定性:
在不同分布数据上平均误差
在不同分布数据上误差的波动情况(如方差)
用户画像数据
role_id
string
玩家id
level
int
玩家等级
role_class
int
职业
online_time
int
在线时长
total_exp
int
总经验
total_gold
int
游戏代币数量
……
用户历史动作序列
role_id
string
玩家id
action_id
int
动作id
objective_ids
string
动作对象id,多个对象id以逗号隔开
time_stamp
int
动作发生的时间戳
用户关系网络(以游戏组队和师徒为例)
role_id
string
玩家id
team_id
int
游戏队伍id
teacher_id
int
师傅id
student_id
int
徒弟id
……
有任何问题,请联系 wurunze1@corp.netease.com