rlACAgent

角色-批评家强化学习代理

描述

行为-批评(AC)代理实现行为-批评算法,如A2C和A3C,这是一种无模型的、在线的、基于策略的强化学习方法。这个代理的目标是直接优化策略(参与者)并训练一个评论家来估计回报或未来的回报。

有关更多信息,请参见Actor-Critic代理

有关不同类型的强化学习代理的更多信息,请参见强化学习代理

创建

描述

例子

代理= rlACAgent (演员,评论家,agentOptions)使用指定的actor和批评家网络创建actor-批评家代理,并设置AgentOptions财产。

输入参数

全部展开

策略的Actor网络表示,指定为rlStochasticActorRepresentation对象。有关创建参与者表示的更多信息,请参见创建策略和值函数表示

评论家网络代表估计贴现的长期回报,指定为rlValueRepresentation。有关创建批评家表示的更多信息,请参见创建策略和值函数表示

属性

全部展开

代理选项,指定为rlACAgentOptions对象。

对象的功能

火车 在指定的环境中训练强化学习代理
sim卡 在指定的环境中模拟一个训练有素的强化学习代理
getActor 从强化学习代理中得到角色表示
setActor 集合了增强学习代理的参与者表示
getCritic 从强化学习代理中得到批评家表示
setCritic 设置增强学习代理的批评家表示
generatePolicyFunction 建立评估强化学习代理训练策略的函数

例子

全部折叠

创建环境接口并获取其观察和操作规范。

env = rlPredefinedEnv (“CartPole-Discrete”);obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);

创建一个批评家表示。

创建一个网络,在评论中作为近似器使用关键网络= [imageInputLayer([4 1 1]),“归一化”,“没有”,“名字”,“状态”)fullyConnectedLayer (1,“名字”,“CriticFC”));为评论者设置一些选项criticOpts = rlRepresentationOptions (“LearnRate”,8 e - 3,“GradientThreshold”1);%创建评论评论家= rlValueRepresentation (criticNetwork obsInfo,“观察”,{“状态”},criticOpts);

创建一个actor表示。

创建要用作actor中的逼近器的网络actorNetwork = [imageInputLayer([4 1 1]),“归一化”,“没有”,“名字”,“状态”)fullyConnectedLayer (2“名字”,“行动”));为actor设置一些选项actorOpts = rlRepresentationOptions (“LearnRate”,8 e - 3,“GradientThreshold”1);%创建角色演员= rlStochasticActorRepresentation (actorNetwork obsInfo actInfo,“观察”,{“状态”},actorOpts);

指定代理选项,并使用环境、actor和批评家创建一个AC代理。

agentOpts = rlACAgentOptions (“NumStepsToLookAhead”32岁的“DiscountFactor”,0.99);代理= rlACAgent(演员、评论家、agentOpts)
agent = rlACAgent with properties: AgentOptions: [1x1 rl.option.rlACAgentOptions]

要检查代理,请使用getAction从随机观察返回操作。

getAction(代理,{兰德(4,1)})
ans = -10

现在可以根据环境测试和培训代理。

介绍了R2019a