迁移强化学习

作者:机器之心
链接:https://zhuanlan.zhihu.com/p/87220648
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一、迁移学习是什么?

机器学习技术在许多领域取得了重大成功,但是,许多机器学习方法只有在训练数据和测试数据在相同的特征空间中或具有相同分布的假设下才能很好地发挥作用。当分布发生变化时,大多数统计模型需要使用新收集的训练数据重建模型。在许多实际应用中,重新收集所需的训练数据并重建模型的代价是非常昂贵的,在这种情况下,我们需要在任务域之间进行知识迁移 (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)

img

表 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 很大时,为了寻找最优策略,搜索过程非常耗时。此外,学习近似最优解所需的样本数量在实际问题中往往令人望而却步。无论是基于值的方法还是基于策略的方法,只要问题稍稍变动,之前的学习结果就会失效,而重新训练的代价巨大。因此,研究者们针对强化学习中的迁移学习展开了研究,希望能够将知识从源任务迁移到目标任务以改善性能。

二、对强化学习中的迁移进行分类

img

表 2:RL 中迁移学习的三个维度。每个迁移解决方案都是为特定设置设计的,传输某种形式的知识,追求某一目标。

关于强化学习中的迁移研究已经有很多,这些研究涉及到许多不同的迁移问题。由于在处理这一复杂而具有挑战性的问题时采用的方法和思路大不相同,因此通常很难清晰地了解 RL 的当前最新技术。在 [2] 中,Lazaric A 从主要的迁移设置,迁移的知识种类以及迁移目标这三个方面,对强化学习中的迁移进行分类,如表 2 所示。

设定(setting):

根据源任务数量和与目标域之间的差异,强化学习中的迁移设定如图1所示,有以下三种:

**1)从单一源任务到目标任务的固定域迁移。**任务域由其状态-动作空间 S×A 决定,而任务的具体结构和目标由状态转移模型 T 和奖励函数 R 决定。RL 中迁移学习的早期研究大多任务域是固定的且只涉及两个任务:一个源任务和一个目标任务。

**2)跨多个源任务到目标任务的固定域迁移。**在这种情况下,任务共享相同的域,迁移算法将以从一组源任务中收集到的知识作为输入,并使用它来改进在目标任务中的表现。

**3)源任务和目标任务不同域迁移。**在该设置中,任务有不同的状态-动作空间,无论是在数量上还是范围上。在这种情况下,大多数迁移方法都着重于如何定义源状态-动作变量和目标变量之间的映射,以便获得有效的知识迁移。

img

图1: 根据源任务数量和与目标任务的任务域差异而定义的三种主要的迁移设定 (图修改自 [2])

知识 (Knowledge):

**1. 实例迁移 (Instance Transfer)。**RL 算法依赖于从与 MDP 的直接交互中收集的一组样本来为手头的任务构建解决方案。这组样本可以用于在基于模型的方法中估计 MDP 模型,或者在无模型方法中构建值函数或策略的近似。最简单的迁移算法收集来自不同源任务的样本,并将其重用于目标任务的学习。

**2. 特征迁移(Representation Transfer)。**每种 RL 算法对于任务和解决方案都使用特定的表示,如神经网络,或一组近似最优值函数的基函数。在不同任务的学习过程中,迁移算法通常会改变任务和解的表示形式以进行目标任务的学习。

**3. 参数迁移(Parameter Transfer)。**RL 算法有大量参数定义了初始化和算法行为。一些迁移方法根据源任务改变和调整算法参数。例如,如果某些状态-动作对中的动作值在所有源任务中都非常相似,则可以据此将目标任务的 Q-table 初始化,从而加快学习过程。初始解决方案 (策略或值函数) 通常被用来在只有一个源任务的迁移设置中初始化算法。

目标 (Objective):

**1. 学习速度的提升。**学习算法的复杂性通常由实现所需性能所需的样本数量来衡量。在实践中,可以使用时间与阈值,面积比,有限样本分析等来衡量学习速度的提升。通过设置阈值,并测量单任务和迁移算法需要多少经验 (如样本、片段、迭代) 来达到这个阈值,以判定迁移效果。面积比度量方法通过考虑迁移学习前后学习曲线下的区域进行度量。

**2. 初始(JumpStart)提升。**通过从源任务进行迁移,看 agent 在目标任务中的初始性能的提升来衡量迁移学习的效果。学习过程通常从假设空间中的随机或任意的假设开始。根据环境的定义,所有的任务都来自同一个分布Ω。

。**通过从源任务进行迁移,看 agent 在目标任务中的初始性能的提升来衡量迁移学习的效果。学习过程通常从假设空间中的随机或任意的假设开始。根据环境的定义,所有的任务都来自同一个分布Ω。

**3. 渐进(Asymptotic)提升。**在大多数实际感兴趣的问题中,最优值函数或策略的完美近似是不可能的。使用函数逼近技术,近似值越精确,收敛性越好。近似的准确率严格依赖于用于表示解决方案的假设空间的结构。该目标就是看迁移学习后,Agent 最终表现的提升。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值