统计策略搜索强化学习方法及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 智能控制中的强化学习

强化学习为整个社会实现真正智能化提供了有力的技术支撑,是智能系统开发者备受关注的研究热点。迄今为止,强化学习已被成功应用到诸多智能控制系统中,如智能机器人[12][13]、电脑游戏[14]、调度系统[15]、智能对话系统[16]、存储系统[17]、智能电网[18]、智能交通系统[19]、多智能体系统[20][21]、无人驾驶[22][23]、航空航天系统[24]及数字艺术智能系统[25]等。最近,谷歌公司的 DeepMind 团队在《Nature》杂志上公布了能够击败人类专业玩家的游戏智能体[26],使得强化学习成为当今研究焦点。

在智能控制领域,从简单的家庭清洁机器人到人形机器人,我们日常生活中使用的机器人数量急剧增长。机器人的种类很多,如服务机器人、移动机器人、协作机器人和军事机器人[27]。机器人能为人类提供很多帮助,现在商业和工业机器人广泛地使用在比人工更可靠且更便宜或者更精确的工作中,也有机器人被雇佣在肮脏、危险、枯燥等不利于人类安全的工作中。

为了完成指定工作,机器人需要被控制,以便在交互的环境中采取适当的行动。例如,机器人可能需要弄清楚如何在不碰到障碍物、跌倒等情况下完成任务。到目前为止,我们日常生活中使用的这些机器人的控制器通常是由人类工程师手动设计的。设计机器人需要丰富的经验和高度的专业知识。此外,设计的机器人是基于机器人行为和环境被正确建模的假设[28]。当机器人必须适应新环境或环境建模不够精确时,设计的机器人在执行任务中可能受到限制。因此,开发自主机器人是非常必要的。在本书中,我们试图为包括机器人在内的任务级自主智能控制系统开发算法,这意味着人类设计师只指定任务,智能系统通过学习自己来完成任务[29]

强化学习为智能控制系统提供了一个框架,它使智能系统(如机器人等)能够通过与环境的交互自主地发现最佳动作。正如我们在1.1节中提到的,强化学习和最优控制都试图解决寻找最优策略来优化目标函数(如累积奖励)的问题。然而,最优控制以模型的形式假定了对环境有完全的了解。因此,在智能控制系统的发展中最优控制是有限的。利用强化学习的强大性和灵活性,智能控制领域可以进一步自动化。

我们以人形机器人 CB-i 为例来说明强化学习在机器人技术中是如何工作的[30]。思考一下,我们试着训练 CB-i用右手拿到目标物体。在这种情况下,机器人必须在一定程度上感知环境的状态,这是由目标物体的位置和机器人关节位置和速度的内部动力学所规定的。对机器人的动作是发送给电机的转矩或所需的加速度。函数生成的基于当前关节位置和速度的动作称为策略。那么强化学习问题就是找到一个使长期奖励的总和最大化的策略。这种情况下的奖励可以基于右手与物体的距离进行设计,手离物体越近,机器人获得的奖励越高。

强化学习通常面临的是极具挑战的问题,它的许多挑战在智能控制系统中尤其明显。以下是在智能控制中应用强化学习的两个挑战[28]

(1)高维连续状态和动作空间:由于机器人等智能系统中具有大量的自由度,系统必须处理高维的状态和动作。随着维度数量的增长,需要的数据和计算量呈指数级增长,这就是所谓的维度灾难。此外,大多数智能系统的状态和动作具有内在连续性。

(2)智能系统与环境交互的高成本:由于智能系统要处理复杂的物理系统,采集样本的成本通常非常昂贵且耗时。例如,一个机器人在网球训练中学习如何击球,我们需要让机器人击球数百次来学习一个可靠的策略。击球数百次可能要花费数周的时间。而且,真正的机器人学习任务需要某种形式的人类监督,必须有一个机器人工程师花费大量的时间和精力通过维护和修理来保持机器人运作。机器人维护是一个不容忽视的因素,因为它与成本、体力劳动和漫长的等待时间有关。基于这些原因,真正的机器人在时间、劳动力和潜在的金钱方面都是昂贵的。因此,对于机器人来说高效样本利用算法是必不可少的。

考虑到上述挑战,并不是每一种强化学习方法都适用于智能控制领域。迄今为止发展起来的强化学习方法可以分为两类:基于值函数的策略学习算法和策略搜索算法。

