迁移学习在多智能体强化学习中的应用(Action Advising)

探讨了多智能体系统(MAS)中转移学习(TL)的概念与应用,包括知识空间、策略空间的定义,及如何在多智能体环境中进行有效的知识迁移,涉及Advisor-Advisee框架、Teaching策略等。

十三、Action Advising

1、Multi-Agent RL 中的 Transfer Learning

(1)一些定义

在多智能体系统中使用TL是为了重复利用已经学到的知识从而提高学习的速度并且使原本复杂的任务变得容易学习。多智能体系统的TL中有如下几个概念:

1、knowledge space K \mathscr{K} K :它包含了当前的任务(target task)中的samples,即 ⟨ s , u , s ′ , r ⟩ \left\langle s, \boldsymbol{u}, s^{\prime}, r\right\rangle s,u,s,r K target \mathscr{K}^{\text {target}} Ktarget ;之前的任务(source task)中已经学到的solution中的samples: K source \mathscr{K}^{\text {source}} Ksource ;还有与其他agent交流(communicate)得到的samples以及通过观察其他agent得到的samples,所以有: K = K target ∪ K source ∪ K agents \mathscr{K} = \mathscr{K}^{\text {target}} \cup \mathscr{K}^{\text {source}} \cup \mathscr{K}^{\text {agents}} K=KtargetKsourceKagents

2、policy space H \mathscr{H} H :policy space 包含了agent的通过算法可以学到的策略,即: π ∈ H \pi \in \mathscr{H} πH A : K → H \mathscr{A}: \mathscr{K} \rightarrow \mathscr{H} A:KH 其中 A \mathscr{A} A 是算法(algorithm)

为了能够重复利用知识(reuse knowledge)需要决定在什么时候(when)、用什么方式(how)往 K \mathscr{K} K 里存入哪些(what)学到的知识。

在MAS中使用了TL是取得了好的效果还是出现了negative TL需要通过一些标准(performance metrics)来衡量:Jumpstart、asymptotic、total reward、transfer ratio、time to threshold

在这里插入图片描述

其中,asymptotic的意思是使用了TL后能够渐进收敛到一个更好的performance;transfer ratio是使用TL前后的total reward之比;time to threshold的意思是使用TL前后到达某个要求的performance的时间差。

(2)分类

用于MARL的TL有诸多类别,具体如下:

在这里插入图片描述

”Intra-“的意思是”内部“,采用这种方法的agent不需要交流就可以获得其他agent内部的知识;”Inter-“的意思是交互,采用这种方法时agent之间需要交流、需要决定在什么时候、如何传递知识。知识在agent之间传递主要有以下几种方式:

1、advisor/advisee:knowledge通过agent之间的交流传递,但是不对其他agent的内部的信息做假设

2、teacher/student:knowledge通过agent之间的交流传递,并且对其他agent的一些信息比如算法、策略、动作做出假设

3、mentor/observer:observer要试着像mentor学习那些取得了高收益的动作,agent之间没有交流。

更详细的分类如下:

在这里插入图片描述

可以看出来在MAS中使用TL主要有几个关键点:

1、agent采用的是什么类型的算法:例如self-interested是应用单个agent的RL算法,将其他agent看作环境动态特性的一部分;equilibrium算法是利用博弈论的知识,训练reward function直到达到纳什均衡;adversarial算法适用于agent之间是竞争关系的场景,即reward总和为0;cooperative适用于所有agent都有一个共同目标的场景。

2、如何选择source task:当agent已经积累了足够的”previous solution“之后,需要合理地选择source task,因为如果选择不当可能会导致negative TL。其中,Implicit方法只是用于动作空间和状态空间都不变仅仅是学习的目标发生了变化的场景。

3、如何map:选出了source task之后,agent需要评估不同任务之间是哪一部分比较相似从而更好地迁移知识,因为如果每次都迁移整个策略显然是会出问题的。

4、迁移什么知识:有许多东西可以被迁移,比如action、reward、policy、models……

5、不同的任务有哪些允许的差异:需要假设source task和target task之间的区别,比如same domain假设source task和target task是在解决同一个领域的问题;progressive difficulty 假设target task是source task的复杂版;Any则是假设每个部分都会有所改变。

2、几个action advise 算法

(1)、Torrey & Taylor 2013 《Teaching on a Budget: Agents Advising Agents in Reinforcement Learning》

这篇文章采用了teacher-student的框架,首先训练一个agent并将其作为teacher agent然后对于同样的任务,在训练另外一个student agent的时候teacher agent的fixed policy可以提供建议从而加快学习的进度。需要注意的是这篇文章并不是MAS,teacher agent和studentagent虽然是针对同一个task的,但并没有出现在同一次训练之中!和前面的介绍有所出入,这篇paper的teacher-student框架不假设student agent的internal representation,并且不允许student agent直接利用teacher agent的知识开始训练,但是teacher agent可以观察到student agent的状态、动作等外部的信息,总而言之这篇文章希望teacher在合适的时候提供建议来”指导“student agent学习,而不是让student agent照搬teacher agent的经验,它的核心是研究”When to advise“。除此之外,此文还给teacher agent的advice设定了一个budget,teacher agent不能无节制地向student agent提供建议。

由于文章实验的环境比较复杂,所以传统的tabular learning不能胜任而是用了线性函数近似方法: Q ( s , a ) = ∑ i w i f i Q(s, a)=\sum_{i} w_{i} f_{i} Q(s,a)=iwifi f i f_i fi 是状态的”特征“, w i w_i wi 是权重。

在student agent学习的时候teacher agent会观察student agent的状态和动作,在其中的 n n n 个状态下,teacher agent会给出建议,文中总共提供了4种方法:

1、early advising

该方法认为student agent应该越早的到建议越好,因为在最开始的时候student agent对任务的了解很少,所以teacher agent在student遇到的前n个状态就提供建议。

2、importance advising

early advising的局限性很大,只有在每个状态的重要性都程度都相同的时候才有效,但是事实上许多任务的不同状态的重要程度是不相同的,因此需要更”节省“地使用建议,只在重要地状态提供。那么如何衡量一个状态的重要程度呢?这篇文章给出了这样一个公式: I ( s ) = max ⁡ a Q ( s , a ) − min ⁡ a Q ( s , a ) I(s)=\max _{a} Q(s, a)-\min _{a} Q(s, a) I(s)=maxaQ(s,a)min

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值