多任务深度强化学习入门

理论概述

多任务深度强化学习,英文Multi-Task Deep Reinforcement Learning ,简称MTDRL或MTRL。于MARL不同,它可以是单智能体多任务的情况,也可以是多智能体多任务的情况。

现在的深度强化学习领域虽然在很多特定任务上有着超越人类的表现,然而这些算法的共同特点是,一次只能训练一个任务,如果想要适应一个新任务,就需要训练一个全新的智能体,也就是说,每个智能体只能解决它被训练的一个任务。

在未来,我们的目标不仅仅是停留在构建多个分别擅长不同任务的简单智能体,而是要构建单个通用的智能体来同时学习并完成多个任务。,MTRL研究的就是让一个智能体同时掌握不止一个顺序决策任务。目前这一问题还没有统一的理论指导,以DeepMind、OpenAI为首的众多知名机构都在试图突破这些瓶颈。


从严格的学科定义来说,多任务学习的定义是:基于共享表示,把多个相关的任务放在一起学习的一种机器学习范式。这里明确两个概念,即共享表示和相关。

共享表示就是将不同任务的一部分信息联系在一起,目的是同时提高多个任务各自的泛化能力。方法有很多,对于传统的表示学习方法来说,我们可以讲不通任务的特征进行联合,穿件一个常见的特征集合进行学习,也就是基于约束的共享。对于DL来说,共享表示可以基于神经网络,将网络间的参数或一些卷积的操作进行共享,这就是基于参数的共享

我们可以从多任务学习的预期定义相关。即任务A在多任务学习中与任务B、C共同学习的效果,一定会好于在单任务中单独训练A。也就是说,希望相关任务可以提升主任务的效果,这种任务就是我们需要在多任务学习模型中作为输入的一组相关任务。而经过模型分析后所得到的不同人物之间能相互促进的程度,也就是相关度。对于不同的多任务学习算法来说,相关度的结果是不一样的。

在这里插入图片描述

对于把多个相关的任务放在一起可以提高学习效果,学术界的解释是:

  • 相关多个任务放在一起学习,有相关的部分,也有不相关的部分,当学习一个任务是,与该任务不相关的部分在学习的过程中相当于噪声。因此,引入噪声可以提高学习的泛化效果。
  • 单任务学习时,梯度的反向传播倾向于陷入局部最小值。多任务学习中不同任务的局部最小值处于不同的位置,通过相互作用,可以帮组隐藏层跳出局部最小值。
  • 添加的新任务可以改变权值更新的动态特性,可能网络更适合多任务学习。比如多任务并行学习提升了浅层共享层的学习速率从而提升了学习率和学习效果。事实上,目前DeepMind仍在沿用的IMPALA方法也正是一种基于多任务的分布式模型,它有非常好的效果。
  • 多个任务之间的参数共享,可能削弱了网络对于单一任务的学习能力,降低了网络的过拟合,提升了泛化效果。

下面介绍DRL执行多任务学习中最常用的两种方法——硬参数共享和软参数共享。

硬参数共享是神经网络中最常用的多任务机制,通常通过在所有任务直接共享隐藏层来应用它,并同时保留多个特定任务的输出层。这可以大大降低过度拟合的风险,我们同时学习的任务越多,我们的模型就越能找到多个任务的特征,因此对单一任务过拟合的可能性就越小。

在这里插入图片描述

软参数共享是每一个任务都有自己的模型和自己的参数,然后对模型参数见的距离进行一定的归一化,增大参数之间的相关性,可以看出,这种共享约束受到了CNN、RNN中相应的归一化技术的启发。

在这里插入图片描述


面临的挑战

多任务学习比单任务学习困难得多,最大的难点在于,要在多个任务的需求之间找到平衡,而这些任务又同时竞争单个学习系统十分有限的资源。多任务学习的智能体很容易将注意力集中在奖励更高的任务上,因此通常训练出来的模型更偏向于奖励密集,奖励更高的任务,而忽略了稀疏奖励的任务。


策略蒸馏法(Policy Distillation)

"蒸馏"的概念最初由Bucila等人在2006年提出,被认为是一种有效监督学习模型的压缩方法,后来被扩展到从一个集成模型(ensemble model)创建单个网络的问题。它还显示了作为一种优化方法的优点,可可以从大型数据集或动态领域中稳定地学习。它通常使用一个不太复杂的目标分布,使用监督回归的方法训练一个目标网络,从而产生于原始网络相同的输出分布。

蒸馏是一种将知识从教师模型T转移到学术模型S的方法,下面是从单任务到多任务的蒸馏过程讲解。

在这里插入图片描述

教师的DQN的输出通过一个softmax函数,传递给未经过训练的学生模型,这里定义一个超参数τ,表示策略传递给学生知识的一种知识温度(temperature)。教师模型T的最终输出可以表示为 s o f t m a x ( q T τ ) softmax(\frac{q^T}{\tau}) softmax(τqT),这可以被学生网络有效通过回归方法学习。

但转移一个Q函数而不是分类器的情况下,预测所有动作的Q值是一个困难的回归任务。首先,Q值的大小可能难以确定,因为它是无界的,并且可能相当不稳定。另外可能出现多个动作具有相似的Q值,使得无法训练学生网络S预测唯一最佳动作。为了解决这样的问题,这里有三种策略蒸馏的损失函数。假设教师T网络已经生成了一个数据集 $D^T = ${ $ (s_i,q_i) KaTeX parse error: Expected 'EOF', got '}' at position 1: }̲^N_{i=0}$ 。其中每一次采样都包含一个状态序列 s i s_i si和一个代表非归一化后的Q值的向量 q i q_i qi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑小星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值