写点什么

李宏毅深度强化学习课程:Q-learning for Continuous Actions

  • 2019-12-02
  • 本文字数:602 字

    阅读完需:约 2 分钟

李宏毅深度强化学习课程:Q-learning for Continuous Actions


传统的 Q-learning 的动作空间是离散的,有限数目的,比如上下左右四个动作。但是很多场景下,动作都是连续的,比如方向盘的转动角度,机器臂的转动角度等。有三个方法解决:第一个方法是随机 sample N 个动作,看哪个能获得最大的 Q 值;第二个办法是梯度下降来解决优化问题,但是计算量会很大,并且容易陷入局部最优。



设计一个网络让优化问题变得简单,其实就是如何构建一个神经网络,又能输出动作,也能输出 Q 值,而且动作对应的 Q 值最大。


基本的 idea 就是引入 Advantage,也就是每一个动作在特定状态下的优劣。我们不是要选最优的动作吗?其实就是要选 Advantage 最大的动作。Q,A(Advantage)和 V(Value)的关系如下:



如果我们能够限制 A 小于等于 0,并且选择的动作对应的 A 为 0,那么此时选择的这个动作的 Q 值是最大的。要做到这点,一种简单的想法就是让:



并且 P 为正 ,这个时候当 a=x 即选择的动作时为 0。


A 的矩阵表示为:



其中 x 是状态,u 是动作, [公式] 是神经网络的输出动作。令 [公式] ,即:



即 [公式] ,要满足这个要求,P 必须为正定矩阵。作者构造了一个对角线元素都是正数的下三角阵 L,然后再利用 L 构造 P。


具体过程如下:



另外还有一种方法是使用 Actor-critic 方法:



参考文献:


https://www.bilibili.com/video/av24724071/?p=5


https://www.cnblogs.com/wangxiaocvpr/p/5664795.html


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/73309906


2019-12-02 13:301135

评论

发布
暂无评论
发现更多内容

深入理解java和dubbo的SPI机制 | 京东物流技术团队

京东科技开发者

Java spi Dubbo SPI 企业号10月PK榜

Spring AOP 中被代理的对象一定是单例吗?

江南一点雨

Java spring

【后台体验】运营后台订单详情设计分享 | 京东云技术团队

京东科技开发者

后台开发 后台管理系统 订单系统 企业号10月PK榜 运营后台

材质、纹理、贴图的区别和关联

3D建模设计

材质 纹理 贴图

什么是K-均值算法

小魏写代码

Programming abstractions in C阅读笔记:p166-p175

codists

Eclipse、IntelliJ IDEA、PyCharm三种IDE区别

小齐写代码

如何利用动态配置中心在JavaAgent中实现微服务的多样化治理

华为云开发者联盟

云计算 后端 云服务 华为云 华为云开发者联盟

全国5000家金融单位将加入信创建设大军,未来数年发展关键期

没有用户名丶

深入浅出MySQL MRR(Multi-Range Read)

Java随想录

Java MySQL

软件测试/测试开发丨AI大模型应用开发实训营,文末领学习资料

测试人

人工智能 大数据 程序员 软件测试

TimeWise-Jira工时管理插件6.0.0发布!对比测评某知名工时插件,谁的数据处理性能更胜一筹?

龙智—DevSecOps解决方案

TimeWise Jira工时管理插件

IntelliJ IDEA安装教程

小齐写代码

微软首款AI芯片代号“雅典娜”;马斯克四年内将让“星舰”上火星丨 RTE 开发者日报 Vol.61

声网

[大厂实践] 重新发明后端子集

俞凡

算法 Google 大厂实践

Perforce发布《2023游戏开发与设计现状报告》,为游戏开发行业提供参考

龙智—DevSecOps解决方案

perforce 游戏开发与设计现状报告

小灯塔系列-中小企业数字化转型系列研究——CDP测评报告

人称T客

游戏和 NFT 的以太坊代币开发

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

分布式事务:XA和Seata的XA模式 | 京东物流技术团队

京东科技开发者

分布式事务 seata XA 企业号10月PK榜

代码检查过程中为什么需要涉及到编译呢?

云计算 软件开发 华为云 代码检查

用 TDengine 3.0 碰到“内存泄露”?定位问题原因很关键

TDengine

时序数据库 内存泄漏 ​TDengine

如何正确使用多线程和锁机制来构建可靠的程序

华为云开发者联盟

后端 多线程 开发 华为云 华为云开发者联盟

一款Redis可视化工具:ARDM | 京东云技术团队

京东科技开发者

redis 可视化工具 企业号10月PK榜 ARDM

聊聊JDK19特性之虚拟线程 | 京东云技术团队

京东科技开发者

Java JVM 虚拟线程 jdk19 企业号10月PK榜

李宏毅深度强化学习课程:Q-learning for Continuous Actions_文化 & 方法_Alex-zhai_InfoQ精选文章