前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >迁移学习和领域自适应

迁移学习和领域自适应

作者头像
CreateAMind
发布2018-07-25 10:05:53
1.5K0
发布2018-07-25 10:05:53
举报
文章被收录于专栏:CreateAMind

迁移学习和领域自适应

迁移学习和领域自适应指的是利用一个设定(分布 P1)中已经学到的内容去改 善另一个设定(比如分布 P2)中的泛化情况。这点概括了上一节提出的想法,在无 监督学习和监督学习之间转移表示。

在迁移学习 (transfer learning) 中,学习器必须执行两个或更多个不同的任务, 但是我们假设能够解释 P1 变化的许多因素和学习 P2 需要抓住的变化相关。这通常 能够在监督学习的情况中理解,输入是相同的,但是输出具有不同的性质。例如,我 们可能在第一种设定中学习了一组视觉类别,比如猫和狗,然后在第二种设定中学 习一组不同的视觉类别。如果第一种设定(从 P1 采样)中具有非常多的数据,那么 这有助于在 P2 抽取到的非常少的样本中快速泛化。许多视觉类别共享一些低级概 念,比如边缘,视觉形状,几何变化,照明变化的影响等。一般而言,当存在对不 同设定或任务有用,且对应多个设定的潜在因素的特征时,迁移学习,多任务学习(第7.7节)和领域自适应可以使用表示学习来实现。如图7.2所示,具有共享底层和任务相关上层的学习框架。

然而,有时不同任务之间共享的不是输入的语义,而是输出的语义。例如,语 音识别系统需要在输出层产生有效的句子,但是输入附近的较低层可能需要识别相 同音素或子音素发音的非常不同的版本(这取决于哪个人正在说话)。在这样的情 况下,共享神经网络的上层(输出附近)和进行任务特定的预处理是有意义的,如 图15.2所示。

图 15.2: 多任务学习或者迁移学习的架构示例。输出变量 y 在所有的任务上具有相同的语义;输 入变量 x 在每个任务(或者,比如每个用户)上具有不同的意义(甚至可能具有不同的维度),图 上三个任务为 x(1),x(2),x(3)。底层结构(决定了选择方向)是面向任务的,上层结构是共享的。 底层结构学习将面向特定任务的输入转化为通用特征。

在领域自适应 (domain adaption) 的相关情况下,任务(和最优的输入输出映 射)在每个设定之间保持相同,但是输入分布稍有不同。例如,考虑情感分析的任 务,包括判断评论是否表达积极或消极情绪。网上的评论来自许多类别。在书,视频 和音乐等媒体内容上训练的顾客评论情感预测器,被用于分析诸如电视机或智能电 话的消费电子产品的评论时,领域自适应情景可能会出现。可以想象,存在一个潜 在的函数可以判断任何语句是正面的,中性的还是负面的,但是词汇和风格可能会 因领域而有差异,使得跨域的泛化训练变得更加困难。简单的无监督预训练(去噪 自编码器)已经能够非常成功地用于领域自适应的情感分析 (Glorot et al., 2011c)。

一个相关的问题是概念漂移 (concept drift),我们可以将其视为一种迁移学习, 因为数据分布随时间而逐渐变化。概念漂移和迁移学习都可以被视为多任务学习的特定形式。短语 “多任务学习’’ 通常指监督学习任务,而迁移学习中更一般的概念也 适用于无监督学习和强化学习。

在所有这些情况下,目标是利用第一个设定下的数据优势,提取在第二种设定 中学习时或直接进行预测时可能有用的信息。表示学习的核心思想是相同的表示可 能在两种设定中都是有用的。两个设定使用相同的表示,使得表示可以受益于两个 任务的训练数据。

如前所述,无监督深度学习用于迁移学习已经在一些机器学习比赛中取得了成 功 (Mesnil et al., 2011; Goodfellow et al., 2011)。这些比赛中的某一个实验设定如 下。首先每个参与者获得一个第一种设定(来自分布 P1)的数据集,其中含有一些 类别的样本。参与者必须用这个来学习一个良好的特征空间(将原始输入映射到某 种表示),这样当我们将这个学习到的变换用于来自迁移设定(分布 P2)的输入时,线性分类器可以在有标记样本很少的训练集上训练,泛化。这个比赛中最引人注目 的结果之一是,学习表示的网络架构越深(在第一个设定 P1 中的数据使用纯无监督 的方式学习),在第二个设定(迁移)P2 的新类别上学习到的曲线就越好。对于深度 表示而言,迁移任务只需要较少的标记样本就能明显地渐近泛化性能。

迁移学习的两种极端形式是一次学习 (one-shot learning) 和零次学习 (zero-shot learning),有时也被称为零数据学习 (zero-data learning)。只有一个标记样本的迁移 任务被称为一次学习;没有标记样本的迁移任务被称为零次学习。

