【ICML2018见闻】 迁移学习、多任务学习领域的进展

2023-10-29 03:59

本文主要是介绍【ICML2018见闻】 迁移学习、多任务学习领域的进展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【导读】如今 ICML(International Conference on Machine Learning,国际机器学习大会)已经成为有巨大影响力的会议,每年都会为我们带来很多关于机器学习趋势与发展方向等有意义的分享。今年的 ICML 有三个讨论会都重点讨论了迁移学习和多任务学习。

本文的作者(Isaac Godfried)也是对这两个领域的研究内容非常感兴趣,接下来 AI科技大本营将把 Isaac Godfried 在这次大会上的一些见闻介绍给大家。

对于深度学习来说,若缺少大量带标签的高质量数据,会带来较大的困难。许多任务都全面缺乏数据点(如:预测选举结果、诊断罕见的疾病、翻译稀有语种等等)。还有一些情况,数据量是足够的,但数据噪声很大,或标签的质量很低(如:通过关键词搜索从 Google 抓取的图片、通过 NLP 技术制定标签的医疗案例、只有部分注释的文本语料库)。但不管怎样,找到合适的方法去学习这些低质量或有噪声的数据都具有切实的意义。

可行的三种方法有迁移学习、多任务学习(从技术角度来讲,这个方法是一种类似领域自适应的迁移学习,但在本文中我会将它们看作不同的方法来讨论)以及半监督学习。还有一些其他的解决方法(主动学习、元学习、无监督学习),但本文会以 ICML 参会文章提到的三种方法为重点。由于这些方法处于领域间的边界,我们会也会涉及一些其它的方法,在这里先做一个简单的概述。

迁移学习

微调:假设我们同时有源分布和目标分布 S(y|x) 和 T(y2|x2),此处 x ≠ x2,y1 ≠ y2。若要进行微调,你必须具备目标域的标签数据。通过迁移学习,我们固定网络的浅层和中间层,只对深层特别是新类别进行微调。

多任务学习:假设我们有任务 T1、T2、T3 ... Tn;这些任务同时进行训练,例如:训练一个同时做情绪分类和命名实体识别的多任务网络。这是迁移学习的形式之一,因为从本质上来看,训练过程中你是在进行知识的迁移。

域自适应:与微调很相似,唯一不同是这里是域的改变而非标签集。所以若给定两种分布 S(y|x) 和 T(y|x2) x ≠ x2,但 y 是相同的。域自适应会着重于目标域中无标签数据的无监督学习。例如:适应从模拟器(源域)的有标签汽车图片到街道上(目标域)的无标签汽车图片的模型。

元学习(终身学习):元学习的目标是学习可以高度适应新任务的“通用”属性(超参数或权重),它的学习过程基于大量不同任务的训练。某种程度上,元学习可以被看作一种“历史性的”多任务学习,因为它基于多种不同的任务去寻找最合适的一组属性。由于多任务学习始终高度依赖于模型本身,所以近期元学习的趋势更加偏向于找到一种“与模型无关”的解决方法。

无论在什么产业或领域,迁移学习和多任务学习都是非常重要的工具。无论你从事医学、金融、旅游或是创作,也无论你与图像、文本、音频还是时间序列数据打交道,这些都是机会,你可以利用已经训练好的通用模型,然后将其引入你的特定领域进行微调。基于你的数据,你可以训练神经网络去同时解决多个相关任务,从而提高整体性能。

在那些专注于医学领域的深度学习论文中,有一篇题目为 “Not to Cry Wolf: Distantly Supervised Multitask Learning Critical Care”的论文。在重症监护室中,常常有错误警报问题,所以很多医生和护士可能对此变得不再敏感。这篇文章重点介绍如何利用多任务学习和半监督学习来监测有生命危险的事件,而避免错误的警报。该论文的作者将辅助任务引入到多任务学习中,无需花时间去打标签就可以提高模型的性能。特别要提的是,为了真正减少训练所需的标签数目,他们的模型引入了大量不相关的有监督辅助任务。另外,他们开发了一种针对不相关的多任务有监督学习的新方法,无论是面对多变量的时间序列,还是对有标签和无标签数据结合起来学习,该方法都能自动识别大量相关的辅助任务。

论文链接:https://arxiv.org/abs/1802.05027

谈论会视频(待放)

如果我们想使用多任务学习,但只有一个任务,该怎么办呢?一篇名为 “Pseudo-task Augmentation: From Deep Multitask Learning to Intratask Sharing — and Back”的论文对这一问题给出了答案。作者提出利用伪任务来帮助提升主任务的表现。这一方案是可行的,因为从本质上来看,多任务学习的工作原理基于中间层和浅层的特征共享以及特定任务的解码器。因此,使用多种解码器来训练模型可以有相同的效果,即使解码器都在为同一个任务工作,这是因为每个解码器是通过不同方式学习该任务的;这些附加的解码器被称为“伪任务”。该论文的作者在 CelebrityA 数据集上得出了当前最好的结果。我很期待能看到他们能用 IMDB 的评价数据集测试一下该方法。他们基于一个基础模型,通过自主开发的技术进行训练,从而得到了巨大的提升。这体现了该项技术有应用于不同神经网络结构的潜能。

论文链接:https://arxiv.org/abs/1803.04062

