让AI做个人吧!探究游戏AI的拟人性问题( 五 )


但是也需要注意 , 不停的让人类提供指导本身也并不是一件简单的事情 , 即便是一个狂热的玩家也很难不厌其烦地教AI玩游戏 , 况且如果游戏足够复杂 , 游戏策略足够丰富 , 那么DAgger需要向人类请教的示例数量同样可能非常海量 。
逆强化学习
上一节中我们提到 , 籍由行为克隆学习得到的策略一般会受到累积误差问题的影响 , 那么有没有另一种方法能够减轻累积误差问题带来的影响呢?答案是肯定的 , 这就是逆强化学习[6] 。 逆强化学习与行为克隆不同 , 并不直接求解智能体的行为策略
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
, 而是尝试从示例数据集
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
用于解释人类策略的行为 。 在使用逆强化学习解决模仿学习问题时 , 我们就可以使用强化学习在学到的奖励函数上求解最优的行为策略 。 换句话说 , 行为克隆是单纯的“模仿” , 而基于逆强化学习的模仿学习则是尝试“理解”人类行为的内在逻辑(奖赏函数) , 再根据它“学习”自己的行为 , 自然比行为克隆更容易适应环境中的小误差 。
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
在逆强化学习中 , 最核心的部分就是根据示例数据集求解得出的奖励函数 , 我们通常要求其满足这个性质:当使用这个奖励函数时 , 使用人类策略获得的累积期望奖赏 , 比使用其他任意策略所能获得的累积期望奖赏都要多 。 换句话说 , 我们认为人类策略是在使用这个奖励函数时的最优策略 , 也就是
让AI做个人吧!探究游戏AI的拟人性问题
文章图片

得到人类策略使用的奖励函数后 , 我们就可以使用这个奖励函数构建一个新的任务
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
, 并在这个新的任务上用强化学习来求解最优的行动策略
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
让AI做个人吧!探究游戏AI的拟人性问题
文章图片
。 通过这种方式 , 我们就得到了一个能够模仿人类的AI策略 。
逆强化学习虽然能够解决行为克隆中存在累积误差的问题 , 但它本身也存在诸多问题 , 比如逆强化学习假设人类总是做出最优的选择 , 这个假设通常在模仿人类人类的问题中显得过强了 。 此外 , 逆强化学习问题本身并不是一个良定义的问题 , 通常有多个可能的奖赏函数能够满足要求 , 例如对任意状态-动作对都给出0值的平凡奖励函数可以成为任意逆强化学习的解 。
对抗式模仿学习
行为克隆和逆强化学习作为两种模仿学习的方法 , 都存在一定的缺陷 , 我们自然就会考虑是否有一种方法可以将二者的优势结合起来 , 既能直接求解行为策略 , 又不会受到累积误差问题的影响呢?
在逆强化学习中 , 我们学习了一个奖励函数 , 我们可以用这个奖励函数来评估智能体策略与人类策略的相似度 , 但是这个奖励函数不能直接指导智能体进行行动 。 那么既然智能体的目标是模仿人类的策略 , 那么我们是否可以不用显式的求出一个奖励函数用来评估AI策略与人类策略的相似性呢?有没有可能直接用“和人类行为的相似度”这样的指标来引导强化学习对行为策略的学习呢?从这样的思路出发 , 我们就得到了生成对抗模仿学习(GenerativeAdversarialImitationLearning,GAIL)[7] , 它通过用一个评估智能体与人类的相似度的函数作为奖励函数的方式来对人类的策略进行模仿 。

相关经验推荐