AC算法(Actor-Critic算法)最早是由《Neuronlike Adaptive Elements That Can Solve Difficult Learning Control Problems Neuronlike Adaptive Elements That Can Solve Difficult Learning Control Problems》论文提出,不过该论文是出于credit assignment problem设计了actor部分和critic部分,其中critic对actor获得的reward进行credit assignment 处理和学习,然后把处理后获得的新reward传递给actor进行学习,这样结合了critic和actor两部分学习器,得到了一个更优的学习器。

可以看到最初的AC算法只是为了更好解决credit assignment问题,将Actor和Critic两者结合,其中的Critic主要就是为每一步的actor学习给出一个更好的credit assignment的reward。最初的AC算法中critic更多的是在辅助actor来进行学习的,可以看到现在的AC算法除了保留了将两个学习器结合的思想以外已经与最初的AC算法差距较大了,而现在的AC算法形式为论文《Policy Gradient Methods for Reinforcement Learning with Function Approximation》给出的。

因此,本文主要讨论的是对论文《Policy Gradient Methods for Reinforcement Learning with Function Approximation》的一些理解。前几天写过一个该论文的一些基本形式和证明(

论文《policy-gradient-methods-for-reinforcement-learning-with-function-approximation 》的阅读——强化学习中的策略梯度算法基本形式与部分证明

),所以本文算是一个补充版,或是后续版。

---------------------------------------------------------

首先给出论文《Policy Gradient Methods for Reinforcement Learning with Function Approximation》中的定理1:

定理1 又被称作是策略梯度定理,可以说强化学习中的策略梯度一类的算法基本都是基于这个定理来进行构建的。由于前文对该定理给出了一些解释,这里就不具体解释了。

本文的重点是讲一下对论文中定理2的一些理解, 下面给出定理2及其前提设定:

上面的内容比较长,可以说公式(3)和(4)是对定理2的前提设定,也就是说定理2是假设在满足公式(3)和(4)的前提条件下进行推导的。

由公式(3)和(4)我们可以推导出定理2的表现形式,即公式(5)。其中公式(6)及以下为对定理2的表现形式(即公式(5))进行的证明过程。

公式(3)的意思是说,满足公式(3)的话,f(s,a) 对 Q(s,a)的估计为收敛于局部最优,换句话说就是:公式(3)是 f(s,a) 对 Q(s,a)的估计收敛于局部最优的表现形式。假设公式(3)成立则说明 f(s,a) 对 Q(s,a)的估计是假设收敛于局部最优的。

公式(4)则是假设f(s,a)对参数w的微分等于log(pi(s,a)) 对参数theta的微分。

在公式(3)和(4)成立的前提下,才得到定理2 的表现形式(公式5),也就是说定理2是在讲满足公式(3)和(4)的前提下才可以用f(s,a)替代Q(s,a)来对策略的表现求梯度(即定理1)

刚开始看到定理2的时候感觉多此一举,直接用一个函数来近似表示Q(s,a)不就可以了吗,为什么还要假设满足公式(3)和(4)。研究了些时间才有所了解,如果不满足公式(3),那么f(s,a)对Q(s,a)的估计是没有限定的,也就是说f(s,a)是不能很好的来估计Q(s,a)的,所以我们要加入公式(3)作为前提。或者说只有满足了公式(3)才能说f(s,a)是对Q(s,a)的很好的估计,因为此时的估计函数f(s,a)是收敛于局部最优的。

那么公式(4)又是为何呢,它又起到什么作用呢?

个人理解:

即使满足了公式(3),f(s,a)是对Q(s,a)的一个很好的估计(收敛于局部最优),也不能说f(s,a)就一定可以替换定理1中的Q(s,a)。因为毕竟f(s,a)并不正在等于Q(s,a),只能说在(s,a) 这个(状态,动作 对)分布的情况下,f(s,a)与Q(s,a)的差值平方在(s,a)分布的情况下的期望对参数w的导数为0,因为毕竟  f(s,a) 对Q(s,a)的估计还是难免会存在误差的。

在不考虑公式(4)的情况下,我们只能说下面的公式是成立的:

但是对于公式(6),即下面公式,是难以使其成立的。

也或者说下面公式是难以成立的:

----------------------------------------------

以上对公式(3)和(4)的一个理解就是,如果只满足了公式(3)只能说明f(s,a)对Q(s,a)的估计收敛于局部最优,而只有同时满足公式(4)的收敛于局部最优的f(s,a)才能很好的替换定理1中的Q(s,a)。

当然,在实际应用中公式(3)和公式(4)都是难以满足的,或者说论文中的定理1和定理2是纯理论假设推导,是在一种很理想化的情况下才会成立。

公式(3)的表现形式我们可以假设策略固定不变,然后在固定策略的前提下一直训练f(s,a)使其对Q(s,a)的估计收敛于局部最优,而此时所得到的f(s,a)并不一定会满足公式(4)。而只有满足公式(4)的收敛于局部最优的f(s,a)才满足定理2,才可以替换定理1中的Q(s,a)。

现在的常用函数一般为深度神经网络,也就是说f(s,a)和pi(s,a)一般也是用深度神经网络来表示的,现在常用的对f(s,a)进行更新的方法一般可以较好的使f(s,a)对Q(s,a)的估计收敛,至于能否收敛于局部最优就难以保证了,而对于公式(4)中的限定现在也是基本没有见过哪个具体算法对其进行限定的。

可以说对公式(3)基本可以实现部分满足(使其收敛,不保证收敛于局部最优),而对于公式(4)的限定实际算法一般不做处理。

