北京乐宝助孕中心 > 北京代孕公司 >

#一天一个AI知识点# 什么是元学习?
点击次数: 975   更新时间:2023-12-01 06:31  【打印此页

人工智能的一个基本问题是它无法像人类一样高效地学习。许多深度学习分类器显示了超人的表现,但需要数百万个训练样本。知识不共享,并且每个任务都独立于其他任务进行训练。

问题

与人类相比,大多数最先进的深度学习方法都有两个关键的弱点:

样本效率:深度学习的样本效率很差。例如,为了识别数字,我们通常每个数字需要6000个样本。

可移植性差。我们不会从以前的经验或学到的知识中学习。

深度学习模型训练模型特别吃计算硬件,尤其是人为调超参数时候,更需要大量的计算。另一个头疼的问题是在某个任务下大量数据训练的模型,切换到另一个任务后,模型就需要重新训练,这样非常耗时耗力。工业界财大气粗有大量的GPU可以承担起这样的计算成本,但是学术界因为经费有限经不起这样的消耗。元学习可以有效的缓解大量调参和任务切换模型重新训练带来的计算成本问题。

元学习(meta-learning)

那么什么是元学习?我们试图将其定义为“学习如何学习”,也因此,元学习是过去几年最火爆的学习方法之一。但是实际上,我们还不知道确切的定义或解决方案。因此,它仍然是一个宽松的术语,指的是不同的方法。

元学习是深度学习领域中最活跃的研究领域之一。人工智能界的一些学派赞同这样一种观点:元学习是开启人工通用智能(AGI)的垫脚石。

近年来,元学习技术的研究和开发呈现爆炸式增长。然而,元学习背后的一些基本思想仍经常被数据科学家和工程师误解。因此,笔者认为有必要回顾一下元学习的一些基本概念、历史以及该领域中一些流行的算法。

元学习背后的思想可以追溯到1979年,唐纳德·毛兹利()在其作品中将新的认知范式重新定义为“学习者意识到并逐渐控制其内化的感知、探究、学习和成长习惯的过程”。

1985年,约翰·比格斯(JohnBiggs)在其作品将元学习更简单地定义为“了解并控制自身学习”。虽然从认知科学的角度来看这些定义很准确,但要适应人工智能的具体工作似乎有点困难。

在人工智能系统中,元学习可以简单地定义为获取知识多功能性的能力。人类能够以最少的信息同时获取多个任务。我们可以通过查看单张图片来识别一种新物体,也可以同时学习复杂的多任务活动,比如开车或驾驶飞机。

虽然智能体可以完成非常复杂的任务,但它们需要对任何原子的子任务进行大量训练,而且在处理多任务时仍然非常糟糕。因此,通往知识多功能性的道路需要智能体“学会如何学习”,或用术语来形容,就是元学习。

元学习希望使得模型获取一种学会学习调参的能力,使其可以在获取已有知识的基础上快速学习新的任务。机器学习是先人为调参,之后直接训练特定任务下深度模型。元学习则是先通过其它的任务训练出一个较好的超参数,然后再对特定任务进行训练。

在机器学习中,训练单位是样本数据,通过数据来对模型进行优化;数据可以分为训练集、测试集和验证集。在元学习中,训练单位是任务,一般有两个任务分别是训练任务(TrainTasks)亦称跨任务(AcrossTasks)和测试任务(TestTask)亦称单任务(WithinTask)。训练任务要准备许多子任务来进行学习,目的是学习出一个较好的超参数,测试任务是利用训练任务学习出的超参数对特定任务进行训练。训练任务中的每个任务的数据分为Supportset和Queryset;TestTask中数据分为训练集和测试集。

令表示需要设置的超参数,表示神经网络待训练的参数。元学习的目的就是让函数在训练任务中自动训练出,再利用这个先验知识在测试任务中训练出特定任务下模型中的参数,如下所示的依赖关系:

当训练一个神经网络的时候,具体一般步骤有,预处理数据集,选择网络结构,设置超参数,初始化参数,选择优化器,定义损失函数,梯度下降更新参数。具体步骤如下图所示:

元学习会去学习所有需要由人去设置和定义的参数变量。在这里参数变量属于集合为,则有:

不同的元学习,就要去学集合中不同的元素,相应的就会有不同的研究领域。

学习预处理数据集:对数据进行预处理的时候,数据增强会增加模型的鲁棒性,一般的数据增强方式比较死板,只是对图像进行旋转,颜色变换,伸缩变换等。元学习可以自动地,多样化地为数据进行增强,相关的代表作为DADA。

学习初始化参数:权重参数初始化的好坏可以影响模型最后的分类性能,元学习可以通过学出一个较好的权重初始化参数有助于模型在新的任务上进行学习。元学习学习初始化参数的代表作是MAML(Model-Agnostic-Meta-Learning)。它专注于提升模型整体的学习能力,而不是解决某个具体问题的能力,训练时,不停地在不同的任务上切换,从而达到初始化网络参数的目的,最终得到的模型,面对新的任务时可以学习得更快。

学习网络结构:神经网络的结构设定是一个很头疼的问题,网络的深度是多少,每一层的宽度是多少,每一层的卷积核有多少个,每个卷积核的大小又该怎么定,需不需要dropout等等问题,到目前为止没有一个定论或定理能够清晰准确地回答出以上问题,所以神经网络结构搜索NAS应运而生。归根结底,神经网络结构其实是元学习地一个子类领域。值得注意的是,网络结构的探索不能通过梯度下降法来获得,这是一个不可导问题,一般情况下会采用强化学习或进化算法来解决。

学习选择优化器:神经网络训练的过程中很重要的一环就是优化器的选取,不同的优化器会对优化参数时对梯度的走向有很重要的影响。熟知的优化器有Adam,RMsprop,SGD,NAG等,元学习可以帮我们在训练特定任务前选择一个好的的优化器,其代表作有:

