博客
关于我
李飞飞点赞「ARM」:一种让模型快速适应数据变化的元学习方法 | 开源
阅读量:263 次
发布时间:2019-03-01

本文共 866 字,大约阅读时间需要 2 分钟。

元学习与自适应风险最小化:解决机器学习中的分布偏移问题

引言

机器学习模型在训练过程中,常常面临着处理新数据的挑战。以手写笔迹识别为例,一个训练好的模型在遇到不同用户的写法时,可能会难以准确分类“2”和“a”。即使人类也可能出现辨认失误。这种现象表明,传统的经验风险最小化(ERM)框架在面对数据分布变化时存在局限性。

为了应对这一挑战,伯克利和斯坦福的研究人员提出了自适应风险最小化(ARM)框架,通过元学习方法解决分布偏移问题。这一方法不仅能够有效应对测试时的数据分布变化,还展现出优异的性能和鲁棒性。

技术方法

ARM框架的核心思想是通过模拟分布偏移对模型进行元训练,使其能够直接学习如何最好地利用适应程序。在测试阶段,模型可以以与训练时一致的方式执行该程序,从而实现更好的适应性。

研究团队基于上下文元学习和基于梯度的元学习,提出了三种解决ARM问题的方法:ARM-CML、ARM-BN和ARM-LL。这些方法通过不同的策略,实现了对输入分布的有效推断和适应。

上下文方法

在上下文方法中,输入数据被归纳为上下文,模型可以利用上下文信息推断输入分布的额外信息。归纳方法包括:

  • 通过单独的上下文网络
  • 在模型自身中采用批量归一化激活
  • 基于梯度的方法

    基于梯度的方法通过未标记的损失函数对模型参数进行梯度更新,生成针对测试输入的专用参数,从而提高预测准确性。

    实验结果

    ARM方法在4个不同图像分类基准上的表现显著优于传统基线方法。无论是在最坏情况(WC)还是平均性能上,ARM模型都展现出更好的鲁棒性和适应性。

    以手写笔迹识别为例,ARM训练的模型能够成功区分“2”和“a”,即使测试样本中包含来自同一用户的无标注样本。这些结果表明,自适应模型在处理分布偏移时具有显著优势。

    结论

    这项研究开源化,研究人员已将实现代码和相关文档发布。ARM方法的成功应用为机器学习模型提供了一种新的框架,能够更好地应对数据分布变化带来的挑战。

    如果你对元学习和自适应风险最小化感兴趣,可以通过以下链接获取更多信息:

    论文地址

    开源地址
    博客地址

    转载地址:http://reat.baihongyu.com/

    你可能感兴趣的文章
    org.hibernate.HibernateException: Unable to get the default Bean Validation factory
    查看>>
    org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
    查看>>
    org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
    查看>>
    SQL-CLR 类型映射 (LINQ to SQL)
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
    查看>>
    org.tinygroup.serviceprocessor-服务处理器
    查看>>
    org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
    查看>>
    org/hibernate/validator/internal/engine
    查看>>
    Orleans框架------基于Actor模型生成分布式Id
    查看>>
    SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
    查看>>
    ORM sqlachemy学习
    查看>>
    Ormlite数据库
    查看>>
    orm总结
    查看>>
    os.environ 没有设置环境变量
    查看>>
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>