因为第一阶段学习出的表示就可以清楚地分离类别,所以一次学习(Fei-Feiet al., 2006) 是可能的。在迁移学习阶段,仅需要一个标记样本来推断表示空间中聚 集在相同点周围的许多可能的测试样本的标签。这使得在学习到的表示空间中,对 应于不变性的变化因子已经与其他因子完全分离,在区分某些类别的对象时,我们 以哪种方式学习到哪些因素具有决定意义。

考虑一个零次学习设定的例子,学习器已经读取了大量文本,然后要解决对象 识别的问题。如果文本足够好地描述了对象,那么即使没有看到某对象的图像,也 能识别该对象。例如,已知猫有四条腿和尖尖的耳朵,那么学习器可以在没有见过 猫的情况下猜测该图像是猫。

只有在训练时使用了额外信息,零数据学习(Larochelle et al., 2008) 和零次学 习(Palatucci et al., 2009; Socher et al., 2013b) 才是有可能的。我们可以认为零数据 学习场景包含三个随机变量:传统输入 x,传统输出或目标 y,以及描述任务的附加 随机变量,T 。该模型被训练来估计条件分布 p(y | x, T ),其中 T 是我们希望执行的任务的描述。在我们的例子中,读取猫的文本信息然后识别猫,输出是二元变量 y,y = 1 表示 ‘‘是’’,y = 0 表示 ‘‘不是’’。任务变量 T 表示要回答的问题,例如 ‘‘这个 图像中是否有猫?” 如果训练集包含和 T 在相同空间的无监督对象样本,我们也许 能够推断未知的 T 实例的含义。在我们的例子中,没有提前看到猫的图像而去识别 猫,拥有一些未标记的文本数据包含句子诸如 ‘‘猫有四条腿’’ 或 ‘‘猫有尖耳朵’’,对 于学习非常有帮助。

零次学习要求 T 被表示为某种泛化的形式。例如,T 不能仅是指示对象类别 的one-hot。通过使用每个类别词的词嵌入表示,Socher et al. (2013b) 提出了对象类 别的分布式表示。

一种类似的现象出现在机器翻译中 (Klementiev et al., 2012; Mikolov et al.,2013b; Gouws et al., 2014):我们已经知道一种语言中的单词,和非语言语料库中学 到的词与词之间的关系;另一方面,我们已经翻译了一种语言中的单词与另一种语 言中的单词相关的句子。即使我们可能没有将语言 X 中的单词 A 翻译成语言 Y 中 的单词 B 的标记样本,我们也可以泛化并猜出单词 A 的翻译,这是由于我们已经 学习了语言 X 和 Y 的分布式表示,并且通过两种语言相匹配句子组成的训练样本, 产生了关联于两个空间的连接(可能是双向的)。如果联合学习三种所有成分(两种 表示形式和它们之间的关系),那么这种迁移将会非常成功。

零次学习是迁移学习的一种特殊形式。同样的原理可以解释如何能执行多模态 学习 (multimodal learning),学习两种模态的表示,和一种模态中的观察结果 x 与 另一种模态中的观察结果 y 组成的对 (x,y) 之间的关系(通常是一个联合分布)(Srivastava and Salakhutdinov, 2012)。通过学习所有的三组参数(从 x 到它的表示, 从 y 到它的表示,以及两个表示之间的关系),一个表示中的概念被锚定在另一个表 示中,反之亦然,从而可以有效地推广到新的对组。这个过程如图15.3所示。

图 15.3: 两个领域 x 和 y 之间的迁移学习能够零次学习。标记或未标记样本 x 可以学习表示函数fx。同样地,样本 y 也可以学习表示函数 fy。上图中 fx 和 fy 旁都有一个向上的箭头,表示作用 方向。hx 空间中的相似性度量表示 x 空间中两点的距离,这种度量方式比直接度量 x 空间距离 更好。同样地,hy 空间中的相似性度量表示 y 空间中两点的距离。这两种相似函数都使用带点的 双向箭头表示。标记样本(短横水平线)(x,y) 能够学习表示 fx(x) 和表示 fy(y) 之间的单向或双 向映射(实双向箭头)。零数据学习可以通过以下方法实现。像 xtest 可以和单词 ytest 关联起来, 即使该单词没有像。因为单词表示 fy(ytest) 和像表示 fx(xtest) 可以通过表示空间的映射彼此关 联。尽管像和单词没有匹配在一起,但是它们的特征向量 fx(xtest) 和 fy(ytest) 互相关联。上图来 自 Hrant Khachatrian 的建议。

内容摘自:https://github.com/exacity/deeplearningbook-chinese/releases/ 15.2

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档