导入策略和价值功能交涉

要创建用于强化学习的函数逼近器,您可以使用deep learning Toolbox™网络导入功能导入预训练的深度神经网络或深度神经网络层架构。你可以导入:

  • 开放式神经网络交换(ONNX™)模式,这需要深入学习工具箱转换为ONNX模型格式支持软件包。金宝app了解更多信息,importONNXLayers

  • keras网络,它需要深度学习工具箱进口商为TensorFlow,Keras模型金宝app支持包软件。有关更多信息,请参见importKerasLayers

  • 朱古力卷积网络,这需要用于Caffe模型的深度学习工具箱导入器金宝app支持包软件。有关更多信息,请参见importCaffeLayers

导入一个深层神经网络之后,您可以创建一个策略或价值函数表示对象使用表示对象,如rlValueRepresentation

当您导入深度神经网络架构时,请考虑以下问题。

  • 导入的架构必须有一个单一的输入层和一个单一的输出层。因此,不支持导入带有观察和动作输入层的完整批评家网络。金宝app

  • 导入的网络架构输入和输出层的维度必须与环境中相应的动作、观察或奖励维度的维度相匹配。

  • 导入网络体系结构之后,您必须设置输入和输出层的名称,以匹配相应的操作和观察规范的名称。

有关强化学习支持的深度神经网络架构的更多信息,请参见金宝app创建策略和价值函数表示

输入演员和评论家的图像观察应用

例如,假设您有一个具有50×50灰度图像观察信号和连续动作空间的环境。要训练策略梯度代理,需要以下函数逼近器,它们都必须有单个50×50图像输入观察层和单个标量输出值。

  • 演员- 选择基于当前观察的动作值

  • 评论家-根据目前的观察,估计预期的长期回报

另外,假设您有以下网络架构需要导入:

  • actor的深度神经网络架构,具有50×50的图像输入层和标量输出层,输出层以ONNX格式保存(criticNetwork.onnx)。

  • 批评家的深度神经网络结构,具有50×50的图像输入层和标量输出层,输出层以ONNX格式保存(actorNetwork.onnx)。

要导入评论家和演员的网络,使用importONNXLayers函数不指定一个输出层。

criticNetwork = importONNXLayers ('criticNetwork.onnx');actorNetwork = importONNXLayers ('actorNetwork.onnx');

这些命令生成警告,其中指出,直到加入的输出层中的网络是可训练。当您使用导入的网络创建一个演员或评论家表示,强化学习工具箱™软件会自动为你增加一个输出层。

导入网络之后,创建actor和批评家函数近似器表示。要做到这一点,首先要从环境中获取观察和行动规范。

obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);

创建评论家表示,指定评论家网络作为观察名的输入层的名称。由于评论家网络具有单一观察输入和单个动作输出,使用一个值的功能的表示。

评论家= rlValueRepresentation (criticNetwork obsInfo,“观察”{criticNetwork.Layers(1)请将.Name});

创建actor表示,指定actor网络的输入层的名称作为观察名称,并指定actor网络的输出层作为观察名称。由于actor网络具有单个标量输出,因此使用确定性actor表示。

演员= rlDeterministicActorRepresentation (actorNetwork obsInfo actInfo,“观察”{actorNetwork.Layers(1)请将.Name}'行动'{actorNetwork.Layers(端部),请将.Name});

然后,您可以:

相关话题