机器之心原创
迁移学习通过将源任务学习到的经验应用到目标任务,从而让目标任务的训练更灵活高效,也更贴近现实情况——往往要解决的目标问题可能很难直接学习,因为训练数据不足或者无法直接与环境交互难以获得训练数据。因此将迁移学习应用到强化学习中,势必能帮助强化学习更好地落地到实际问题。本文将从迁移学习、强化学习中的迁移学习、强化学习中的迁移技术最新进展三个部分向大家分享。
Part 1 迁移学习
一、迁移学习是什么?
机器学习技术在许多领域取得了重大成功,但是,许多机器学习方法只有在训练数据和测试数据在相同的特征空间中或具有相同分布的假设下才能很好地发挥作用。当分布发生变化时,大多数统计模型需要使用新收集的训练数据重建模型。在许多实际应用中,重新收集所需的训练数据并重建模型的代价是非常昂贵的,在这种情况下,我们需要在任务域之间进行知识迁移 (Knowledge Transfer) 或迁移学习 (Transfer Learning),避免高代价的数据标注工作。
比如说,我们在一个感兴趣的领域中有一个分类任务,但我们只在另一个感兴趣的领域中有足够的训练数据,其中后者的数据可能在不同的特征空间中或遵循不同的数据分布,我们希望能够从后者中将知识进行迁移从而帮助完成前者的任务。现实生活中就有许多迁移学习的例子,比如说,掌握 C++语言有助于快速上手 Java、Python 等。人们可以聪明地应用以前学到的知识来更快更有效地解决新的问题,这就是一种迁移学习。
迁移学习的定义[1] 如下:给定一个源域 Ds 和学习任务 Ts,一个目标域 Dt 和学习任务 Tt,迁移学习致力于通过使用源域 Ds 和源任务 Ts 中的知识,帮助提升目标域 Dt 中的目标预测函数 f_T() 的学习,其中 Ds≠Dt,或者 Ts≠Tt。
二、迁移学习的三个主要研究问题
在迁移学习中主要研究以下三个问题:
迁移什么
如何迁移
何时迁移
「迁移什么」指的是跨域或跨任务迁移哪一部分知识。一些知识可能是特定于单个域或任务的,而一些知识可能在不同域之间是相同的,通过迁移知识的选择可以帮助提高目标域或任务的性能。目前,迁移学习的内容主要可分为四类:实例迁移、特征表示迁移、参数迁移、关系知识迁移。
在发现可以迁移的知识之后,需要开发学习算法来迁移知识,这就是「如何迁移」的问题。
而「何时迁移」指的是在什么情况下可以进行迁移,在哪些情况下不应该迁移。在某些情况下,当源域和目标域彼此不相关时,强行进行迁移可能会失败。而在最坏的情况下,它甚至可能损害目标域的学习表现,这种情况通常被称为负迁移。当前有关「迁移什么」和「如何迁移」的大多数迁移学习工作都暗含源域和目标域彼此相关这一假设。但是,如何避免负迁移仍旧是迁移学习领域受关注的问题。
三、迁移学习方法划分
根据迁移学习的定义,表 1 中总结了传统机器学习与各种迁移学习设置之间的关系,其中根据源域和目标域与任务之间的不同情况,将迁移学习分为三个类别:
归纳式迁移学习(Inductive Transfer Learning)
无监督迁移学习(Unsupervised Transfer Learning)
直推式迁移学习(Transductive Transfer Learning)
表 1:传统机器学习与各种迁移学习设置之间的关系。
1. 在归纳式迁移学习设置中,无论源域和目标域是否相同,目标任务都与源任务不同。算法利用来自源域的归纳偏差帮助改进目标任务。根据源域中数据的不同情况,归纳式迁移学习进一步分为两种情况:
1)源域中有很多带标签的数据。在这种情况下,归纳式迁移学习设置类似于多任务学习设置。但是,归纳式迁移学习设置仅旨在通过迁移源任务中的知识来实现目标任务中的高性能,而多任务学习则尝试同时学习目标任务和源任务;
2)源域中没有标签数据。在这种情况下,归纳迁移学习设置类似于自学习。在自学习设置中,源域和目标域之间的标签空间可能不同,这意味着不能直接使用源域的信息。
2. 在无监督迁移学习设置中,与归纳迁移学习设置类似,目标任务不同于源任务,但与源任务有关。然而,无监督的迁移学习侧重于解决目标域中的无监督的学习任务,例如聚类,降维和密度估计。在这种情况下,源域和目标域中都没有可用的标签数据。
3. 在直推式迁移学习设置中,源任务和目标任务是相同的,而源域和目标域是不同的。在这种情况下,目标域中没有可用的标签数据,而源域中有许多可用的标签数据。另外,根据源域和目标域之间的不同情况,我们可以进一步将直推式学习设置分为两种情况:
1)源域和目标域之间的特征空间不同;
2)源域和目标域之间的特征空间相同,但输入数据的边际概率分布不同。
Part 2 强化学习中的迁移学习
一、描述强化学习中的迁移问题
强化学习是一种根据环境反馈进行学习的技术。强化学习 agent 辨别自身所处的状态 (state),按照某种策略决定动作(action),并根据环境提供的奖赏来调整策略,直至达到最优。马尔可夫决策 MDP(Markov Decision Process)是强化学习任务的标准描述,我们定义一个任务 M,用四元组< S , A , T, R>表示,其中 S 是状态空间,A 是动作空间,T 是状态转移概率,R 是奖赏函数。state-action 空间 S×A 定义了任务的域,状态转移概率 T 和奖赏函数 R 定义了任务的目标。当强化学习的状态动作空间 S×A 很大时,为了寻找最优策略,搜索过程非常耗时。此外,学习近似最优解所需的样本数量在实际问题中往往令人望而却步。无论是基于值的方法还是基于策略的方法,只要问题稍稍变动,之前的学习结果就会失效,而重新训练的代价巨大。因此,研究者们针对强化学习中的迁移学习展开了研究,希望能够将知识从源任务迁移到目标任务以改善性能。
二、对强化学习中的迁移进行分类
表 2:RL 中迁移学习的三个维度。每个迁移解决方案都是为特定设置设计的,传输某种形式的知识,追求某一目标。
关于强化学习中的迁移研究已经有很多,这些研究涉及到许多不同的迁移问题。由于在处理这一复杂而具有挑战性的问题时采用的方法和思路大不相同,因此通常很难清晰地了解 RL 的当前最新技术。在 [2] 中,Lazaric A 从主要的迁移设置,迁移的知识种类以及迁移目标这三个方面,对强化学习中的迁移进行分类,如表 2 所示。
设定(setting):
根据源任务数量和与目标域之间的差异,强化学习中的迁移设定如图1所示,有以下三种:
1)从单一源任务到目标任务的固定域迁移。任务域由其状态-动作空间 S×A 决定,而任务的具体结构和目标由状态转移模型 T 和奖励函数 R 决定。RL 中迁移学习的早期研究大多任务域是固定的且只涉及两个任务:一个源任务和一个目标任务。
2)跨多个源任务到目标任务的固定域迁移。在这种情况下,任务共享相同的域,迁移算法将以从一组源任务中收集到的知识作为输入,并使用它来改进在目标任务中的表现。
3)源任务和目标任务不同域迁移。在该设置中,任务有不同的状态-动作空间,无论是在数量上还是范围上。在这种情况下,大多数迁移方法都着重于如何定义源状态-动作变量和目标变量之间的映射,以便获得有效的知识迁移。
图1: 根据源任务数量和与目标任务的任务域差异而定义的三种主要的迁移设定 (图修改自 [2])
知识 (Knowledge):
1. 实例迁移 (Instance Transfer)。RL 算法依赖于从与 MDP 的直接交互中收集的一组样本来为手头的任务构建解决方案。这组样本可以用于在基于模型的方法中估计 MDP 模型,或者在无模型方法中构建值函数或策略的近似。最简单的迁移算法收集来自不同源任务的样本,并将其重用于目标任务的学习。
2. 特征迁移(Representation Transfer)。每种 RL 算法对于任务和解决方案都使用特定的表示,如神经网络,或一组近似最优值函数的基函数。在不同任务的学习过程中,迁移算法通常会改变任务和解的表示形式以进行目标任务的学习。
3. 参数迁移(Parameter Transfer)。RL 算法有大量参数定义了初始化和算法行为。一些迁移方法根据源任务改变和调整算法参数。例如,如果某些状态-动作对中的动作值在所有源任务中都非常相似,则可以据此将目标任务的 Q-table 初始化,从而加快学习过程。初始解决方案 (策略或值函数) 通常被用来在只有一个源任务的迁移设置中初始化算法。
目标 (Objective):
1. 学习速度的提升。学习算法的复杂性通常由实现所需性能所需的样本数量来衡量。在实践中,可以使用时间与阈值,面积比,有限样本分析等来衡量学习速度的提升。通过设置阈值,并测量单任务和迁移算法需要多少经验 (如样本、片段、迭代) 来达到这个阈值,以判定迁移效果。面积比度量方法通过考虑迁移学习前后学习曲线下的区域进行度量。
2. 初始(JumpStart)提升。通过从源任务进行迁移,看 agent 在目标任务中的初始性能的提升来衡量迁移学习的效果。学习过程通常从假设空间中的随机或任意的假设开始。根据环境的定义,所有的任务都来自同一个分布Ω。
3. 渐进(Asymptotic)提升。在大多数实际感兴趣的问题中,最优值函数或策略的完美近似是不可能的。使用函数逼近技术,近似值越精确,收敛性越好。近似的准确率严格依赖于用于表示解决方案的假设空间的结构。该目标就是看迁移学习后,Agent 最终表现的提升。
Part 3 强化学习中的迁移应用最新进展
笔者整理了部分结合强化学习与迁移学习的最新技术研究,速览如下:
《Transfer Learning For Related Reinforcement Learning Tasks Via Image-to-Image Translation(ICLR-2019)》
中文名:通过图像到图像翻译的相关强化学习任务的转移学习
论文链接:https://arxiv.org/abs/1806.07377
代码链接:http://github.com/ShaniGam/RL-GAN
论文速览:尽管深度 RL 在从原始像素中学习控制策略取得了巨大的成功,但是结果模型泛化能力太差。作者使用 Atari Breakout 游戏 (打砖块游戏),证明了训练后的 agent 难以应对小的视觉变化(比如说在背景上增加矩形图案作干扰,或者在背景上添加一些对角线,人类可以轻松适应这些小的变化,如图 2)。
图 2 :(a) 为原始版本的打砖块游戏,其余为在背景上添加了一些小的视觉变化。(b) 添加固定蓝色矩形干扰,(c) 红色矩形在三个固定位置闪现 (d) 绿色线条干扰 (e) 对角线干扰。
作者使用常见的迁移学习策略——微调,来应对这些视觉上的改变却遭遇了惨败。甚至从某种程度上来说,从头开始对 agent 进行训练比对经过训练的 agent 进行微调还要更快。因此,作者建议通过添加专用组件来改善迁移学习,该组件的目标是学习在已知域和新域之间进行映射。作者提议将视觉迁移和动态迁移分开,agent 尝试从新域到旧域进行类比:观察新域中的一组状态(图像)后,代理可以学习将其映射到源域中相似熟悉的状态,并根据其源域策略对映射状态采取行动。
更具体地来说,给定具有训练参数θ的训练策略π(a|s;θ) 提出针对源域状态 s∈S 的动作 a,希望从目标域状态 t∈T 学习映射函数 G:T→S 这样,通过应用策略π(a|G(t));θ) 与环境 T 进行交互。也就是寻求一个映射函数 G,该函数允许在与目标环境 T 交互时重用为源环境 S 学习的相同策略πθ。由于源域项目和目标域项目都是图像,因此通过从 S 和 T 收集图像集并使用 Unaligned GAN 直观地映射它们之间的图像来启发式学习函数 G。作者将通过π(a|G(t));θ) 与环境相互作用获得的分数用于 GAN 模型选择和停止标准。
作者使用 unaligned GAN 创建映射,以将目标任务中的图像转换为源任务中的相应图像。这种映射使得能够在 Breakout 游戏的各种变体之间以及 Road Fighter 游戏的不同级别之间进行迁移。结果显示,学习此映射比重新训练更有效。作者给出了本文方法在两种游戏上的可视化效果,图 3 给出 Breakout 上的可视化动图。
此外,这篇论文的 review 也非常有意思,值得一看:https://openreview.net/forum?id=rkxjnjA5KQ
图 3:Breakout 游戏上的可视化动图。视频来源 https://www.youtube.com/watch?v=4mnkzYyXMn4&feature=youtu.be
《Transfer in Deep Reinforcement Learning using Knowledge Graphs》
中文名:使用知识图谱的深度强化学习中的迁移
论文链接:https://arxiv.org/pdf/1908.06556.pdf
论文速览:文字类冒险游戏是一种玩家必须通过文本描述来了解世界,通过相应的文本描述来声明下一步动作的游戏(有点像大家比较熟知的橙光小游戏)。教 agent 玩文字类冒险游戏是一项具有挑战性的任务,学习它的控制策略需要大量的探索。主要原因是大多数深度强化学习算法都是在没有真实先验的情况下针对任务进行训练的,从本质上来说,agent 必须从与环境的交互中了解关于游戏的一切。然而文字类冒险游戏充分利用了常识知识(比如斧头可以用来砍木头)和一些类型主题(在恐怖题材的游戏中,棺材里可能会有吸血鬼等等),游戏本身就是个谜,因此也导致了训练效率低下。
知识图是一个有向图,由一组语义三元组(主体,关系,对象)构成。在本文中,作者探索使用知识图和相关的神经嵌入作为域知识迁移的表示形式,以训练文字类冒险游戏的强化学习 agent,从而减少训练时间并提高所学习控制策略的质量。作者在 KG-DQN 的基础上展开他们的工作,探索知识图和网络参数的迁移。从静态文本资源中提取出 graph,并使用它向 agent 提供特定领域的词汇,对象能力等知识。agent 也能访问游戏解析器接收到的所有 action,通过提取解析器接收到的一系列模板(用 OBJ 标记替代 action 中的 object 或者名词短语),将 OBJ 标记更换为游戏给定词汇中可能的 object 即可。DQN 网络由两个独立的神经网络构成,分别编码 state 和 action,由最终的 state-action 对的 Q 值作为两个网络之间交互的结果,使用贝尔曼方程更新。
图 5:KG-DQN 架构。
将知识图从静态文本资源迁移到 DQN 中的问题作者称之为播种,KG-DQN 使用知识图作为状态表示,并对动作空间进行精简,图 X 是随着时间的推移,通过 agent 的探索而建立起来的,当 agent 首次开始游戏时,这个图是空的,因此在 action 精简过程中帮助不大。而从另一个来源种子化知识图,比如同一故事类型的文本冒险游戏,就可以给 agent 一个强的先验。
图 6 :播种知识图示意。
此外,作者证明了可以使用 DQN 网络参数权重有效地迁移知识,或者通过使用问答系统对网络的各个部分进行预训练,也可以将参数从源迁移到目标游戏。这样 agent 整体训练速度更快(包括对源任务进行预训练和训练所需的情节数量),并且与未使用这些技术的 agent 相比,其收敛性能提高了 80%。作者的方法在多种计算机生成的和人工创作的游戏中进行了测试,这些游戏的域和复杂性各不相同,通过实验作者得出结论,知识图通过为 agent 提供不同游戏的状态和动作空间之间的更明确且可解释的映射,从而使他们能够在深度强化学习 agent 中进行迁移。
《Transfer of Temporal Logic Formulas in Reinforcement Learning(IJCAI-2019)》
中文名:强化学习中时序逻辑的迁移
论文链接:https://arxiv.org/pdf/1909.04256.pdf
论文速览:将高层次知识从源任务迁移到目标任务是加快强化学习的有效方法。例如,命题逻辑和一阶逻辑已被用作这种知识的表示。作者将事件时序至关重要的那些任务称为时序任务(temporal tasks),通过逻辑可迁移性的概念具体化时序任务之间的相似性,并开发不同但相似的时序任务之间的迁移学习方法。作者首先提出一种推理技术,以从两个 RL 任务收集的标记轨迹中,按顺序析取正态形式提取度量间隔时序逻辑(MITL)公式。如果通过此推断确定了逻辑可迁移性,作者为从这两个任务推断出的 MITL 公式的每个顺序合取子式构造一个定时自动机。作者在扩展状态下执行 RL,其中包括源任务定时自动机的位置和时钟评估。然后,作者根据两个任务在定时自动机的相应组件(时钟,位置等)之间建立映射,并根据已建立的映射来迁移扩展的 Q 函数。最后,作者从迁移的扩展 Q 函数开始,对目标任务的扩展状态执行 RL。两个案例研究中的结果表明,根据源任务和目标任务的相似程度,通过在扩展状态空间中执行 RL,可以将目标任务的采样效率提高一个数量级。
图 7:基于时序逻辑迁移的迁移学习方法工作流程图。
《Value Function Transfer for Deep Multi-Agent Reinforcement Learning Based on N-Step Returns (IJCAI-2019)》
中文名:基于 N 步返回的深度多智能体强化学习的值函数迁移
论文链接:https://www.ijcai.org/proceedings/2019/0065.pdf
论文速览:许多现实世界的问题,如机器人控制,足球比赛,都被建模为稀疏交互多 agent 系统。在具有稀疏交互的多 agent 系统中重用单 agent 知识可以极大地加速多 agent 学习过程。先前的工作依赖于互模拟度量(bisimulation metric)来定义马尔可夫决策过程(MDP)的相似性以控制知识迁移。但是,互模拟度量的计算成本很高,并且不适用于高维状态空间问题。在这项工作中,作者提出了一种基于新型 MDP 相似性概念的可扩展的迁移学习方法。首先根据 MDP 的 N 步返回值(NSR)定义 MDP 相似度。然后,作者提出了两种基于深度神经网络的知识迁移方法:直接值函数迁移和基于 NSR 的值函数迁移。作者在基于图像的网格世界,MPE 和《吃豆人》游戏中进行实验。结果表明,所提出的方法可以显著加速多 agent 强化学习,同时具有更好的渐近性能。
图 8:直接值函数迁移网络架构。
图 9:基于 NSR 的值函数迁移网络架构。
《Importance Weighted Transfer of Samples in Reinforcement Learning (ICML-2018)》
中文名:强化学习中样本的重要性权重迁移
论文链接:https://arxiv.org/pdf/1805.10886.pdf
论文速览:作者考虑从一组源任务中收集强化学习(RL)中的经验样本(即元组<s,a,s',r>)的迁移,以改善给定目标任务中的学习过程。大多数相关方法都集中于选择最相关的源样本来解决目标任务,但随后使用所有迁移的样本没有再考虑任务模型之间的差异。在本文中,作者提出了一种基于模型的技术,该技术可以自动估计每个源样本求解目标任务的相关性(重要性权重)。在所提出的方法中,所有样本都通过批强化学习算法迁移并用于解决目标任务,但是它们对学习过程的贡献与它们的重要性权重成正比。通过扩展监督学习文献中提供的重要性加权结果,作者对提出的批 RL 算法进行了有限样本分析。此外,作者将提出的算法与最新方法进行了经验比较,表明即使在某些源任务与目标任务明显不同的情况下,该算法也能获得更好的学习性能,并且对负迁移具有非常强的鲁棒性。
《StarCraft Micromanagement with Reinforcement Learning and Curriculum Transfer Learning》
中文名:强化学习和课程迁移学习进行星际争霸微操
论文链接:https://arxiv.org/pdf/1804.00810.pdf
机器之心解读:https://www.jiqizhixin.com/articles/2018-04-06-4
论文速览:实时策略游戏已成为游戏人工智能的重要领域。本文提出了一种强化学习和课程迁移学习方法,以控制星际争霸微操中的多个单元。作者定义了一种有效的状态表示形式,该表示形式可以消除游戏环境中大型状态空间所引起的复杂性。然后提出了一种参数共享的多 agent 梯度 Sarsa(λ)(PS-MAGDS)算法来训练单元。单元之间共享学习策略,以鼓励合作行为。
图 10:星际争霸微操场景中的 PS-MAGDS 强化学习图示。
作者使用神经网络作为函数逼近器来估算动作-值函数,并提出奖赏函数以帮助部队平衡其行动和进攻。另外,使用迁移学习方法将模型扩展到更困难的场景,可以加快训练过程并提高学习性能。在小规模场景中,部队成功学习了如何以 100%的获胜率与内置 AI 战斗并击败它。在大型方案中,课程迁移学习方法用于逐步训练一组单元,并且在目标方案中显示出优于某些 baseline 方法的性能。通过强化学习和课程迁移学习,训练的单元能够在《星际争霸》微管理场景中学习适当的策略。
作者介绍
罗赛男,西安电子科技大学计算机科学与技术学院研究生,研究方向为网络空间安全与机器学习,关注前沿技术,热爱文字分享,希望能够与大家一起学习,共同进步,ღ( ´・ᴗ・` ) 比心!
参考文献:
Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on knowledge and data engineering, 2009, 22(10): 1345-1359.——本文 Part 1 主要参考
Lazaric A. Transfer in reinforcement learning: a framework and a survey[M]//Reinforcement Learning. Springer, Berlin, Heidelberg, 2012: 143-173.——本文 Part 2 主要参考
Taylor M E, Stone P. Transfer learning for reinforcement learning domains: A survey[J]. Journal of Machine Learning Research, 2009, 10(Jul): 1633-1685.——本文 Part 2 主要参考
延展阅读:
选自arXiv
作者:Chuanqi Tan、Fuchun Sun、Tao Kong、
Wenchang Zhang、Chao Yang、Chunfang Liu
机器之心编译
参与:乾树、刘晓坤
本文是清华大学智能技术与系统国家重点实验室近期发表的深度迁移学习综述,首次定义了深度迁移学习的四个分类,包括基于实例、映射、网络和对抗的迁移学习方法,并在每个方向上都给出了丰富的参考文献。机器之心对该综述进行了全文编译。
论文:A Survey on Deep Transfer Learning
论文地址:https://arxiv.org/pdf/1808.01974v1.pdf
摘要:作为一种新的分类方法,深度学习最近受到研究人员越来越多的关注,并已成功应用到诸多领域。在某些类似生物信息和机器人的领域,由于数据采集和标注费用高昂,构建大规模的标注良好的数据集非常困难,这限制了这些领域的发展。迁移学习放宽了训练数据必须与测试数据独立同分布(i.i.d.)的假设,这启发我们使用迁移学习来解决训练数据不足的问题。本篇综述的重点是回顾当前利用深度神经网络进行迁移学习的研究及其应用。我们根据深度迁移学习中使用的技术,给出了深度迁移学习的定义、类别并回顾了最近的研究工作。
1 引言
深度学习最近受到研究员越来越多的关注,并已成功应用于众多实践中。深度学习算法可以从海量数据中学习高级特征,这使得深度学习具备超越传统机器学习的优势。
深度学习可以通过无监督或半监督特征学习算法和分层特征提取来自动提取数据特征。相比之下,传统的机器学习方法需要手动设计特征,这会严重增加用户的负担。可以说深度学习是机器学习中一种基于大规模数据的表征学习算法。
数据依赖是深度学习中最严峻的问题之一。与传统的机器学习方法相比,深度学习极其依赖大规模训练数据,因为它需要大量数据去理解潜在的数据模式。我们可以发现一个有趣的现象,模型的规模和所需数据量的大小几乎呈线性关系。
一个合理的解释是,对于特定问题,模型的表达空间必须大到足以发现数据的模式。模型中的较底层可以识别训练数据的高级特征,之后的较高层可以识别帮助做出最终决策所需的信息。
在一些特殊领域,训练数据不足不可避免。数据收集复杂且昂贵,因此构建大规模、高质量的带标注数据集非常困难。
例如,生物信息数据集中的每个样本通常都代表一次临床试验或一名痛苦的患者。另外,即使我们以昂贵的价格获得训练数据集,也很容易过时,因此无法有效地应用于新任务中。
迁移学习放宽了训练数据必须与测试数据独立同分布(i.i.d.)这样的假设,这启发我们使用迁移学习来解决训练数据不足的问题。
在迁移学习中,训练数据和测试数据不需要是 i.i.d.,目标域中的模型也不需要从头开始训练,这可以显著降低目标域对训练数据和训练时间的需求。
过去,大多数迁移学习研究都是在传统的机器学习方法中进行的。由于深度学习在现代机器学习方法中的优势地位,深度迁移学习及其应用的概述尤为重要。这篇综述论文的贡献如下:
定义了深度迁移学习,并首次将其分为四类。我们回顾了目前关于每种深度迁移学习的研究工作,并给出了每个类别的标准化描述和示意图。
2 深度迁移学习
迁移学习是机器学习中解决训练数据不足问题的重要工具。它试图通过放宽训练数据和测试数据必须为 i.i.d 的假设,将知识从源域迁移到目标域。
这对由于训练数据不足而难以改善性能的许多研究领域产生巨大的积极影响。迁移学习的学习过程如图 1 所示。
这篇综述中使用的某些符号需要明确定义。首先,我们分别给出了域和任务的定义:域可以 用 D = {χ, P(X)} 表示,其包含两部分:特征空间 χ 和边缘概率分布 P(X) 其中 X = {x1, ..., xn} ∈ χ。
任务可以用 T = {y, f(x)} 表示。它由两部分组成:标签空间 y 和目标预测函数 f(x)。f(x) 也可看作条件概率函数 P(y|x)。最后,迁移学习 可以定义如下:
定义 1:(迁移学习)。给定一个基于数据 Dt 的学习任务 Tt,我们可以从 Ds 中获取对任务 Ts 有用的知识。迁移学习旨在通过发现并转换 Ds 和 Ts 中的隐知识来提高任务 Tt 的预测函数 fT(.) 的表现,其中 Ds ≠ Dt 且/或 Ts ≠ Tt。此外,大多数情况下,Ds 的规模远大于 Dt 的规模。
图 1:迁移学习的学习过程。
综述 [19] 和 [25] 将迁移学习就源域和目标域之间的关系分为三个主要类别,这已被广泛接受。这些综述是对过去迁移学习工作的总结,它介绍了许多经典的迁移学习方法。
此外,人们最近提出了许多更新和更好的方法。近年来,迁移学习研究界主要关注以下两个方面:域适应和多源域迁移。
如今,深度学习近年来在许多研究领域取得了主导地位。重要的是要找到如何通过深度神经网络有效地传递知识,深度神经网络其定义如下:
定义 2:(深度迁移学习)。给定一个由 <Ds, Ts, Dt, Tt, fT(.)>定义的迁移学习任务。这就是一个深度迁移学习任务,其中 fT(.) 是一个表示深度神经网络的非线性函数。
3 类别
深度迁移学习研究如何通过深度神经网络利用其他领域的知识。由于深度神经网络在各个领域都很受欢迎,人们已经提出了相当多的深度迁移学习方法,对它们进行分类和总结非常重要。
基于深度迁移学习中使用的技术,本文将深度迁移学习分为四类:基于实例的深度迁移学习,基于映射的深度迁移学习,基于网络的深度迁移学习和基于对抗的深度迁移学习,如表 1 所示。
表 1:深度迁移学习的分类。
3.1 基于实例的深度迁移学习
基于实例的深度迁移学习是指使用特定的权重调整策略,通过为那些选中的实例分配适当的权重,从源域中选择部分实例作为目标域训练集的补充。
它基于这个假设:「尽管两个域之间存在差异,但源域中的部分实例可以分配适当权重供目标域使用。」基于实例的深度迁移学习的示意图如图 2 所示:
图 2:基于实例的深度迁移学习的示意图。源域中的与目标域不相似的浅蓝色实例被排除在训练数据集之外;源域中与目标域类似的深蓝色实例以适当权重包括在训练数据集中。
[4] 中提出的 TrAdaBoost 使用基于 AdaBoost 的技术来过滤掉源域中的与目标域不同的实例。在源域中对实例重新加权以构成类似于目标域的分布。最后,通过使用来自源域的重新加权实例和来自目标域的原始实例来训练模型。
它可以减少保持 AdaBoost 属性的不同分布域上的加权训练误差。[27] 提出的 TaskTrAdaBoost 是一种快速算法,可以促进对新目标域的快速再训练。与 TrAdaBoost 设计用于分类问题不同,[20] 提出了 ExpBoost.R2 和 TrAdaBoost.R2 来解决回归问题。
[24] 提出的双权重域自适应(BIW)可以将两个域的特征空间对齐到公共坐标系中,然后为源域的实例分配适当的权重。[10] 提出增强的 TrAdaBoost 来处理区域砂岩显微图像分类的问题。
[26] 提出了一个量度迁移学习框架,用于在并行框架中学习实例权重和两个不同域的距离,以使跨域的知识迁移更有效。[11] 将集成迁移学习引入可以利用源域实例的深度神经网络。
3.2 基于映射的深度迁移学习
基于映射的深度迁移学习是指将源域和目标域中的实例映射到新的数据空间。在这个新的数据空间中,来自两个域的实例都相似且适用于联合深度神经网络。
它基于假设:「尽管两个原始域之间存在差异,但它们在精心设计的新数据空间中可能更为相似。」基于映射的深度迁移学习的示意图如图 3 所示:
图 3:基于映射的深度迁移学习的示意图。来自源域和目标域的实例同时以更相似的方式映射到新数据空间。将新数据空间中的所有实例视为神经网络的训练集。
由 [18] 引入的迁移成分分析(TCA)和基于 TCA 的方法 [29] 已被广泛用于传统迁移学习的许多应用中。一个自然的想法是将 TCA 方法扩展到深度神经网络。
[23] 通过引入适应层和额外的域混淆损失来扩展 MMD 用以比较深度神经网络中的分布,以学习具有语义意义和域不变性的表示。该工作中使用的 MMD 距离定义为:
损失函数定义为:
[12] 通过用 [8] 中提出的多核变量 MMD(MK-MMD)距离代替 MMD 距离改进了以前的工作。与卷积神经网络(CNN)中的学习任务相关的隐藏层被映射到再生核 Hilbert 空间(RKHS),并且通过多核优化方法使不同域之间的距离最小化。
[14] 提出联合最大均值差异(JMMD)来衡量联合分布的关系。JMMD 用于泛化深度神经网络(DNN)的迁移学习能力,以适应不同领域的数据分布,并改进了以前的工作。由 [2] 提出的 Wasserstein 距离可以用作域的新距离度量,以便找到更好的映射。
3.3 基于网络的深度迁移学习
基于网络的深度迁移学习是指复用在源域中预先训练好的部分网络,包括其网络结构和连接参数,将其迁移到目标域中使用的深度神经网络的一部分。
它基于这个假设:「神经网络类似于人类大脑的处理机制,它是一个迭代且连续的抽象过程。网络的前面层可被视为特征提取器,提取的特征是通用的。「基于网络的深度迁移学习示意图如图 4 所示:
图 4:基于网络的深度迁移学习的示意图。首先,在源域中使用大规模训练数据集训练网络。然后,基于源域预训练的部分网络被迁移到为目标域设计的新网络的一部分。最后,它就成了在微调策略中更新的子网络。
[9] 将网络分为两部分,前者是与语言无关的特征变换,最后一层是与语言相关的分类器。语言独立的特征变换可以在多种语言之间迁移。[17] 反复使用 CNN 在 ImageNet 数据集上训练的前几层来提取其他数据集图像的中间图像表征,CNN 被训练去学习图像表征,它可以有效地迁移到其他训练数据量受限的视觉识别任务。
[15] 提出了一种联合学习源域中标记数据和目标域中未标记数据的自适应分类器和可迁移特征的方法,它通过将多个层插入深层网络,指引目标分类器显式学习残差函数。[30] 在 DNN 中同时学习域自适应和深度哈希特征。
[3] 提出了一种新颖的多尺度卷积稀疏编码方法。该方法可以以一种联合方式自动学习不同尺度的滤波器组,强制规定学习模式的明确尺度,并提供无监督的解决方案,用于学习可迁移的基础知识并将其微调到目标任务。
[6] 应用深度迁移学习将知识从现实世界的物体识别任务迁移到 glitch 分类器,用于多重力波信号的探测。它证明了 DNN 可以作为优秀的无监督聚类方法特征提取器,根据实例的形态识别新类,而无需任何标记示例。
另一个非常值得注意的结果是 [28] 指出了网络结构和可迁移性之间的关系。它证明了某些模块可能不会影响域内准确性,但会影响可迁移性。它指出哪些特征在深层网络中可以迁移,哪种类型的网络更适合迁移。得出的结论是,LeNet、AlexNet、VGG、Inception、ResNet 在基于网络的深度迁移学习中是很好的选择。
3.4 基于对抗的深度迁移学习
基于对抗的深度迁移学习是指引入受生成对抗网络(GAN)[7] 启发的对抗技术,以找到适用于源域和目标域的可迁移表征。它基于这个假设:「为了有效迁移,良好的表征应该为主要学习任务提供辨判别力,并且在源域和目标域之间不可区分。」基于对抗的深度迁移学习的示意图如图 5 所示。
图 5:基于对抗的深度迁移学习的示意图。在源域大规模数据集的训练过程中,网络的前面层被视为特征提取器。它从两个域中提取特征并将它们输入到对抗层。
对抗层试图区分特征的来源。如果对抗网络的表现很差,则意味着两种类型的特征之间存在细微差别,可迁移性更好,反之亦然。在以下训练过程中,将考虑对抗层的性能以迫使迁移网络发现更多具有可迁移性的通用特征。
基于对抗的深度迁移学习由于其良好的效果和较强的实用性,近年来取得了快速发展。[1] 通过在损失函数中使用域自适应正则化项,引入对抗技术来迁移域适应的知识。
[5] 提出了一种对抗训练方法,通过增加几个标准层和一个简单的新梯度翻转层,使其适用于大多数前馈神经模型。[21] 为稀疏标记的目标域数据提出了一种方法迁移同时跨域和跨任务的知识。在这项工作中使用了一种特殊的联合损失函数来迫使 CNN 优化域之间的距离,其定义为 LD = Lc +λLadver,其中 Lc 是分类损失,Ladver 是域对抗损失。
因为两个损失彼此直接相反,所以引入迭代优化算法,固定一个损失时更新另一个损失。[22] 提出了一种新的 GAN 损失,并将判别模型与新的域自适应方法相结合。
[13] 提出一个随机多线性对抗网络,其利用多个特征层和基于随机多线性对抗的分类器层来实现深度和判别对抗适应网络。[16] 利用域对抗性损失,并使用基于度量学习的方法将嵌入泛化到新任务,以在深度迁移学习中找到更易处理的特征。
4 结论
在本篇综述论文中,我们对深度迁移学习的当前研究进行了回顾和分类。并首次将深度迁移学习分为四类:基于实例的深度迁移学习,基于映射的深度迁移学习,基于网络的深度迁移学习和基于对抗的深度迁移学习。在大多数实际应用中,通常混合使用上述多种技术以获得更好的结果。
目前大多数研究都集中在监督学习上,如何通过深度神经网络在无监督或半监督学习中迁移知识,可能会在未来引发越来越多的关注。负迁移和可迁移性衡量标准是传统迁移学习的重要问题。这两个问题对深度迁移学习的影响也要求我们进行进一步的研究。
此外,为深层神经网络中的迁移知识找到更强大的物理支持是一个非常有吸引力的研究领域,但这需要物理学家、神经学家和计算机科学家的合作。可以预见,随着深度神经网络的发展,深度迁移学习将被广泛应用于解决许多具有挑战性的问题。
先进制造业+工业互联网
产业智能官 AI-CPS
加入知识星球“产业智能研究院”:先进制造业OT(自动化+机器人+工艺+精益)和工业互联网IT(云计算+大数据+物联网+区块链+人工智能)产业智能化技术深度融合,在场景中构建“状态感知-实时分析-自主决策-精准执行-学习提升”的产业智能化平台;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
版权声明:产业智能官(ID:AI-CPS)推荐的文章,除非确实无法确认,我们都会注明作者和来源,涉权烦请联系协商解决,联系、投稿邮箱:erp_vip@hotmail.com。