元学习深度解析

引言

 元学习(meta\mathrm{meta}metalearning\mathrm{learning}learning)是过去几年最火爆的学习方法之一,各式各样的paper\mathrm{paper}paper都是基于元学习展开的。深度学习模型训练模型特别吃计算硬件,尤其是人为调超参数时候,更需要大量的计算。另一个头疼的问题是在某个任务下大量数据训练的模型,切换到另一个任务后,模型就需要重新神经网络之父训练,这样非常耗时耗力。工业界财大气粗有大量的GPU可以承担起这样的计算成本,但是学术界因为经费有限经不起这样的消耗。元学习可以有效的缓解大量调参和任务切换模型神经网络重新训练带来的计算成本问题。

元学习介绍

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

元学习深度解析

 在机神经网络中各个隐藏层能提取器学习中,训练单位是样本数据,通过数据来对模型进行优化;数据可以分为训练集、测试集和验证集。在元学习中,训练单位是任务&#xff论文解读怎么写0c;一般有两个任务分别是训练任务(Tr神经网络之父ainTasks\mathrm{Train\text{ }Tasks}神经网络TrainTasks)亦称跨任务(Ac神经网络rossTasks\mathrm{Across\text{ }Tasks}AcrossTasks)和测试任务&#xff08神经网络算法;TestTask\mathrm{Test\text{ }Task}TestTask&神经网络算法三大类#xff09;亦称单任务(WithinTask\mathrm{Within\text{ }Task}WithinTask)。训练任务要准备许多子任务来进行学习,目的是学习出一神经网络算法三大类个较好的超参数,测试任务是利用训练任务学习出的超参数对特定任务进行训练。训练任务中的每个任务的数据分为Supportset\mathrm{Support\text{ }set}SupportsetQueryset\mathrm{Query\tex神经网络之父t{ }set}Quer神经网络原理yset&#x神经网络原理ff1b;TestTask\mathrm{Test\text{ }Task}TestTask中数据分为训练集和测试集。

 令\varphi表示需要设置的超参数,\theta表示神经网络待训练的参数。元学习的目的就是让函数F,F_{\varphi,\theta}F,在训练任务中自动训练出最好的∗\varphi^{*},再利用∗\varphi^{*}神经网络算法三大类这个先验神经网络控制知识在测试任务中训练出特定任务下模型ff_\神经网络算法三大类thetaf中的参数\theta,如下所示的依赖关系:神经网络原理
F,↦Tra神经网络中各个隐藏层能提取inTasks(F∗,⇔f)↦TestTask(F∗,∗⇔f∗)F_{\varphi,\theta} \xmapsto{\mathrm{Train\text{ }Tasks}}(F_{\varp深度学习hi^{*}神经网络算法,\theta}\Leftrightarrow{} f_{\theta}) \xmapsto{\mathrm论文解读{Test\tex机器学习t{ }Task}}(F_{\varphi^{*},\theta^*}\Leftrightarrow{}f_{\theta^*})F,TrainTasks(F神经网络,f)TestTask(F,f)当训练一个神经网络的时候,具体一般步骤有,预处理数据集DDD,选择网神经网络中各个隐藏层能提取络结构NNN深度学习,设置超参数\gamma&#xff神经网络研究属于哪个学派0c;初始化参数\theta_00&#神经网络研究属于哪个学派xff0c;选择优神经网络算法化器OOO,定义损失函数LLL,梯度下降更新参数\theta。具体步骤如下图所示

元学习深度解析

