Meta-learning综述

本文介绍了监督、无监督、弱监督和自监督学习的区别,探讨了域偏移、域适应、域泛化和迁移学习的原理。此外,详细阐述了小样本学习的概念,包括支持集和查询集、N-wayK-shot学习,以及如何通过EpisodicTraining和Batch-Support来应对小样本问题。最后,文章提到了元学习,解释了它与机器学习的区别,以及如何通过学习算法F来实现学习如何学习的目标。


几个概念

1)监督、无监督、弱监督学习(Weakly Supervised Learning)以及 自监督学习(Self-supervised Learning)

根据训练过程中是否有label来监督,机器学习被分为:监督学习和无监督学习。分类问题和回归问题是监督学习的代表,聚类学习是非监督学习的代表。

尽管当前监督学习技术已经取得了巨大的成功,但是由于数据标注过程的成本太高,很多任务很难获得如全部真值标签这样的强监督信息。

因此,延伸出了无监督学习,它的数据集中没有任何的label。此外,自监督学习是一种特殊的无监督学习,它与传统的无监督学习区别如下:

  • 自监督学习主要是利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。简而言之,自监督学习是从数据本身找标签来进行有监督学习
  • 与此不同,无监督学习不依赖任何标签值,没有标签拟合过程。它通过对数据内在特征的挖掘,找到样本间的关系, 从数据分布的角度来构造损失函数
  • 自监督的代表是语言模型,无监督的代表是聚类

尽管如此,无监督学习由于学习过程太过困难,所以发展缓慢。在自然界中,数据也不可能一个标签没有,一般的情况是存在少数labeled data,和大量的unlabelled data。所以针对这种现实情况,在这两种学习范式之外有没有其他的学习范式?当然有,那就是弱监督学习。

弱监督学习指的是给定的数据有label,但是标签不全或不对。根据给定label的情况,弱监督学习可以分为三种典型的监督类型:不完全监督(Incomplete supervision),不确切监督(Inexact supervision),不精确监督(Inaccurate supervision)

  • 不完全监督:训练数据中只有一部分数据被给了标签,有一些数据是没有标签的。
  • 不确切监督:训练数据只给出了粗粒度标签。我们可以把输入想象成一个包,这个包里面有一些示例,我们只知道这个包的标签,Y或N,但是我们不知道每个示例的标签。
  • 不精确监督:给出的标签不总是正确的,比如本来应该是Y的标签被错误标记成了N。

用西瓜来举例,这三种弱监督情况如下所示:
在这里插入图片描述
针对这三种典型的弱监督情况,分别使用不同的技术去解决,如下图所示:
在这里插入图片描述

  • 解决不完全监督:主动学习半监督学习。一种是有人类(oracle,业务专家)干预的,一种是没有人类干预的。
  • 解决不确切监督:多示例学习。
  • 解决不精确监督:带噪学习。

重点讲一下半监督学习。在不完全监督情况下,我们已知少量带标签的数据,比如一个数据是positive,另一个数据是negative,和大量未标注数据。现在在两个label data正中间有一个test data,如果只根据这两个labeled data,我们是很难去判断这个test data到底是positive 还是negative的。但是如果我们被允许去观察一些unlabeled data的分布,观察到的结果如下图右边部分的灰点,这时我们就可以较肯定的认为test data是positive。这种半监督学习的方式有些类似于聚类。
在这里插入图片描述

参考:浅谈弱监督学习(Weakly Supervised Learning)、《A Brief Introduction to Weakly Supervised Learning》

2)域偏移、域适应、域泛化、迁移学习

在机器学习中,“域(domain)”通常指的是在训练或测试机器学习模型期间遇到的特定数据分布(distribution)。我们称训练集所在的域叫做Source Domain(源域),测试集所在的域叫做Target Domain(目标域)。以图像分类为例,不同的域可能对应不同类型的图像,例如照片、素描或卡通。

