Curriculum Meta-Learning for Next POI Recommendation

提出一种基于课程元学习的城市间迁移下一个兴趣点(POI)推荐方法CHAML,旨在解决数据稀疏和冷启动城市的问题。该方法通过硬意识元学习和城市级课程学习增强模型迁移能力。

论文背景

Curriculum Meta-Learning for Next POI Recommendation
  基于课程元学习的下一个兴趣点推荐
  KDD 21
  PDF

现有问题

在下一个兴趣点推荐的研究中,在有限的用户-兴趣点交互数据下,在冷启动城市中提供满意的推荐是重要问题,这需要许多其它城市丰富数据下隐含的知识进行迁移。现有文献没有考虑到城市转移的问题或者不能同时处理数据稀疏和用户在多个城市的模式多样性的问题。

问题描述

问题描述如图所示。
  该问题关键是提出一个合适的迁移算法,但难点有二:
  1. 不同城市的数据太少
  2. 用户在不同城市下有不同的多样性表达
  现有算法不能同时解决这两个问题。传统的预训练和微调技术不能解决问题2,跨域推荐不能解决问题1。

架构

提出 Curriculum Hardness Aware Meta-Learning (CHAML) 框架。
架构

架构分为两部分,一部分是基础推荐器,另一部分是MAML扩展。后者用于将元学习引入到POI推荐中。
  两种采用策略组件,一种是硬意识元学习(hardness aware meta-learning),另一种是城市级别采样课程(city-level sampling curriculum)。这用于细致思考采样多样性问题。
  一些概念:
  Curriculum Learning,主张让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。
  meta-learning,又叫learning to learn,即学习如何学习,元学习围绕任务(task)展开。元学习是要去学习任务中的特征表示,从而在新的任务上泛化。

基础推荐器

使用DIN作为基础推荐器,由三部分组成,嵌入模块(Embedding module)、注意力模块(Attention module)和输出模块(Output module)。

元学习

使用MAML策略。
  MAML论文:Model-agnostic meta-learning for fast adaptation of deep networks

每轮MAML包括两步骤:局部更新和全局更新。见图中左上部分。
  每一次元学习任务都有支持训练集 D s p t D^{spt} Dspt用于训练,query训练集 D q r y D^{qry} Dqry用于测试。
  元学习目标就是学习一个选学习器F,F可以预测推荐器f中的参数 θ \theta θ,使损失函数最小化。

硬意识元学习 Hardness Aware Meta-Learning

这里的"hardness"是模型在query样本上的现有性能自判的。
  分为两个阶段,hard_city阶段和hard_user阶段。两个任务交替循环。对应图右上。

城市级别采样课程 City-level Sampling Curriculum

见图下方。
  分为两阶段,一是困难度测量,使用诸如AUC指标来衡量。二是调度器用于城市pool,定义了一个函数g。课程学习使模型有更大的概率在优化过程中选择容易的梯度步骤。

实验

数据集:百度地图MapSmall、MapLarge(未开源)
  输入:POI ID, POI category, time, user-POI dist
  输出:POI预测分数 y i h a t y^{hat}_i yihat

基线

针对POI推荐:

  • NeuMF
  • HGN
  • ATST-LSTM
  • PLSPL
  • iMTL
  • DIN

针对迁移策略:

  • No transfer
  • Pretrain and Fine-Tune(FT)
  • MAML
  • s 2 s^2 s2Meta
  • HAML

贡献点

  1. 第一个探索城市迁移的下一个兴趣点推荐,并将元学习用于该问题。
  2. 提出CHAML框架,通过使用用户和城市级别的硬采样挖掘以及城市级别的课程学习(curriculum learning)增强元学习器,达到同时解决数据稀疏和冷启动城市的样本多样性的问题。
  3. 在两个真实世界地图查找数据集中性能超越SOTA方法。
    该框架已在百度地图上进行过A/B测试。

代码

https://github.com/PaddlePaddle/Research/tree/master/ST_DM/KDD2021-CHAML
https://github.com/victorsoda/chaml

关于 Gradually Recurrent Network (GREnet) 结合 Curriculum Learning 在 2D 医学图像分割中的应用,以下是详细的架构实现和相关技术背景: ### GREnet 和 Curriculum Learning 的基本概念 #### GREnet 架构设计 GREnet 是一种逐渐递归网络结构,旨在通过逐步引入复杂度来提高模型的学习能力。其核心思想是在训练过程中动态调整网络的递归深度,从而允许模型从简单的模式开始学习,并随着训练进程逐渐处理更复杂的特征[^1]。 #### Curriculum Learning 的作用 Curriculum Learning 是一种模仿人类学习过程的方法,它通过按顺序提供由简单到复杂的样本给模型,帮助神经网络更快收敛并提升泛化性能。在医学图像分割领域,这种方法特别适用于解决数据分布不均或标注质量参差不齐的问题[^2]。 --- ### GREnet 在 2D 医学图像分割中的具体实现 #### 数据预处理阶段 为了适应 GREnet 的需求,在数据准备阶段通常会执行以下操作: - **分层采样**:按照病变区域大小或其他显著特征对数据集进行分类,形成多个子集合。 - **增强策略**:采用随机旋转、缩放和平移等方式扩充数据量,减少过拟合风险[^3]。 ```python import numpy as np from skimage.transform import rotate, rescale def augment_image(image): angle = np.random.uniform(-15, 15) scale_factor = np.random.uniform(0.9, 1.1) augmented_image = rotate(image, angle=angle, resize=True) augmented_image = rescale(augmented_image, scale_factor, mode='reflect') return augmented_image ``` #### 模型构建与递归机制 GREnet 的主要特点是逐层增加递归单元的数量以及连接方式的变化。这种渐进式的增长有助于缓解梯度消失问题,并使深层网络能够有效捕捉全局上下文信息[^4]。 ```python import tensorflow as tf from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, concatenate def build_gre_net(input_shape=(256, 256, 1), num_classes=2): inputs = Input(shape=input_shape) conv1 = Conv2D(32, kernel_size=(3, 3), activation='relu', padding='same')(inputs) pool1 = MaxPooling2D(pool_size=(2, 2))(conv1) # 添加更多卷积层... upsampled_layer = UpSampling2D(size=(2, 2))(pool1) merged_layer = concatenate([upsampled_layer, conv1]) outputs = Conv2D(num_classes, kernel_size=(1, 1), activation='softmax')(merged_layer) model = tf.keras.Model(inputs=[inputs], outputs=[outputs]) return model ``` #### 训练流程集成 Curriculum Learning 在实际训练中,可以通过设置不同的 epoch 阈值控制输入样本难度的增长速度。例如,初期仅使用边界清晰的目标对象作为正例;后期则加入模糊边缘或者重叠区域较多的情况以挑战模型极限[^5]。 ```python def curriculum_training(model, train_data_easy, train_data_hard, epochs_per_stage=10): for stage in range(2): # 假设有两个阶段 if stage == 0: current_dataset = train_data_easy elif stage == 1: current_dataset = train_data_hard model.fit(current_dataset, epochs=epochs_per_stage, batch_size=8) ``` --- ### 实验评估与优化建议 通过对不同参数组合下的实验结果分析发现,适当调节递归层数目以及课程安排节奏对于最终效果至关重要。此外,还可以考虑引入注意力机制进一步强化局部细节的表现力[^6]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值