强化学习是什么?
简单来说 强化学习是一类通过不断与环境交互来学习如何达到设定目标的一类算法,比如走迷宫,传统的运筹学算法往往是通过遍历所有的点来完成路径规划,而强化学习则是实现一个anget,让这个 agent自己去随机探索路线,在探索的过程中学习如何走的更远并最终走到终点,这就是强化学习的思想。
R3.3常用env Wrapper技巧
R3.3.1 rgb图像转灰度图
想象一下你在玩超级玛丽时如果把彩色图像换成灰度图,其实对你的操作并没有多大影响(只要能看出来障碍物即可判断路线和动作),反而在模型训练中,rgb图像对算力和训练时间的要求会成倍增长,所以综合考虑咱们转换成灰度图才输入网络
R3.3.2 SkipFrame
由于超级玛丽等游戏开发是面向玩家的(人),而非电脑,所以面向人类通关设计时,很多游戏帧是被放慢了,比如执行一个action并不会立刻得到reard而是在接下来的几帧里才逐渐成效,换个通俗的说法,其实这么快速的游戏帧对我们并不需要,我们只需要每秒能看到几帧就足以通关了,所以我们根据经验,每四帧只取一帧即可
R3.3.2 CustomReward
强化学习的优化目标必须是可量化的,所以在游戏里我们直接的优化目标就是最大化reward,但是很多时候游戏直接设定的reward并不完全切合我们的实际目的(比如通关),或者在某个特定场景下(关卡下)不合适,所以越是复杂的游戏场景,越是需要自定义reward来进行修正。
R4 PPO(近