强化学习入门(Matlab2021b)-创建策略和价值函数【1(上)】

1 前言

1、策略(policy)是从环境观测值到计划采取动作的概率分布的映射。
2、价值函数(value/Q-valua function)是从环境观测值(或观测-动作)到策略值的映射。
3、策略的价值被定义为最大化期望累积奖励。

强化学习智能体使用参数化策略和价值函数,它们分别由称为Actors和Critics的函数近似器实现。在训练期间,Actors学习选择可采取最佳动作的策略,即通过调整参数使产生更大价值的动作具备更大的概率。Critics学习估计当前策略价值的价值函数,即通过调整参数使预测的奖励接近观察到的奖励。

在创建非默认智能体之前,必须使用近似模型(如深度神经网络、线性基函数或查找表)创建Actors和Critics,可以使用的函数逼近器类型和模型取决于要创建的智能体类型。

2 Actors和Critics

Reinforcement Learning Toolbox软件支持以下类型的Actors和Critics:

类型 说明
V ( S ∣ θ V ) V(S|\theta_V) V(SθV) Critics根据给定的观察值 S S S来估计策略的期望累积奖励,可使用rlValueFunction创建Critics。
Q ( S , A ∣ θ Q ) Q(S,A|\theta_Q) Q(S,AθQ) Critics根据给定的离散动作 A A A和给定的观测 S S S,估计策略的期望累积奖励,可使用rlQValueFunction创建Critics。
Q i ( S , A i ∣ θ Q
  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,MATLAB深度学习工具箱提供了各种深度学习网络和算法,但是并没有提供深度强化学习算法。不过,MATLAB提供了强化学习工具箱,可以用于实现强化学习算法,包括深度强化学习强化学习工具箱提供了各种强化学习算法,包括Q学习、深度Q学习、策略梯度等。此外,MATLAB还提供了各种示例和函数,可以帮助用户快速入门和实现强化学习算法。 以下是一个使用MATLAB实现深度强化学习的简单示例: ```matlab % 导入强化学习工具箱 addpath('toolbox_rl'); % 创建环境 env = rlPredefinedEnv('CartPole-Discrete'); % 创建深度神经网络 obsInfo = getObservationInfo(env); actInfo = getActionInfo(env); numObs = obsInfo.Dimension(1); numAct = actInfo.Dimension(1); layers = [ imageInputLayer([numObs 1 1],'Normalization','none','Name','state') fullyConnectedLayer(24,'Name','CriticStateFC1') reluLayer('Name','CriticRelu1') fullyConnectedLayer(24,'Name','CriticStateFC2') reluLayer('Name','CriticCommonRelu') fullyConnectedLayer(numAct,Name','output')]; criticOpts = rlRepresentationOptions('LearnRate',1e-3,'GradientThreshold',1); critic = rlQValueRepresentation(layers,obsInfo,actInfo,'Observation',{'state'},criticOpts); % 创建深度Q学习代理 agentOpts = rlDQNAgentOptions(... 'SampleTime',env.Ts,... 'TargetUpdateFrequency',1e-2,... 'ExperienceBufferLength',1e6,... 'DiscountFactor',0.99,... 'MiniBatchSize',64); agent = rlDQNAgent(critic,agentOpts); % 训练代理 trainOpts = rlTrainingOptions(... 'MaxEpisodes',500,... 'MaxStepsPerEpisode',500,... 'Verbose',false,... 'Plots','training-progress'); trainingStats = train(agent,env,trainOpts); % 测试代理 simOpts = rlSimulationOptions('MaxSteps',500); experience = sim(env,agent,simOpts); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余加木

想喝蜜雪冰城柠檬水(≧≦)/

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值