----------------------------------------------------

对于强化学习算法中的AC算法(Actor-Critic算法) 的一些理解的更多相关文章

  1. 强化学习(五)—— 策略梯度及reinforce算法

    1 概述 在该系列上一篇中介绍的基于价值的深度强化学习方法有它自身的缺点,主要有以下三点: 1)基于价值的强化学习无法很好的处理连续空间的动作问题,或者时高维度的离散动作空间,因为通过价值更新策略时是 ...

  2. 强化学习(十七) 基于模型的强化学习与Dyna算法框架

    在前面我们讨论了基于价值的强化学习(Value Based RL)和基于策略的强化学习模型(Policy Based RL),本篇我们讨论最后一种强化学习流派,基于模型的强化学习(Model Base ...

  3. 基于深度强化学习(DQN)的迷宫寻路算法

    QLearning方法有着明显的局限性,当状态和动作空间是离散的且维数不高时可使用Q-Table存储每个状态动作的Q值,而当状态和动作时高维连续时,该方法便不太适用.可以将Q-Table的更新问题变成 ...

  4. 强化学习-学习笔记14 | 策略梯度中的 Baseline

    本篇笔记记录学习在 策略学习 中使用 Baseline,这样可以降低方差,让收敛更快. 14. 策略学习中的 Baseline 14.1 Baseline 推导 在策略学习中,我们使用策略网络 \(\ ...

  5. 在 Prim 算法中使用 pb_ds 堆优化

    在 Prim 算法中使用 pb_ds 堆优化 Prim 算法用于求最小生成树(Minimum Spanning Tree,简称 MST),其本质是一种贪心的加点法.对于一个各点相互连通的无向图而言,P ...

  6. 强化学习(十二) Dueling DQN

    在强化学习(十一) Prioritized Replay DQN中,我们讨论了对DQN的经验回放池按权重采样来优化DQN算法的方法,本文讨论另一种优化方法,Dueling DQN.本章内容主要参考了I ...

  7. ICML 2018 | 从强化学习到生成模型:40篇值得一读的论文

    https://blog.csdn.net/y80gDg1/article/details/81463731 感谢阅读腾讯AI Lab微信号第34篇文章.当地时间 7 月 10-15 日,第 35 届 ...

  8. 谷歌重磅开源强化学习框架Dopamine吊打OpenAI

    谷歌重磅开源强化学习框架Dopamine吊打OpenAI 近日OpenAI在Dota 2上的表现,让强化学习又火了一把,但是 OpenAI 的强化学习训练环境 OpenAI Gym 却屡遭抱怨,比如不 ...

  9. 强化学习论文(Scalable agent alignment via reward modeling: a research direction)

     原文地址: https://arxiv.org/pdf/1811.07871.pdf ======================================================== ...

  10. 谷歌推出新型强化学习框架Dopamine

    今日,谷歌发布博客介绍其最新推出的强化学习新框架 Dopamine,该框架基于 TensorFlow,可提供灵活性.稳定性.复现性,以及快速的基准测试. GitHub repo:https://git ...

随机推荐

  1. 使用 OpenTelemetry 构建可观测性 05 - 传播和行李(Propagation & Baggage)

    我们开发的应用程序可能具有不同的形态和架构:有些是单体应用,有些是微服务.为单体应用程序添加遥测数据相对来说简单,因为所有数据都在同一进程中.然而对于微服务应用程序,情况可能会更具挑战性. 通常,分布 ...

  2. Java中PDF的转换(图片)与展示

    解决的问题 有些时候我们需要在项目中展示PDF,但是直接在浏览器中加入PDF展示的插件,存在兼容性问题,某些浏览器显示效果不理想,所以我们可以将PDF转为图片,然后已图片的方式展示,效果很好. 那么怎 ...

  3. Json字符串转换处理html编码格式,= \u003d 处理

    Json字符串转换处理html编码格式,=  \u003d 处理 import com.alibaba.fastjson.annotation.JSONField; import com.faster ...

  4. spring-事务案例

    spring的案例场景 同一个事务中使用并发操作导致更新获取锁失败 @Autowired Service service1; @Transactional public void methodA(){ ...

  5. Python 潮流周刊#57:Python 该采用日历版本吗?

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  6. hive第二课:Hive3.1.2概述与基本操作(修改版)

    Hive3.1.2概述与基本操作 1.Hive基本概念 1.1 Hive简介 Hive本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据存储,说白了hive可以理解为一个将 ...

  7. STM32 CubeMX 学习:有关说明

    背景 STM32 是我以前学过的,而很久没有整理过的.因为之前学习的时间比较早,再加上各种资料要么不成熟,要么不齐全:再加上自己一开始没有比较完善的学习经验:以至于我的学习并不扎实. 趁着 STM 的 ...

  8. 算法金 | 致敬深度学习三巨头:不愧是腾讯,LeNet问的巨细。。。

    ​ 大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 读者参加面试,竟然在 LeNet 这个基础算法上被吊打~ LeNe ...

  9. 在Mac上使用Emacs初步

    其他操作系统估计也差不多. 安装 如果使用brew就是brew install emacs.安装后不会在Applications里面显示一个程序,需要在命令行里执行emacs. 使用 进入和退出 上面 ...

  10. java中的即时编译(JIT)简介

    Java发展这么多年一直长青,很大一部分得益于开发人员长期对其坚持不懈的优化:写得更少,跑得更快!JIT就是其中一项十分重要的优化. JIT全程Java Intime Compiler,即Java即时 ...