Keras-rl将强化学习的算法封装成了智能体类,目前支持的智能体类如表6-1所示,其中在OpenAI Gym中最常见的问题都是状态空间为连续型或者离散型,动作空间是离散型,所以DQN具有非常好的通用性。我们重点介绍一下DQN对应的类DQNAgent。
表6-1 智能体类简介
实例化DQNAgent的方法为:
rl.agents.dqn.DQNAgent(model, policy=None, test_policy=None, enable_double_dqn=True, enable_dueling_network=False, dueling_type='avg')
其中,比较重要的几个参数的定义介绍如下:
·Model,使用的深度学习神经网络。
·Policy,训练阶段选择action的算法,常见的为贪婪算法GreedyQPolicy,∈贪婪算法EpsGreedyQPolicy。
·test_policy,测试阶段选择action的算法,常见的为贪婪算法GreedyQPolicy,∈贪婪算法EpsGreedyQPolicy,默认使用贪婪算法。