迁移学习Transfer learning 与 元学习Meta-learning,二者的联系和差异

基本概念:

迁移学习tansfer learning

迁移学习(tansfer learning):运用已有领域学到的知识来辅助新环境中的学习任务。新兴领域往往缺少大量训练数据,直接从头训练成本太高,而相关领域的知识学习是相似的,因此我们可以运用已有的相关知识(source domain)迁移到新的学习任务(target domain)上。
比如一个人学了java,那么可以类比着尽快学会python。

代码上 这里迁移是指迁移网络模型和网络预训练的权重。

元学习meta learning

元学习(meta learning):learn to learn”,学习如何去学习,目的是成为一个拥有学习能力的学霸,而不是背题家。元学习不直接学\(f^*\),而是根据数据学一个函数\(F\),函数 \(F\) 能寻找到对某任务最佳的函数\(f^*\)。训练集和测试集被分为一个个task,一个task内划分了训练数据(support set)和测试数据(query set,并非真实test set),元学习在内循环利用support set更新临时参数,在外循环用query set更新模型参数,即更关注在测试数据上的效果,这也是我们真正关心的。

相似之处

两者都是利用了相似任务帮助提升泛化能力。殊途同归,并无大的区别。名字不一样而已,玩的都是文字游戏。

  • 你可以说元学习是强调从不同的若干小任务小样本来学习一个对未知样本未知类别都有好的判别和泛化能力的模型,但其实你想想,难道这不就是知识迁移吗?
  • 从迁移上来看,你可以说学习一个可迁移的特征或模型,可以从A迁移到B。但这些可以被迁移过提纯的东西,难道不能被叫做元知识吗?

鉴于目前的情况,这两部分看似是两个分支,各自也都发展出了很多的方法。但是千万不要认为是两个领域,我觉得最多也就算1.5个吧。

不同之处

虽然两者没有本质的区别,但是更细致的说,两者的关注点有所区别。

迁移学习要求已有的相关知识(source domain)和新的学习任务(target domain)具有相关性,否则可能会出现“negative transfer”的现象,将在电影上学到文学知识迁移到物理的学习上显然不妥。

而元学习目标上希望soucre domain和target domain没有联系的。
因此loss的设计更关注未来的”潜力“,而不是当前在训练数据上的表现。李宏毅老师用两张直观的图说明了迁移学习中model pre-training和meta learning的区别。
image

可以看出,用预训练的参数初始化后续模型,难以使所有task的loss都达到最低点,当下训练好并不保证后续表现仍好;若用元学习,虽然它学到的参数在当前训练任务不是最佳,在子任务上微调后,都达到了各自任务的局部最优,有更强潜力。

还有一些形式上的区别,如下图:
image

原文

作者:梦渔lmx,链接:https://www.zhihu.com/question/299020462/answer/2506333733 ,来源:知乎
作者:王晋东不在家,链接:https://www.zhihu.com/question/299020462/answer/1061686901 ,来源:知乎
作者:Jinjie Ni倪瑾杰,链接:https://www.zhihu.com/question/299020462/answer/2191238619 ,来源:知乎

posted @ 2024-07-21 17:02  kingwzun  阅读(473)  评论(0编辑  收藏  举报