基于值函数的策略学习算法是早在20世纪80年代末就被提出且得到广泛使用的传统强化学习方法,其中最具代表性的算法包括 Watkins 提出的 Q-learning[31]、Sutton 提出的 TD 算法[32],以及 Rummery 等提出的 SARSA 算法[33]。南京大学的高阳教授等[34]及 MIT 的 Kaelbling 等[6]对策略迭代算法进行了系统地分析与总结,此类算法首先要计算每个状态-动作对的值函数,然后根据计算的值函数贪婪地选择值函数最大的动作。策略迭代算法能够有效地解决离散状态动作空间问题。面对连续状态空间问题,启发式的方法是网格离散化状态空间,北京理工大学的蒋国飞等[35]理论性地研究了 Q-learning 在网格离散化中的收敛性问题,指出随着网格密度的增加空间离散化后 Q-learning 算法求得的最优解以概率1收敛。然而,当状态空间过大时,网格化无法遍历整个状态空间,即遭遇了“维度灾难”问题。蒋国飞等[36]将 Q-learning 与神经网络结合,在未离散化连续状态空间的情况下成功地完成了倒立摆的平衡控制。随后,Lagoudakis 等[37]提出了通过值函数估计来解决连续状态问题,极大地提高了策略迭代算法在处理连续状态空间问题中的性能。南京大学的陈兴国[38]通过引入核函数的形式提高值函数的泛化能力,为表达复杂值函数提供技术支撑。因此,在基于值函数的策略学习算法中,精确地逼近值函数是一个挑战。到目前为止,各种机器学习技术已经被用于更好地实现值函数近似,如最小二乘近似方法[37]、流形学习[39]、高效样本重用[40]、主动学习[41]及鲁棒学习[42]。近期,DeepMind 团队在《Nature》上提出了深度 Q 网络(DQN),其将 Q-learning 与基于深度神经网络的值函数估计相结合,是深度强化学习的首创也是该领域最成功的案例之一。它是能够击败人类专业玩家的游戏智能体以及能够击败人类顶尖高手的围棋博弈智能体[26],极大地震撼了社会各界,使得强化学习成为人工智能领域的研究热点。

然而,由于策略是通过策略迭代中的值函数间接学习,提高值函数近似的质量并不一定会产生更好的策略。此外,由于值函数的一个小的变化会导致策略函数的一个大的变化,所以对机器人使用基于值函数的策略学习算法是不安全的。基于值函数的策略学习算法的另一个缺点是很难处理连续的动作,因为需要找到与动作相关的最大值函数来改进策略。因此,策略迭代算法在机器人等智能控制系统环境中并不直接适用。

另一方面,策略搜索算法专注于为给定的策略参数化寻找最优策略参数。它能够处理高维连续的状态和动作空间,这非常适用于智能系统。此外,策略搜索算法允许直接为分配的任务集成预结构策略[43]。另外,模仿学习可以从专家示范中获得一个好的初始策略参数,这可以使学习过程更加有效[13]。所有这些特性简化了智能控制系统的学习问题,并允许成功地应用于机器人控制等技术[44-46]。因此,策略搜索算法通常是智能系统实现智能控制的选择,因为它更好地应对如机器人等智能系统学习的固有挑战。事实上,迄今为止已经被证明,智能控制系统经常使用策略搜索算法而不是基于值函数的策略学习算法[13][44][47]

目前为止,最具代表性的策略搜索算法包括 PEGASUS[47]、策略梯度算法[48][49]、自然策略梯度[50]、EM[51]及 NAC[52]等。其中,策略梯度算法是最实用、最易于实现、且被广泛应用的一种策略搜索算法,由于此类算法中策略的更新是逐渐变化的,能够确保系统的稳定性,尤其适用于复杂智能系统的决策控制问题,如机器人[13]。然而,Williams 等[49]提出的传统策略梯度算法——REINFORCE 算法,梯度估计方差过大,使得算法不稳定且收敛慢。为了解决梯度估计方差过大的实质性问题,Sehnke 等[48]提出了基于参数探索的策略梯度算法(Policy Gradients with Parameter-based Exploration,PGPE),该算法通过探索策略参数分布函数的方式大大减少了决策过程中的随机扰动,从而根本性地解决了传统策略梯度算法中梯度估计方差大的问题。PGPE 算法为连续动作空间问题得到可靠稳定的策略提供了保证,然而面对不同场景的实际问题,其仍具有挑战。本书将以 PGPE 算法为基本框架,面对不同应用场景,提出具体解决方案。