要创建用于强化学习的函数近似器,您可以使用深度学习工具箱™网络导入功能导入预先训练的深度神经网络或深度神经网络层架构。你可以导入:
开放神经网络交换(ONNX™)模型,需要ONNX模型格式支持包软件的深度学习工具箱转换器。金宝app有关更多信息,importONNXLayers
.
TensorFlow™-Keras网络,需要张量流模型的深度学习工具箱转换器金宝app支持包软件。有关更多信息,请参见importKerasLayers
.
Caffe卷积网络,这需要咖啡模型的深度学习工具箱进口商金宝app支持包软件。有关更多信息,请参见importCaffeLayers
.
导入深度神经网络后,可以使用表示对象创建策略或值函数表示对象,例如rlValueRepresentation
.
当您导入深度神经网络架构时,请考虑以下事项。
导入的体系结构必须有一个输入层和一个输出层。因此,不支持导入带有观察和动作输入层的整个批评家网络。金宝app
导入的网络架构输入和输出层的维度必须与您的环境中相应的操作、观察或奖励维度的维度相匹配。
导入网络结构后,需要设置输入层和输出层的名称,使其与相应的动作规范和观测规范的名称相匹配。
有关强化学习支持的深度神经网络架构的更多信息,请参见金宝app创建策略和价值功能表示.
例如,假设您有一个具有50 × 50灰度图像观测信号和连续动作空间的环境。为了训练策略梯度代理,您需要以下函数近似器,两者都必须有单个50 × 50的图像输入观察层和单个标量输出值。
演员—根据当前观察选择动作值
评论家-根据当前的观察估计预期的长期回报
另外,假设您有以下要导入的网络架构:
具有50 × 50图像输入层和标量输出层的actor的深度神经网络架构,以ONNX格式保存(criticNetwork.onnx
).
具有50 × 50图像输入层和标量输出层的批评家的深度神经网络架构,以ONNX格式保存(actorNetwork.onnx
).
要引进影评人和演员网络,使用importONNXLayers
函数,而不指定输出层。
criticNetwork = importONNXLayers (“criticNetwork.onnx”);actorNetwork = importONNXLayers (“actorNetwork.onnx”);
这些命令生成一个警告,说明网络在添加输出层之前是可训练的。当您使用导入的网络创建参与者或批评者表示时,Reinforcement Learning Toolbox™软件会自动为您添加一个输出层。
导入网络后,创建参与者和批评者函数近似表示。要做到这一点,首先要从环境中获得观察和行动规范。
obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);
创建批评家表示,指定批评家网络的输入层的名称作为观察名称。由于批评网络有单一的观察输入和单一的行动输出,所以使用价值-功能表示。
评论家= rlValueRepresentation (criticNetwork obsInfo,...“观察”, {criticNetwork.Layers (1) . name});
创建参与者表示,将参与者网络的输入层名称指定为观察名称,并将参与者网络的输出层名称指定为观察名称。由于参与者网络具有单个标量输出,所以使用确定性参与者表示。
演员= rlDeterministicActorRepresentation (actorNetwork obsInfo actInfo,...“观察”, {actorNetwork.Layers (1) . name},...“行动”{actorNetwork.Layers(结束). name});
然后,您可以: