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

发布于:2019 年 12 月 2 日 13:30

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

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

李宏毅深度强化学习课程:Q-learning for Continuous Actions
设计一个网络让优化问题变得简单,其实就是如何构建一个神经网络,又能输出动作,也能输出 Q 值,而且动作对应的 Q 值最大。

基本的 idea 就是引入 Advantage,也就是每一个动作在特定状态下的优劣。我们不是要选最优的动作吗?其实就是要选 Advantage 最大的动作。Q,A(Advantage) 和 V(Value) 的关系如下:
李宏毅深度强化学习课程:Q-learning for Continuous Actions

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

李宏毅深度强化学习课程:Q-learning for Continuous Actions
并且 P 为正 ,这个时候当 a=x 即选择的动作时为 0。

A 的矩阵表示为:
李宏毅深度强化学习课程:Q-learning for Continuous Actions

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

李宏毅深度强化学习课程:Q-learning for Continuous Actions
即 [公式] ,要满足这个要求,P 必须为正定矩阵。作者构造了一个对角线元素都是正数的下三角阵 L,然后再利用 L 构造 P。

具体过程如下:

李宏毅深度强化学习课程:Q-learning for Continuous Actions
另外还有一种方法是使用 Actor-critic 方法:

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

参考文献:

https://www.bilibili.com/video/av24724071/?p=5
https://www.cnblogs.com/wangxiaocvpr/p/5664795.html

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

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

阅读数:57 发布于:2019 年 12 月 2 日 13:30

更多 文化 & 方法、语言 & 开发、企业动态 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论