面向Unity3D的深度增强学习训练框架研究
2022-01-07王霞
王霞
(福建船政交通职业学院 信息与智慧交通学院,福建 福州 350007)
Unity3D是一个广为人知的专业游戏开发平台,而将机器学习技术与Unity3D相结合则可以提高游戏研发效率[1-2]。机器学习技术(尤其是深度增强学习)适用于复杂任务的学习和控制,通过采用Unity Machine Learning Agents(ML-Agents)等工具包,可以实现Unity3D与深度学习平台Tensorflow之间的通信[3]。近端策略优化(Proximal Policy Optimization,PPO)是一种能用于连续控制的强化学习算法,是目前性能较好的策略算法[4]。本研究在Unity3D平台中实现了PPO算法的训练框架,并使用这个框架来试验不同的训练设置。
1 深度增强学习训练框架
PPO算法易于实现,能在连续的状态和动作空间中取得非常好的效果。PPO的目标函数具有以下的形式[5]:
L(θ)=Et[min(rt(θ)Advt,clip(rt(θ),1-ε,1+ε)Advt]
(1)
这个目标函数取前一个目标值和clip函数值之间的最小值,其中ε是超参数。Adv的值大于0意味着算法所采取的行动具有优势。如果0
在ML框架中,Agent负责接收观察的结果(状态),大脑根据这些状态决定选择动作以最大化当前的奖励。大脑与不同的Agent相连,负责决定Agent所需要采取的行动。由此决定需要使用哪种类型的大脑以及要处理的状态空间和动作空间的类型及其大小。在学习的过程中,大脑将被设置为外部类型意味着通过TensorFlow来做出动作和决定;而内部类型的大脑可以在ML模型的内部做出决策。
在进行训练之前,需要选择模型的超参数。这些参数是用来调整训练的设置,所使用的超参数设置及其定义如下表1所示:……p>
