AI自动化测试:技术原理、平台搭建与工程实践
上QQ阅读APP看书,第一时间看更新

3.1 基本理论

强化学习(Reinforcement Learning)是近年来人工智能领域最受关注的方向之一,其使用人类学习过程中的试错机制,通过智能体(Agent)与环境(Environment)的交互,利用评价性的反馈信号实现决策的优化。尤其是在深度学习与强化学习结合后,我们可以直接从高维感知数据中学习控制智能体的行为模式,为解决复杂系统的感知决策问题提供思路。

强化学习的基本过程是一个马尔可夫决策过程(Markov Decision Process),可以用状态(State)、动作(Action)、状态转移概率(Possibility)和状态转移奖励(Reward)构成的四元组{s,a,p,r}表示,如图3-1所示。

在离散时间的马尔可夫决策过程中,每一个状态表示为si,状态的集合称为状态空间S,si∈S。相应地,每一个动作表示为ai,动作的集合称为动作空间A,ai∈A。如果在马尔可夫决策过程中,在第t步根据概率P(at|st)选择了动作at,状态st会根据状态转移概率P(s(t+1)|st,at)转移到状态st+1,并且在状态转移之后获得一个状态转移奖励r(st,at,st+1)。为了便于描述,下文将状态转移奖励r(st,at,st+1)简单记为Rt。那么,从第t步到马尔可夫决策过程结束,累积奖励Gt的计算方式为:

其中,γ∈[0,1]为折扣因子,用于降低远期决策的奖励。

图3-1 马尔可夫决策过程

图3-2展示了强化学习的过程。首先智能体从环境中观测其当前所处的状态,然后根据观测到的状态进行决策并在环境中采取相应的动作,最后由环境以奖励的形式对智能体的动作做出相应的反馈,同时根据智能体的动作改变自身的状态。当上述一个循环结束之后,智能体又开始新一轮的观测,直到智能体进入结束状态。

图3-2 强化学习过程

在强化学习过程中,针对所有的状态、动作和奖励,智能体将会以“状态-动作-奖励”三元组的形式保存下来,生成一条强化学习的轨迹τ:

这条轨迹τ上保存的三元组(st,at,rt)将作为强化学习的训练样本。智能体采取行动时依据的策略表示为函数π(at|st)。强化学习的目标就是优化π(at|st)这个函数,使智能体根据策略产生的动作在环境中取得较高的奖励,即找到一个最优策略π*,使得智能体在任意状态都能获得最大的累积奖励:

强化学习经过多年的研究和发展已经有多种类型方法,这些方法可分为两类:一类是根据状态转移概率是否已知,分为基于模型(Model-based)的强化学习方法和无模型(Model-free)的强化学习方法;另一类是根据优化目标的不同,分为基于值函数(Value Function)的强化学习方法和基于策略梯度(Policy Gradient)的强化学习方法。如果智能体在学习过程中优化的策略与正在使用的策略是同一个策略,则称为同步策略学习(On-policy Learning)。如果智能体在学习过程中优化的策略与正在使用的策略是不同的策略,则称为异步策略学习(Off-policy Learning)。

在早期的强化学习中有一个经典问题——轨迹规划,目标就是从给定的初始位置到给定的终点位置训练模型,最终能够自适应地选择移动策略。这个问题可以归结为离散时间的最优控制问题,可以通过高斯混合模型对移动策略进行建模,并将专家示例样本轨迹作为训练集,求解高斯混合模型的参数来解决。

之后由于强化学习引入了智能体和环境的概念,并且使用即时的奖励函数对最优控制问题中稀疏的目标奖励进行补充,使强化学习中的最优控制问题拓展成更普遍、更广义上的序列决策问题。一方面,智能体在与环境的交互过程中还原了具有自主性的决策学习过程,这种学习方式与生物的学习方式一致。另一方面,智能体可以与环境进行交互,不断获取训练样本更新策略,因而不再依赖有限的专家样本。

强化学习的目标是使用函数对策略进行建模或拟合,并且在一定约束条件下优化这个函数。早期的强化学习都是使用凸函数对策略进行建模,只能在一些简单的决策问题上进行效果验证。在深度学习与强化学习结合后,强化学习得到极大的发展。一方面,深度神经网络允许使用非凸函数对策略进行建模,扩大了强化学习的应用范围。另一方面,深度神经网络强大的特征提取和函数拟合能力允许强化学习应用在非常复杂的决策问题上。例如,在一些以视觉信息为观测状态的问题中,深度神经网络与强化学习的结合使端到端的训练成为可能,大幅节省了观测状态数据处理的时间。目前,强化学习已经广泛地应用于游戏、自动驾驶、机器人、对话系统和信号灯控制等领域。