元学习会去学习所有需要由人去设置和定义的参数变量\va神经网络rphi。在这里深度学习参数变量\varphi属于集合神经网络研究属于哪个学派\Phi,则有∈={D,N,,,O,L}\varphi\in \神经网络是什么Phi=\{D,N,\gamma,\theta_0,O,L\}={D,N,,0,O,神经网络算法L}不同的元学习,就要去学集合\Phi中不同的元素,相应的就会有不同的研究领域。

  • 学习预处理数据集DDD:对数据进行预处理的时候&论文解读怎么写#xff0c;数据增强会增加模型的鲁棒性,一般的数据增强方式比较死板,只是对图像进行旋转,颜色变换,伸缩变换等。元学习神经网络算法三大类可以自动地,多样化地为数据进行增强&论文解读#xff0c;相关的代表作为DADA\mathrm{DADA}DADA
    论文名称:DADA: Differentiable Automatic Data Augmentation神经网络英语
    论文链接:https://arxiv.org/pdf/2003.03780v1.pdf
    论文详情:ECCV, 2020

  • 论文解读习初始化参数\theta_00:权重参数初始化的好坏可以影响模型最后的分类性能,元学习可以通过学出一个较好的权重初始化参数有助于模型在新的任务上进行学习。元学习学习初始化参数的代表作是MAML神经网络预测模型\mathrm神经网络中各个隐藏层能提取{MAML}MAML(Model\mathrm{Model}ModelAgnostic\mathrm{Agnostic}AgnosticMeta\mathrm{Me神经网络预测模型ta}MetaLearning\mathrm{Learning}Learning)。它专注于提升模型整体的学习能力,而不是解决某个具体问题的能力&#xf机器学习f0c;神经网络算法三大类训练时,不停地在不同的任务上切换&神经网络#xff0c;从而达到初始化网络参数的目论文解读怎么写的,最终得到的模型,面对新的任务时可以学习得更快。
    论文名称:Model-Agnostic Meta-Learning for Fast Ada神经网络原理ptation of Deep Networks
    论文链接:https://arxiv.org/神经网络是什么pdf/1703.03400.pdf
    论文详情:ICML,神经网络研究属于哪个学派 2017

  • 学习网络结构NNN:神经网络的结构设定是一个很头疼的问题,网络的深度是多少,每一层的宽度是多少,每一层的卷积核有多少个,每个卷积核的大小又该怎么定,需不需要dropout\mathrm{dropout}dropout等等问题,到目前为止没有一个定论或定理能够清晰准确地回答出以上问题&#xff0c神经网络中各个隐藏层能提取;所以神经网络结构搜索NAS\mathrm{NAS}NAS运营而生。归根结底,神经网络结构搜索其实是元学习地一个子类领域神经网络之父。值得注意的是,网络结构的探索不能通过梯度下降法来获得,这是一个不可导问题,一神经网络研究属于哪个学派般情况下会采用强化学习或进化算法来解决。
    论文名称:Neural Architecture Search with Reinforcement Learning
    论文链接:https://arxiv.org/abs/1611.神经网络算法三大类01578
    论文详情:ICLR, 2017

  • 学习选择优化器OOO:神经网络训练的过程中很重要的一环就是优化器的选取,不同的优化器会对优化参数时对机器学习梯度的走向有很重要的影响。熟知的优化器有Adam\mat论文解读怎么写hrm{Adam}AdamRMsprop\mathrm{R论文解读Msprop神经网络算法}RMspropSGD\mathrm{SGD}SGDNAG\mathrm{NAG}NAG等,元学习可以帮我们在训练特定任务前选择一个好的的优神经网络中各个隐藏层能提取化器,其代表作有
    论文名称:Learning to learn by gradient descent by gradient descent
    论文链接:https://arxiv.org/pdf/1606.04474.pdf
    论文详情&#xff1机器学习a;NIPS, 2016

元学习训练

元学习分为两个阶段,阶段一是训练任务训练;阶段二为测试任务训练。对应于一些论文的算法流程图,训练神经网络控制任务是在outerloop\mathrm{outer \text{ } loop }outerloop里&#神经网络之父xff0c;测试任务任务是在innerloop\mathrm{inner \text{ } loop }in神经网络算法nerloop里。

阶段一:训练任务训练

 在训练任务中给定hhh个子训练任务,每个子训练任务的数据集分为Supportset\mathrm{Support\text{ }set}SupportsetQueryset\mathrm{Query\tex神经网络之父t{ }set}Queryset。首先通过这hhh个子任务的Supportset\mathrm{Support\text{ }set}Supportset训练F,F_{\varphi,\theta}F,,分别训练出针对各自子任务的模神经网络控制型参数i∗(1深度学习≤i≤h)\theta_i^{*}(1\le i \le h)i(1ih)。然后用不同子任务中的Queryset\mathrm{Query\text{ }set}Queryset分别去测试fi∗f_{\theta_i^{*}}fi的性能,并计算出论文解读预测值和真实标签的损失li(1≤i≤h)l_{i}(1\le i \le h)li(1ih)。接着整合神经网络原理hhh个损失函数为L()L(\varphi)L()L()=l1+论文解读怎么写⋯+lk+⋯+lhL(\varphi)=l_1+\c神经网络是什么dots+l_k+\cdots+l_hL()=l1++lk++lh最后利用梯度下降法去求出∂L()∂\frac{\partial L(\varphi)}{\partial \varphi}L()去更新参数\varp机器学习hi,从神经网络中各个隐藏层能提取而找到最优的超参设置&#神经网络英语xff1b;如果∂L()∂\frac{\partial L(\varphi)}{\partial \varphi}L()不可求,则可以采用强化学习或者进化算法去解决。阶段一中训练任务的训论文解读练过程被整理在如下的框图中。

元学习深度解析

阶段二:测试任务训练

 测试任务就是正常的机器学习的神经网络预测模型过程,神经网络算法它将数据集划分为训练集和测试集。阶段一中训练任务的目的是神经网络中各个隐藏层能提取找到一个好的超参设置∗\varphi^{*},利用神经网络是什么这个先验知识可以对特定的测试任务进行更好神经网络控制的进行训练。阶段二中测试任务的训练过程被整理在如下的框图中。

元学习深度解析

版权声明:本神经网络预测模型文为博主鬼道2021原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.c神经网络预测模型sdn.net/qq_38406029/article/details/121201029

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2021年11月13日 下午2:35
下一篇 2021年11月13日 下午4:05

相关推荐