关键词:
强化学习
混合策略
最大熵原理
摘要:
本文研究的是基于最大熵原理对强化学习算法的优化改进问题。强化学习算法是机器学习算法的分支,相较于需要标签数据的监督学习算法,强化学习算法是通过智能体与环境的交互获得奖励值以训练模型,而在最大熵模型的框架下应用强化学习算法,则能实现算法的策略熵最大化,即对环境中的信息尽可能多的掌握,以实现智能体对环境的充分探索。本文通过对研究的强化学习算法的改进,提升算法的探索能力和稳定性,使得算法能够适应更加复杂的环境,节省计算成本。首先,本文综述了所研究的基于值函数选择行为的强化学习算法的优点、局限、以及改进的方向,并引出了本文的工作内容及创新之处。为使得算法能够对环境进行充分的探索,以应对环境突变造成的智能体选择最优路径却无法到达目标的状况,前人提出可以将熵和奖励设置成同样重要,使得算法在搜索的过程中,在保证探索环境所获奖励值达到最大的情况下,探索的策略熵值也达到最大,并使算法能够输出随机性策略,以解决算法存在的只能输出单一解的问题。为使得算法能够适应更加复杂的环境,又有人提出可以使用混合策略,但在最大熵模型的框架下应用这一策略,便需要对该策略的熵进行估计。然而各策略之间存在成对距离,这便使得混合策略的熵并不等于各策略熵的简单求和,故本文提出了一个混合策略熵的估计,可形象地定义为混合边际熵的加权和,本文证明了此定义的混合策略熵的方差,相对于各策略熵简单求和的方差是变小的。同时,对于强化学习算法探索的不确定性,主要体现在智能体采取的动作和其所处的状态的不确定性,而目前强化学习算法中所加入的熵,是基于当前状态的策略熵,当前状态是已知的、确定性的状态,这便使得算法的改进只考虑到动作的不确定性,而忽视了状态的不确定性,限制了智能体的探索,所以本文将策略熵计算中的当前状态替换为下一时刻状态,使得算法中策略的迭代改进能够同时考虑到动作和状态两方面的不确定性,以增强智能体对环境的探索能力。其次,本文根据上述改进思路,给出了改进后算法的优化目标和值函数的定义式,推导出了改进后策略的定义式,并证明了通过该策略定义式计算得到的Q值,将大于或等于较其他策略计算得到的Q值,即说明本文推导出的策略定义式至少能保证算法的Q值较其他方法定义的Q值是不会减小的,也就说明了该策略定义式是合理且有效的。同时,本文还对策略值函数的收敛性进行证明,得出算法改进后值函数的表达式,其经过迭代更新后,仍然是能够收敛的,从而证得改进后算法的收敛性。对于算法的实现,本文给出了用于构建Q值网络和策略网络的损失函数,推导出了损失函数的迭代梯度方向,将改进后的算法命名为SAMS算法,并给出了改进后算法的实现流程。最后,本文通过设计实验,检验了改进后算法的效果有所提升。本文基于Python语言对SAC算法和SAMS算法进行实现,并对物理仿真软件Mojoco中的Swimmer-v2、Hopper-v2、Walker2d-v2、Half Cheetah-v2、Ant-v2、Humanoidv2这6种环境进行测试,针对每种算法每种测试环境分别进行5次试验,计算5次试验的均值和方差以充分说明算法所能获得奖励值大小和算法的稳定性。定义了平均回报变化幅度、最后一个测试单位的平均回报及其方差等指标分析实验结果,最终发现在6种测试环境中,SAMS算法所得到的平均回报的增上幅度,总是高于或略高于SAC算法,即SAMS算法相较于SAC算法,其探索环境更容易在短时间内获得较高奖励值,其在迭代的初期收敛速度更快。同时在最后一个测试单位中,改进后的SAMS算法仍能保持与SAC算法大致相同的平均回报值,且在某些环境中SAMS算法的平均回报值有所提升。同时,比较最后一个测试单位平均回报的方差可以看出,SAMS算法计算所得方差略低于SAC算法,其计算结果波动幅度更小。这也就说明SAMS算法相较于SAC算法,其智能体探索环境所获奖励值在某些环境中有所提升,其所获奖励波动幅度变小,算法更加稳定。