摘要:
本文主要介绍多任务学习和单任务学习的对比优势以及在工业界的一些使用。如何从单任务学习转变为多任务学习?怎样使AUC和预估的准确率达到最佳?如何对实时性要求较高的在线应用更加友好?本文将以淘宝实例为大家进行分享多任务学习实现电商应用中的个性化服务搜索和推荐。
演讲嘉宾简介:
刘士琛(花名:席奈),阿里巴巴搜索事业部高级算法专家。本科就读于中国科学技术大学少年班系,计算机专业博士。目前是阿里巴巴高级算法专家,服务淘宝网搜索、排序、个性化相关的业务;专注于搜索排序方面的算法研究及应用,涉及实时计算、深度学习、强化学习等领域,相关工作发表于sigKDD、WWW等会议中。
以下内容根据演讲嘉宾视频分享以及PPT整理而成。
本文将围绕以下几个方面进行介绍:
1. 背景
2. 相关知识介绍
3. 多任务模型
4. 实验及效果
5. 生效技巧及注意事项
一. 背景
多任务学习的研究目的:使用机器学习和数据挖掘的相关技术帮助更好的实现电商应用中的个性化服务搜索和推荐。
为什么使用多任务学习:
1) 以前在服务搜索和推荐中大多使用单任务学习方法,但在真实的工业界应用场景中,更多的是多任务并存的情况,因此多任务学习更具有实践意义。
2) 一个多任务学习模型会比多个单任务学习模型更加小,在线CPU使用率更低,对于在线服务更加友好。
3) 在淘宝中,多任务学习可以帮助获得更通用的用户、商品理解与表达。
二. 相关知识介绍
1. 学术界背景
首先为大家介绍相关的学术背景知识,以及使用DNN和RNN完成的一些推荐工作。说到推荐,大家可能立即想到协同过滤,2000年左右就有大量的协同过滤算法出现,包括基于模型的,基于内存的等。使用DNN做推荐的历史也比较久,开始大多使用RBM(Restricted Boltzmann Machines, 限制波尔兹曼机)来做推荐,当时在协同过滤上有比较好的表现,比基于用户的协同过滤推荐(User-based Collaborative Filtering Recommendation)和基于项目的协同过滤推荐(Item-based Collaborative Filtering Recommendation)的效果更佳。近年来,主要使用的推荐方法是DAE(denoising auto-encoders)。
在工业界内,推荐算法有更多的应用,例如微软提出了DSSM(deep structured semantic models),一种Pair Wise Ranking方法。Google提出了神经网络(a wide and deep network)来做推荐和排序。近期,大家可能更多使用RNN/CNN或者Attention的技术来做推荐。因为用户在某一个平台上,会存在一个天然的行为序列,这个性质使得RNN/CNN或者Attention具有更佳的可用性。
2. 多任务表达学习(Multi-task Representation Learning)
近年来,多任务表达学习越来越热,因为机器学习以及深度学习的成功主要归功于模型能更好的获取数据表达,能从数据中挖掘出需要的信息。而多任务表达学习能从数据中获取更加综合的、更加可变化的信息。单任务模型提取出的特征只针对该单任务有效,单个特征并不能很好地描述一个样本。当任务量较大,并且要求学习到的特征为每一个任务服务,即要求特征有一定的通用性时,多任务学习就更加合适。多任务学习一般分为两种,一种分为主目标及其他附属目标(Main task and auxiliary tasks),附属目标是为了帮助主目标来训练;另一种为多个平等目标(Equal tasks),没有主次之分。
3. 系统背景