购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 强化学习方向概述

强化学习不仅应用十分广泛,而且从技术角度来讲其方向也非常多。在学习基础的强化学习知识之后,读者可根据自身的兴趣选择相应的方向进行深入学习。本节将对强化学习的一些典型方向进行简要介绍,以便读者能够对强化学习有更加全面的认识,为后续的学习做好铺垫。强化学习的典型方向主要如下。

1.3.1 多智能体强化学习

顾名思义,多智能体强化学习就是在多个智能体的环境下进行强化学习。与单智能体环境不同,在多智能体环境中通常存在非静态问题,即环境的状态不仅由单个智能体的动作决定,还受到其他智能体的动作的影响。例如在AlphaStar中,每个智能体都是《星际争霸》中的一个玩家,每个玩家都有自己的目标,例如攻击对方的基地或者防守自己的基地,这就导致环境的状态不仅由玩家自己的动作决定,还受到其他玩家的动作的影响。

此外,在多智能体环境中还存在信号问题,即智能体之间可能需要进行通信以实现合作或竞争,如何高效地通信并从信号中学习是一个难题。同时,存在信誉分配问题,在多智能体的合作任务中,确定每个智能体对于整体目标的贡献(或责任)是一个挑战。多智能体环境通常也存在复杂的博弈场景,对于此类研究,研究者们通常会引入博弈论来找到环境中的纳什均衡或其他均衡策略,但这同样是一个复杂的挑战。

1.3.2 模仿学习和逆强化学习

模仿学习(imitation learning,IL)是指在奖励函数难以明确定义或者策略本身就很难学习的情况下,通过模仿人类的行为来学习到一个较好的策略。最典型的模仿策略之一就是行为克隆(behavioral cloning,BC),即将每一个状态-动作对视为一个训练样本,并使用监督学习的方法(如神经网络)来学习一个策略。但这种方法容易受到分布漂移(distribution shift)的影响,即智能体可能会遇到从未见过的状态,从而导致策略出错。

逆强化学习(inverse reinforcement learning,IRL)即通过观察人类的行为来学习到一个奖励函数,然后通过强化学习来学习一个策略。由于需要专家数据,逆强化学习会受到噪声的影响,因此如何从噪声数据中学习到一个较好的奖励函数也是一个难题。

1.3.3 探索策略

在强化学习中,探索策略(exploration strategy)是一个非常重要的问题,即如何在探索和利用之间进行权衡。在探索的过程中,智能体会尝试一些未知的动作,从而可能获得更多的奖励,但同时可能会受到较多的惩罚。而在利用的过程中,智能体会选择已知的动作,从而可能获得较少的奖励,但同时可能会受到较少的惩罚。因此,如何在探索和利用之间进行权衡是一个非常重要的问题。目前比较常用的方法有 ε -greedy( ε 贪心)和上置信界(upper confidence bound,UCB)等。

此外,提高探索效率的目的是避免局部最优问题,从而增强智能体的鲁棒性。近年来,有研究结合进化算法来提高探索效率,例如NEAT(neuro evolution of augmenting topologies,增强拓扑的神经进化)和PBT(population based training,基于种群的训练)等算法,当然这些算法在提高探索效率的同时会带来一定的计算成本。

1.3.4 实时环境

实时环境(real-time environment)是指在实际应用中,智能体往往需要在实时或者在线环境中进行决策。在这种情况下训练不仅会降低效率(实时环境中响应动作更慢),还会带来安全隐患(训练过程中可能会出现意外)。

解决这一问题的方法之一就是离线强化学习(offline reinforcement learning),即在离线环境中进行训练,然后将训练好的模型部署到在线环境中进行决策。但这种方法也存在一定的问题,例如离线环境和在线环境之间可能存在分布漂移,即两个环境的状态分布不同,这就会导致训练好的模型在在线环境中可能会出现意外。

另外还有一种近两年比较流行的方法——世界模型(world model),即在离线环境中训练一个世界模型,然后将世界模型部署到在线环境中进行决策。世界模型的思路是将环境分为两个部分,一个部分是世界模型,另一个部分是控制器。世界模型的作用是预测下一个状态,而控制器的作用是根据当前的状态来决策动作。这样就可以在离线环境中训练世界模型,然后将世界模型部署到在线环境中进行决策,从而避免了在线环境中的训练过程,提高了效率,同时避免了在线环境中的安全隐患。

但世界模型也存在一定的问题,例如世界模型的预测误差会导致控制器的决策出错,因此如何提高世界模型的预测精度也是一个难题。

1.3.5 多任务强化学习

多任务强化学习(multi-task reinforcement learning)在深度学习中也较为常见,在实际应用中,智能体往往需要同时完成多个任务,例如机器人需要同时完成抓取、搬运、放置等任务,而不是单一的抓取任务。在这种情况下,如何在多个任务之间进行权衡是一个难题。

目前解决该问题比较常用的方法有联合训练(joint training)和分层强化学习(hierarchical reinforcement learning)等。联合训练的思路是将多个任务的奖励进行加权求和,然后通过强化学习来学习一个策略。分层强化学习的思路是将多个任务分为两个层次,一个是高层策略,另一个是低层策略。高层策略的作用是决策当前的任务,而低层策略的作用是决策当前任务的动作。这样就可以通过强化学习来学习高层策略和低层策略,从而解决多任务强化学习的问题。

但分层强化学习也存在一定的问题,例如高层策略的决策可能会导致低层策略的决策出错,因此如何提高高层策略的决策精度也是一个难题。 FFZMHeSZn/Vc1jnhz4jGa2u58nWV9vVkXa4/6opEquPybqA9AjfUUp03vc0MCUyd

点击中间区域
呼出菜单
上一章
目录
下一章
×