深度强化学习(9)Fitted Q-iteration

本文主要内容来源于 Berkeley CS285 Deep Reinforcement Learning


前情回顾

深度强化学习(8)Actor-Critic 算法(2) 中, 我们提到了 Batch Actor Ctritic 算法:

Batch Actor Ctritic
image.png

抛弃Policy

在之前讨论的算法中(Policy Gradient, Actor Ctritic), 其核心都是 Policy (\pi_{\theta}(a|s)) 。我们可以思考一个问题, 我们是不是可以把 Policy 网络丢弃呢, 毕竟, 训练 Policy 网络消耗了很多资源。

其实我们如果可以正确的估计出 A^{\pi} (Q^{\pi}, V^{\pi}), 其实是可以用一个及其简单的 Policy , 而抛弃复杂的神经网络的。 其实很简单, 就是选择表现最好的 Action:

选最好的Action

算法就变成了:

image.png

其中:

Advance Function

所以, 只要能够建立对 V^{\pi}(s) ,我们就可以完成这项工作。 有两种方法

  1. 利用动态规划, 构建一张大表,把所有可能情况都记录下来。 这个明显不可太可能, 有些输入比如图片, 状态空间特别大,计算机可能放下那么大的一张表。

  2. 利用我们前一章(深度强化学习(8)Actor-Critic 算法(2))讨论的, 构建一个关于 V Function 的神经网络。具体方法请参考链接文章。

但是,对于方法2, 我们遇到一个问题:

image.png

在计算 E[V_{\phi}(s^{\prime}_{i})] 需要知道各种不同的 Action 的收益, 但是现在没有Policy 函数,我们没法知道 Action 的分布。

一个办法是, 我们使用Q Function 替代

用 Q Fucntion

我们直接用 Q Fucntion的话, 就可以绕开对 Action 的分布 的需求了。 所以问题就变成了求 Q Function 的神经网络了。

Fitted Q-iteration

Fitted Q-iteration
  1. 通过某些Policy(硬编码),获得 Transition, 这里的结果, 都是环境给出的。
  2. 选择可以让 Q value 最大的 action ,然后获得 y_{i}
  3. 计算loss value, 更新网络

要训练的 Q Function NN 长得是这样:

Q Function Network
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容