而“GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks”这篇论文阐述了一种新的多任务神经系统正规化技术,可以帮助神经系统更快地收敛,提升整体性能。该技术也减少了调参所需的超参数数目,仅需要一个。该论文团队使用梯度量化自动均衡算法(GradNorm)在 NYU2 数据集上得出了当前最好的结果。总体来说,该论文真正减小了训练 MLT 算法模型的复杂度与难度。最后,该作者提出了一个有趣的想法,“GradNorm 或许也可以应用于多任务学习以外的领域。我们希望将 GradNorm 算法拓展到类别平衡与 seq2seq 模型上,以及所有由梯度冲突而引发模型性能不佳的问题。”

论文链接:https://arxiv.org/abs/1711.02257

到目前为止,大多数有关迁移学习的论文都只研究了从源域到目标域的知识迁移,通过预先初始化权重并保留部分层或降低学习率的方法来实现。可以说论文“Transfer Learning via Learning to Transfer”完美地阐释了什么是“元-迁移学习”(meta-transfer learning) 或者说"学习如何迁移学习" (即 L2T, learn to teach)。

论文中用以描述 L2T 工作流程的图片

作者是这样解释的:

不像 L2T,所有现有的迁移学习算法研究的都是从零开始迁移,例如:只考虑一对兴趣领域,而忽略了之前的迁移学习经验。但不如这样,L2T 框架能够将所有算法的智慧集于一身,上面提到的任何一种算法都可以应用到迁移学习经验之中。

论文链接:http://proceedings.mlr.press/v80/wei18a/wei18a.pdf

那么现在问题来了,这一方法与“元学习”有何不同呢?实际上,L2T 可以被看作一种特殊的元学习:和元学习相同的是,它利用过去的历史经验来提升学习能力。然而,这里的历史指的是从源域到目标域的迁移学习。



论文中引用的不同学习方法对比图

该论文作者基于 Caltech-256 数据集对 L2T 框架进行了评估,模型在此前最好结果的基础上有所提升。

我(本文作者)个人很高兴看到 “Explicit Inductive Bias for Transfer Learning with Convolutional Networks”被选入 ICML,此前该论文被 ICLR(International Conference on Learning Representations)拒掉了。这篇论文描述了一种将正规化应用于迁移学习从而代替修改学习率的方法。研究者提出了几种新的正规化方法,可以基于预先训练好的模型的权重使用不同的惩罚项。他们得到了很好的实验结果,目前我也正在尝试把这一方法应用到我自己的几个医学影像模型中。

论文链接:https://arxiv.org/abs/1802.01483

“Curriculum Learning by Transfer Learning: Theory and Experiments with Deep Networks”是一篇以理论为主的论文,对“课程学习” (curriculum learning) 进行了深入研究,这一说法来源于教育和心理学领域,其目的是在有一定发展前提的规则下,学习更多不同的概念。该论文还特别关注了迁移学习和课程学习之间的关系,以及课程学习和训练所用到例子的顺序之间的关系。这里要注意的一点是,这种类型的迁移与之前讨论的类型有所不同。在这篇论文中,迁移学习指的是研究“知识从一个分类器到另一个分类器的迁移,如从老师分类器到学生分类器”。作者得出的结论是,课程学习使学习速率加快了,特别在处理困难的任务时,最终结果的提升尤为明显。

论文链接:https://arxiv.org/pdf/1802.03796.pdf

(无监督)域自适应的问题之一是目标域与源域的分布的一致性问题。无监督域自适应是迁移学习的类型之一。由此作者通过保证有标签样本和伪标签样本的一致性,开发了一种可以学习无标签目标样本语义表达的语义迁移网络。(论文“Learning Semantic Representations for Unsupervised Domain Adaptation”)他们的方法通过基于语义损失函数来减小源域和目标域的差异的方法,使源分布和目标的分布一致。该方法在 ImageCLEF-DA 和 Office31 数据集上都取得了当前世界上最好的表现。

论文中的用图

论文链接:http://proceedings.mlr.press/v80/xie18c/xie18c.pdf

github 地址:https://github.com/Mid-Push/Moving-Semantic-Transfer-Network

论文“Detecting and Correcting for Label Shift with Blackbox Predictors”是关于域自适应的另一篇有趣的论文。该论文的重点在于检测训练和测试中 y 分布的变化,这一方法在医学上尤为有用,流行病或爆发疾病会对分布产生明显的影响。

面对训练集和测试集分布之间的变化,我们希望可以检测和量化其间的变化,在没有测试集标签的情况下就可以对我们的分类器进行修正。

该论文的主题主要是协变量的变化。作者设计了几个有趣的标签转换模拟器,然后应用于 CIFAR-10 数据集与 MINST 了。相比于未修正模型,他们的方法大大提升了准确性。

论文链接:http://proceedings.mlr.press/v80/lipton18a/lipton18a.pdf

我发现论文“Rectify Heterogeneous Models with Semantic Mapping”有趣的点在于为了对齐分布,它引入了最优传输的方法。



论文中描述特征空间模型的图片

总之,该论文提出了最初的想法,并在模拟数据集和真实数据集上都取得了较好的结果,数据集包括 Amazon 用户点击数据集和学术论文分类数据集。

论文链接:http://proceedings.mlr.press/v80/han-jia18a/han-jia18a.pdf

上述这些只是 2018 ICML 上一部分有趣的论文,还有许多其它的优秀论文。希望之后可以对有关元学习和其余的半监督学习论文进行总结并与大家分享,这部分论文也同样引人入胜。

原文链接:

https://towardsdatascience.com/icml-2018-advances-in-transfer-multitask-and-semi-supervised-learning-2a15ef7208ec

 

这篇关于【ICML2018见闻】 迁移学习、多任务学习领域的进展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/298110

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss