强化学习-学习笔记15 | 连续控制

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

本系列的完结篇,介绍了连续控制情境下的强化学习方法,确定策略 DPG 和随机策略 AC 算法。

15. 连续控制

15.1 动作空间

  • 离散动作空间

    • Action space A=left,right,upAction space A=left,right,upAction \ space \ \mathcal{A}={left,right,up}
    • 比如超级玛丽游戏中的向上\向左\向右;
    • 此前博文讨论的,都是离散的控制,动作有限。
  • 连续动作空间

    • Action space A=[0°,360°]×[0°,180°]Action space A=[0°,360°]×[0°,180°]Action \ space \ \mathcal{A}=[0°,360°]×[0°,180°]
    • 比如机械臂,如果具有两个运动关节:

image

  • 价值网络 DQN 可以解决离散动作控制的问题,因为 DQN 输出的是有限维度的向量。

img

  • 策略网络也同样。

img

  • 所以此前的方法不能简单照搬到连续控制。要想应用到连续控制上,可以采用 连续空间离散化

连续空间离散化:

  • 比如机械臂进行二维网格划分。那么有多少个格子,就有多少种动作。
  • 缺点:假设d为连续动作空间的自由度,动作离散化后的数量会随着d的增加呈现指数增长,从而造成维度灾难。动作太多会学不好DQN 或 策略网络。
  • 所以 离散化 适合自由度较小的问题。

另外还有两个方法:

  1. 使用确定策略网络(Deterministic policy networkDeterministic policy networkDeterministic \ policy \ network)
  2. 使用随机策略(Stochastic policy networkStochastic policy networkStochastic \ policy \ network)。

15.2 DPG | 确定策略

回到顶部#### a. 基础了解

Deterministic Policy Gradient.确定策略梯度,可以用于解决连续控制问题。后续引入深度神经网络,就是著名的 DDPG。

DPG 是 Actor-Critic 方法的一种。结构图如下:

image

  • 策略网络 actor

    • 策略网络是确定性的函数 a=π(s;θ)a=π(s;θ)a=\pi(s;\theta)
    • 输入是状态 s ;输出是一个具体的动作 s;即给定状态输出具体的动作,无随机性。
    • 输出的动作是可以指导运动的实数或向量。
  • 价值网络 critic

    • 记作 q(s,a;w)q(s,a;w)q(s,a;w)
    • 输入是状态 s 和 动作 a,基于状态 s,评价动作 a 的好坏程度,输出一个分数 q;
  • 训练两个神经网络,让两个网络越来越好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值