KDD21
存在的问题:
为用户POI交互数量有限的冷启动城市提供推荐服务,需要将隐藏在许多城市丰富数据中的知识转移到这些冷启动的城市。现有文献要么不考虑城市转移问题,要么不能同时解决多个城市不同用户之间的数据稀疏性和模式多样性问题。
创新点:
1.探索转移下一个POI来搜索,将来自多个城市的丰富数据知识转移到数据稀少的冷启动城市的建议。
2.提出一种新颖的课程硬度感知元学习框架(CHAML)该框架将硬样本挖掘和课程学习纳入元学习范式。
CHAML框架考虑了城市层面和用户层面的硬度,从加强元培训期间的条件抽样,并使用城市抽样池的简单到难的课程来帮助元学习者收敛到更好的状态。
为基地和目标城市之间的知识转移量身定制一个合适的转移算法面临的挑战:
1.不同城市之间的共享数据非常有限,使得传输更具有挑战性。首先不同城市的POI没有交叉点,此外城市内的大多数地图搜索记录都来自当地居民,大大减少了不同城市用户的交叉点。
2.不同城市不同用户的地图搜索模式具有很大的多样性,给推荐系统带来了很大的困难。
现有算法不能同时解决这两个问题,传统的预训练和微调技术不能解决2,跨域推荐不能解决1.
框架
框架分为两个部分:1.基础推荐框架,2.MAML扩展。第二部分用于将元学习引入到POI推荐中。
两个采样策略组件,1.硬意识元学习(hardness aware meta-learning)2.城市级别采样课程(city-level sampling curriculum)。这用于细致思考采样多样性问题。
curriculm learning,主张让模型从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。
meta-learning,学习如何学习,元学习围绕任务展开,元学习是要去学习任务中的特征表示,从而在新的任务上泛化。
基础推荐框架:
图左中
应用深度兴趣网络(DIN)作为基础推荐器f,它由三个模块组成:嵌入模块,注意力模块,输出模块。
问题设置:假设每个城市有自己的独特的用户数据集U和POI数据集V,数据都是不共享的。r=(v,t,l)是用户u的搜索记录,v是POI的id,t是时间戳,l是GPS的位置。用户的历史数据是histu={r1,r2...rn}。给定用户历史信息,当前的时空上下文和一组POI候选,任务是学习一个映射函数f:(u,histu,tn+1,ln+1,vcandi)=y属于[0,1]
嵌入模块:X->(ehist,ecandi)根据(u,histu,r)得到用户的历史记录嵌入列表和POI候选人的嵌入。
注意力模块:(ehist,ecandi)->h 根据嵌入模块得到的历史嵌入列表和候选人嵌入来捕获之间的偏好关系。
输出模块:(h,ecandi)->y 使用三层MLP来预测y
元学习框架:
图左上
MAML的每次迭代包括两个阶段:局部更新和全局更新。利用MAML学习w=θ,使损失函数最小化
局部更新:随机采样用户值,在训练数据上,在每次训练任务中计算训练损失更新θ0
全局更新:在测试数据上,通过梯度下降来最小化损失总和来更新θ。
难样本学习:
图右和图中交替进行的步骤
这里的难是模型在训练集样本上的现有性能自判的
分为两个阶段:hard_city阶段和hare_user阶段,两个任务交替循环。
城市级别采样课程
图下
分为两个阶段,1.困难度测量,使用诸如AUC指标来衡量。2.调度器用于城市pool,定义了一个函数g。课程学习使模型有更大的概率在优化过程中选择容易的梯度步骤。
数据集:百度地图mapsmall,maplarge
输入:poi id,poi category ,time,user-poi dist
输出:poi预测分数y