强化学习笔记

本文介绍了RL的典型框架,特别是Policy的作用,以及如何在Simulink中构建物理模型,连接RLAgent模块,处理连续和离散的Observation和Action。重点提到Matlab教程中的两个实例,如TrainDQNAgent和WaterTank环境,概述了实现强化学习的四个关键步骤,包括设置深度学习环境的参数。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


RL(reinfocement learning)的典型框架如图所示。这里的POLICY根据我的理解,类似于一个简单的物理模型,用来提供最初的输出,当神经网络的表现足够好时,该物理模型会被取代,之后,POLICY会不断被能产生更大的reward的新的POLICY取代。

| 在这里插入图片描述在这里插入图片描述
|sdf |
| ------------------------------------------------------------ | ------------------------------------------------------------ |

Reward

reward用来反应Agent的表现,分为连续reward和离散reward。这里的连续喝离散和仿真中solver的连续和离散不一样。连续的reward随观测和作用量的变化连续变化,离散reward则不连续,典型的离散reward为:某个观测或输出值超过某个阈值,reward为负1。离散reward通常用来帮助agent规避某些不好的区域。而连续reward用来提供平滑的reward, 指导agent更快收敛。

Observation and Action

observation对应神经网络的输入,Action对应神经网络的输出。两者都有两种不同的数据规格,有限集和连续集。有限集表示,只能取确定数组中的某个值,例如,一个神经网络的Action值只能取[-2 0 2]三个数中的一个;连续集则用一个区间表示。

具体的搭建流程

综合研究了Matlab/Simulink中各种搭建教程,Train DQN Agent to Swing Up and Balance Pendulum中的内容最为全面。此外, Water Tank Reinforcement Learning Environment Model也很详细,并且从零创建了Environment, 填补了第一个例子的空白部分。

结合第二个例子,总结在Simulink中实现强化学习共有4个步骤:

  1. 在Simulink中搭建物理模型,然后拖入RL Agent模块,并连接对应的信号。物理模型要向RL Agent提供观测(observation), 奖励(reward), 结束标志(isdone), 并接受RL Agent的action信号。

  2. 在Matlab中指定action, observation的规格(specification), 指明他们是连续的还是离散的

  3. 在Matlab中,使用步骤2中的action, observation信息以及步骤1中的模型建立深度学习的环境,典型的代码为:

    env = rlSimulinkEnv(mdl,[mdl '/RL Agent'],observationInfo,actionInfo);
    
  4. 设置上述深度学习环境的Reset方程

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值