Domain shift/gap(域偏移/域间隙,DS) 指的是Source Domain和Target Domain的分布存在差异,导致Source Domain上训练的模型在Target Domain中性能下降的问题。解决域偏移是机器学习的一个重要问题,因为模型需要在new或unseen的数据上良好的执行。

域适应 (Domain Adaptation,DA)域泛化 (Domain Generalization,DG) 是解决域偏移问题的两种方法。

域适应可以看作是 transfer learning的变体,对于一个source-trained model,DA希望使用来自Target Domain的 sparse(少量带标签) 或 unlabelled data来修正或微调这个模型。这个微调的过程叫做Adaptation,相当于对在Source Domain上已经训练好的模型,使用Target Domain中的一些数据进行modify(or, finetuning),从而使模型能够适应新的领域,克服DS问题。

域泛化指的是在Source Domain上训练的模型足够鲁棒,以至于面对一个新的domain,无需adaption就可以实现良好的性能。

**总之, DA 和 DG 都旨在解决机器学习中的域偏移问题,但它们的区别是DG无需Adaption就可以实现良好的性能。**在实现DA或DG的过程中,可以用监督学习、无监督学习或弱监督学习。

根据data的标注情况,域适应还分为以下几种:(就是Adaption时数据的标注情况)

  • Unsupervised Domain Adaptation(UDA)
    • 在这种setting下,我们可以获取到目标域的数据,但是不能获取到对应的标签,即使用有标签的源域数据和无标签的目标域数据进行训练。
  • Semi-supervised Domain Adaptation
    • 由于UDA的性能较差,也不符合实际的应用。在实际的应用中,目标域不会完全的没有标注,一般会有少量的标注。在SSDA的setting下,训练时可以获取到少量的目标域标签,常见的是每个类别获取3或5个标签。
  • Universal Domain Adaptation
  • Source-Free Domain Adaptation
    • 在上面的setting中,训练过程是可以访问到源域数据的。但是在实际情况中,由于隐私原因(医疗数据不能公开)或者数据传输问题(数据集非常大,下表),我们并不能获取到源域数据,而只能获取到源域所训练好的模型。这个setting的目的就是只利用源模型来完成domain adaptation。

此外,域适应是迁移学习(Transfer Learning)的一个重要分支,迁移学习有很多种方法,常见的有以下几种:

  • 领域适应(Domain Adaptation):见上述;
  • 多任务学习(Multi-Task Learning):多任务学习指的是在多个相关任务之间共享知识和模型的过程,从而提高模型的泛化能力和效果。例如,在一个图像分类任务中,可以将人脸识别和物体检测作为相关的子任务,从而提高模型在不同任务上的性能。
  • 学习对抗网络(Adversarial Learning):学习对抗网络是指通过对抗的方式来学习一个模型,主要应用于解决源域和目标域之间的差异问题,从而提高模型在目标域的性能。
  • 预训练网络(Pre-trained Networks):预训练网络主要是指在其他数据集上训练好的网络,在新的任务上再进行微调或者迁移学习,从而加速训练过程和提高模型的性能。
  • 神经架构搜索(Neural Architecture Search):神经架构搜索是指通过自动化搜索方法寻找最优的神经网络结构,从而减少人类专家参与的程度,提高机器学习的效率和效果。
  • 迁移强化学习(Transfer Reinforcement Learning):迁移强化学习是指通过将已有的经验和知识应用到新的任务中,来提高强化学习算法在新任务上的性能

3)小样本学习(Few-shot learning)

(1)小样本学习定义

人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。

小样本学习的方法包括迁移学习、元学习、数据增强、半监督学习、主动学习等,这些方法可以降低模型对数据量的依赖,提高泛化性能,使得模型在处理长尾数据时具有更好的鲁棒性。(Few-shot Learning 是 Meta Learning 在监督学习领域的应用。)

(2)support set 和 query set

在meta leanring中,一个task包含support set和query set,为N-way K-shot。同时task分为traning task和testing task。Tranining task是用来训练模型的,testing task用来测

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值