游戏数据场景下的稳定学习框架

课题背景

如图1所示,游戏数据场景下的预测或者分类任务如游戏场景预测行为序列反外挂时空序列预测等,通常都利用动态流式数据(包括用户行为日志、用户关系图谱、用户画像标签和游戏版本设定等)作为输入,并且需要根据最新数据来输出结果。

这类基于动态流式数据的任务往往面临两大挑战:

  • 模型性能瓶颈

由于数据的快速动态变化,有监督学习任务面临概念漂移模型退化的问题,线下训练数据往往与生产环境数据分布不一致,同时也跟不上生产环境数据的快速变化。

  • 模型效率瓶颈

为了取得较高的离线模型性能,往往导致较大参数规模的模型,这与生产环境下推理任务的实时需求产生矛盾;同时海量数据的训练极为耗时,长时间训练迭代往往跟不上数据的动态变化。

如何从训练数据中获取有效样本,同时从数据特征中发现因果特征成为维护模型稳定性的关键。

问题定义

稳定学习的定义主要有两个方面,一个是针对数据集,考虑所有可能的测试数据上的平均效果和方差,在保证平均效果最优的情况下,方差越小越稳定;另一个是针对样本点,希望模型在每个样本点上的误差都是一样的。

形式化定义:给定目标yy和输入变量x=[x1,x2,,xp]Rpx=[x_1,x_2,\cdots,x_p] \in \mathbb{R}^p,稳定学习任务就是学习一个能够在任一数据点上实现均匀误差的预测性模型。

问题挑战

该问题主要面临以下挑战:

  • 如何建立模型无关的稳定学习框架

  • 如何进行评价稳定学习算法的性能

评价指标

主要评估算法预测的稳定性:

  • 在不同分布数据上平均误差

  • 在不同分布数据上误差的波动情况(如方差)

数据集描述

  • 用户画像数据

字段类型描述

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

Last updated