ML-Agents学习笔记二:UNITY实例工程简介

2020-06-08  本文已影响0人  IT前沿技术分享

上文已经介绍了,如何搭建一个ML-Agents的开发环境,接下来,我们进入主题,开始利用demo来学习,如何利用ML-Agents进强化学习训练。

1、ML-Agents工具包目录

在我们下载的工具包中,包含一个 Unity Project 的目录,

如果你熟悉Unity工程的话,很明显能看出来这是个unity的工程,上文也提到,这个是ml-agents 的unity demo,

image-20200605201548636.png

包含几个若干个示例,突出显示工具包的各种特性,这里将挑选其中一个,训练一个代理,并将训练好的模型嵌入到Unity环境中的端到端过程。

2、用Unity加载Demo

image-20200605203546747.png image-20200605203627967.png image-20200605204037183.png image-20200605204425573.png

你会发现,它很少走冤枉路,这个就利用ML-Agents预先训练好的模型(.nn 文件,存放在TFModels目录下),应用到实际场景的推理。

image-20200606165824638.png

3、ML-Agents 的Unity环境

这里介绍一下ML—Agents 的Unity环境,它包含一个或多个Agent对象的场景,包括Agent与之交互的其他实体。

在打开pyramids场景后,您可能会注意到的第一件事是,它包含了多个Agent训练迷宫AreaPB++,而不是一个。场景中的每个Agent训练迷宫都包含一个独立的agent,但是它们都有相同的行为,这样可以过个Agent同时训练,速训练,因为16个agent都是并行进行训练的。

image-20200606153056198.png

打开每个AreaPB++, 你会发现他们都具有相同的GameObject及挂载相同的脚本, 其他他就是AreaPB的一个拷贝。

image-20200606171003333.png

打开 AreaPB,能看到影响基础Agent对象的行为的几个属性:

image-20200606155323690.png
1、Behavior Parameters : Vector Observation Space

在做出决定之前,Agent会先收集其观察到的状态的信息。Vector Observation是一个浮点数的向量,其中包含Agent进行决策的相关信息。

pyramids示例的行为参数使用的空间大小为4。这意味着包含代理观察的特征向量包含四个元素:前后左右四个方向的平面向量值。

2、Behavior Parameters : Vector Action Space

以浮动类型的行动数组的形式向Agent提供指令。ML-Agents工具包将行动分为两种类型:

连续的和离散的。

3、Model : Inference Device

将使用的推断设备设置为CPU/GPU

上一篇 下一篇

猜你喜欢

热点阅读