元学习训练

元学习分为两个阶段,阶段一是训练任务训练;阶段二为测试任务训练。对应于一些论文的算法流程图,训练任务是在outerloop里,测试任务任务是在innerloop里。

2.1阶段一:训练任务训练

在训练任务中给定个子训练任务,每个子训练任务的数据集分为Supportset和Queryset。首先通过这个子任务的Supportset训练,分别训练出针对各自子任务的模型参数。然后用不同子任务中的Queryset分别去测试的性能,并计算出预测值和真实标签的损失。接着整合这个损失函数为:

最后利用梯度下降法去求出去更新参数,从而找到最优的超参设置;如果不可求,则可以采用强化学习或者进化算法去解决。阶段一中训练任务的训练过程被整理在如下的框图中。

2.2阶段二:测试任务训练

测试任务就是正常的机器学习的过程,它将数据集划分为训练集和测试集。阶段一中训练任务的目的是找到一个好的超参设置,利用这个先验知识可以对特定的测试任务进行更好的进行训练。阶段二中测试任务的训练过程被整理在如下的框图中。

实例讲解

上一节主要是给出了元学习两阶段的学习框架,这一节则是给出实例并加以说明。明确超参为初始化权重参数,通过元学习让模型学习出一个较优的初始化权重。假设在AcrossTasks中有个子任务,第个子任务Supportset和Queryset分别是和。第个子任务的网络权重参数为,元学习初始化的参数为的原理图如下所示,其具体过程为:

第一步:将所有子任务分类器的网络结构设置为一样的,从个子任务中随机采样出个子任务,并将初始权重赋值给这个网络结构。

第二步:采样出的个子任务分别在各自的Supportset上进行训练并更新参数。在MAML中参数更新一步,在Reptile中参数更新多步。

第三步:利用上一步训练出的在Queryset中进行测试,计算出各自任务下的损失函数。

第四步:将不同子任务下的损失函数进行整合得到。

第五步:求出损失函数关于的导数,并对初始化参数进行更新。

循环以上个步骤,直到达到要求为止。

为了能够更直观的给出利用更新参数的过程,我硬着头皮把梯度的显示表达式给写了出来,具体形式如下所示:

从这个公式中也能隐约的发现整个训练过程的缩影,它已经把所有的变量都囊括了进去,这个公式也直接回答了一个问题,元学习自动学习权重参数是一个可导问题。

整理到这里有一个问题必须要被回答,元学习学习初始化权重的方法和预训练方法有什么区别?为了能够更直观的对比这两个方法的异同,将预训练的过程整理为如下流程图,具体的过程为:

第一步:前提只有一个神经网路模型其初始化权重参数为,从个子任务中随机采样出个子任务。

第二步:神经网络模型在采样出的个子任务中进行训练,得到不同子任务中的损失。

第三步:将不同子任务下的损失函数进行整合得到。

第四步:求出损失函数关于的导数,并对初始化参数进行更新。

循环以上个步骤,直到达到要求为止。对应的在预训练过程中,梯度的表达式为:

元学习模型的类型

加州大学伯克利分校人工智能实验室最近发表了一篇研究论文,文中全面列举了不同类型的元学习。以下是笔者最喜欢的一些类型:

·小样本元学习:“小样本元学习”的理念是创建深层神经网络,从最简单的数据集中学习,比如模仿婴儿如何通过只看到一两张图片来学习识别物体。小样本元学习的理念启发了记忆增强神经网络或单样本生成模型等技术的产生。

·优化器元学习:优化器元学习模型的重点是学习如何优化神经网络从而更好地完成任务。这些模型通常包括一个神经网络,该神经网络将不同的优化应用于另一个神经网络的超参数,从而改进目标任务。那些专注于改进梯度下降技术的模型就是优化器元学习很好的体现,就像该研究中发布的那些模型。

·度量元学习:度量元学习的目标是确定一个高效率学习的度量空间。该方法可以看作是小样本元学习的一个子集,通过使用学习度量空间来评价学习质量并举例说明。该研究论文向读者展示如何将度量元学习应用于分类问题。

·循环模型元学习:该类型的元学习模型适用于循环神经网络(RNNs),比如长短期记忆网络(LSTM)。在这种架构中,元学习器算法将训练RNN模型依次处理数据集,然后再处理任务中新输入的数据。在图像分类设置中,这可能涉及到依次传递数据集(图像、标签)对的集合,然后是必须分类的新示例。元强化学习就是这种方法的一个例子。

图源:unsplash

随着深度学习向无监督模式过渡,元学习的重要性正在不断提高。如果我们能将学习过程应用到学习新任务,那么AGI的理念就会更加实用。但就和人类一样,让人工智能模型学会学习比学习本身更加困难,实际行进中依然任重道远。

想法

学习如何更好地学习不仅是对机器的挑战,也是对人类的挑战。元学习已经被研究了几十年,但是我们还没有完全理解它是如何实现的。为了结束我们的思想,这里是目前提高学习效率相关的研究领域。

收集更好的信息来学习。

更好地从过去的经验中学习。

更好地知道如何表示信息。

如何更好地优化模型。

探索更好的方法。

将联系变得更好。

将泛化变得更好。

笔云科技,人工智能应用实践先行者


参考资料
热门文章
北京代孕机构 | 北京代孕公司 | 北京代孕要花多少钱 | 北京代孕价格 | 北京供卵代孕 | 城市分站 |
Copyright © 2002-2030 北京火次元科技有限公司 联系我们|北京市海淀区白家疃尚品园1号楼5层589 京ICP备2024051299号-1 北京乐宝助孕中心  网站地图sitemap.xml tag列表