MAML复现实验结果汇总(取最好的情形)

本文汇总了MAML在Omniglot和miniImageNet数据集上的复现实验结果,对比了原始论文与复现的精度差异,探讨了transductive Learning的影响。在5-way-1-shot和5-way-5-shot等场景下,复现结果接近原论文,但在20-way任务上存在差距。

2020/5/10更新:

Reptile这篇论文中说,MAML的实验使用到了transductive Learning的实验设定。关于transductive Learning你可以理解成MAML作者汇报的是训练中query集的结果,而不是我们通常意义的测试集中query集的结果。
这个图表来自Reptile的那篇论文。
在这里插入图片描述
以下是原文:


下面是我进行的复现实验的实验结果。

除了20-way-N-shot的部分,其他实验结果基本都能对应上。

附:
MAML模型无关的元学习代码完整复现(Pytorch版)
MAML复现全部细节和经验教训(Pytorch)

Omniglot数据集

5-way-1-shot

MAML: 98.7 ± 0.4 % 98.7 \pm 0.4\% 98.7±0

### MAML(Model-Agnostic Meta-Learning)算法介绍 #### 定义与目标 MAML是一种元学习方法,旨在通过优化模型的初始参数设置,使该模型能够在面对新的任务时,只需少量的数据和几次梯度更新就能迅速适应并表现出良好的性能[^1]。 #### 关键思想 核心理念在于找到一组通用的初始化权重,这些权重能够帮助网络在遇到未曾见过的任务时快速调整自己。具体来说,就是让模型学会如何“学习”,即掌握一种机制来高效地利用有限的新数据进行自我改进[^3]。 #### 工作原理 为了实现上述目的,MAML采用了一种双层优化策略: - **内循环**:针对每一个特定任务\(T_i\),基于一小批来自此任务的数据集\(\mathcal{D}_i^{train}\),执行一次或多次标准的学习过程——计算损失函数并对当前模型参数θ应用反向传播以获得临时更新后的参数θ'。 - **外循环**:收集所有任务上的更新结果,并据此调整原始参数θ,目的是最小化各任务经由内循环产生的新参数θ'所对应的验证误差之和\[ \sum_{i} L_{val}(f_{\theta'_i}) \] 这种设计允许MAML有效地捕捉到不同任务之间的共通模式,从而促进跨领域迁移能力的发展[^2]。 ```python def maml_train_step(model, tasks): meta_loss = 0.0 for task in tasks: # 内循环: 对每个task单独训练 adapted_params = inner_loop_update(model.params, task.train_data) # 使用adapted params预测test data的表现 predictions = model.forward(task.test_data.x, adapted_params) loss = compute_loss(predictions, task.test_data.y) meta_loss += loss # 外循环: 更新全局model parameters outer_loop_update(model.params, meta_loss / len(tasks)) return updated_model_params ``` ### 应用场景 MAML因其灵活性而广泛适用于多个领域,包括但不限于图像识别、自然语言处理以及强化学习等。特别是在那些标注成本高昂或是难以获大量标记样本的情况下尤为有用。例如,在医疗影像分析中,可能只有少数病人的扫描图可用于某类罕见病症的研究;又或者是机器人操作环境中,每次实验都伴随着较高的时间和资源消耗,此时借助像MAML这样的技术就显得尤为重要了。
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值