《Simple statistical gradient-following algorithms for connectionist reinforcement learning》发表于1992年,是一个比较久远的论文,因为前几天写了博文:

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

所以也就顺路看看先关的论文,尤其是这篇提出Reinforce的算法,准确的来说正是这篇论文提出了基于策略搜索的强化学习方法,所以说这是个始祖型的论文。

给出部分论文内容:

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

associative reinforcement problem:

根据上面的论文中给出的公式,可以得到现在的Reinforce算法的 标准 formulation。

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

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

还有一点Reinforce的名称来源是缩写:

 

这是原先没有想到的。

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

现在一般给出的reinforce算法的推导如下:

一般对于reinforce算法最终给出的形式就是上面最后的表达式。

不过上面的reinforce表达形式还可以继续推导:

因为t=0,1,2,3,4,5,......,H

假设动作集中的动作个数为A,也就是说S状态时可以选择的动作数为A,而选择各个动作的概率和为1。而R(τ)可以写为St之前的状态行为所获得的奖励和与之后所获得的奖励和,即r(0),r(1),r(2),r(3),...,r(t-1) 折扣和 和  r(t), r(t+1), ......,r(H)折扣和。

因为当前的动作与过去的回报实际上是没有关系的,于是可以得到化简后的reinforce算法的表达式:

所以可得:

所以,化简reinforce的表现形式,可以得到:

根据上面的推导可以看出重点是在于这句话:    当前的动作与过去的回报实际上是没有关系的

对于如此关键的一句话,正是因为这句话才推导出reinforce算法的简化形式,那么这句话又是如何来进行理解呢?

因为A1集合中的at均为a1,A2集合中的均为a2, 以此类推直至AN集合,所以其他子集合也可得上述表达式,只不过at不同而已。

因为不同集合中的该部分表达式只有at不同,即π(at|st)不同,而对不同集合中所得的上面该部分再求和,因为∑π(at|st)=1,为常数,因此求和后该部分为0。

也就是说集合A中该部分求和为0,以此类推至所有轨迹中的所有状态中的该部分,皆为0,由此对应了前面的那句话:

当前的动作与过去的回报实际上是没有关系的

其实上面的推导过程有个隐含的假设,那就是s,a返回的奖励r是确定的,而如果状态,动作对返回的奖励reward是一个分布的话上面的推导过程则隐含假设每一个状态,动作对(s,a)获得的reward都是期望值,即R使s,a所得的期望值。

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

或者为: 

根据上面化简后得到的形式,容易得到Sutton的Reinforcement introduction中的一般形式及算法伪代码,如下:

根据上面简化形式的推导过程,容易理解sutton给出的伪代码中的:

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

在论文   《policy-gradient-methods-for-reinforcement-learning-with-function-approximation 》中指出策略梯度定理为reinforce算法的更一般的表现形式,下面给出策略梯度算法中episode形式下的推导:

不论是上面我们对reinforce算法的推导形式,还是策略梯度定理中给出的推导,都是等价的,都可以将episodic情景下计算表达式写为如下:

策略梯度定理中:

或策略梯度定理中:

或reinforce算法中在一个个episode中序惯采样的形式:

在reinforce算法中,我们是在一个episode中序惯的采样,因此γk是乘在我们的计算项中的。这里的计算项为:

而在策略梯度定理中我们假设采样到的计算项,即

策略梯度定理中计算项的表达式之所以和reinforce算法中的有所不同在于其采样的设定,在reinforce算法中是按照一条条轨迹那样来采样的,在采样的过程中就已经把计算项前面的概率使用采样的方式来表达了,所以需要把折扣率算在计算项中。而在策略梯度定理中,并没有设定为采样,而是直接假设系统中(s,a)的γk折扣概率,我们是计算在所有轨迹中(或是系统中)第k步出现(s,a)的γk折扣概率,因此已经把折扣率算在了概率的过程中。

策略定理中没有设定为采样,但是我们为了便于理解也可以把整个系统想象成一个超大的采样,把所有会出现的轨迹都采样出来了,并且每个轨迹在系统中出现的概率和我们这里采样的频率相等,这时我们想要得到某对(s,a)则直接在这个大的采样中来获得,此时获得某对(s,a)的概率就等于所有轨迹中(或是系统中)第k步出现(s,a)的γk折扣概率,因此这样也可以理解为折扣率算在了采样的过程中。

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

读《Simple statistical gradient-following algorithms for connectionist reinforcement learning》论文 提出Reinforce算法的论文的更多相关文章

  1. 基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms” .

    ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3 基于物品的协同过滤推荐算法--读"Item-Based ...

  2. Discovering Reinforcement Learning Algorithms

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2007.08794v1 [cs.LG] 17 Jul 2020 Abstract 强化学习(RL)算法根据经过多年研究手动发 ...

  3. [Reinforcement Learning] Policy Gradient Methods

    上一篇博文的内容整理了我们如何去近似价值函数或者是动作价值函数的方法: \[ V_{\theta}(s)\approx V^{\pi}(s) \\ Q_{\theta}(s)\approx Q^{\p ...

  4. Machine Learning Algorithms Study Notes(3)--Learning Theory

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  5. [CS231n-CNN] Training Neural Networks Part 1 : activation functions, weight initialization, gradient flow, batch normalization | babysitting the learning process, hyperparameter optimization

    课程主页:http://cs231n.stanford.edu/   Introduction to neural networks -Training Neural Network ________ ...

  6. Machine Learning Algorithms Study Notes(5)—Reinforcement Learning

    Reinforcement Learning 对于控制决策问题的解决思路:设计一个回报函数(reward function),如果learning agent(如上面的四足机器人.象棋AI程序)在决定 ...

  7. 斯坦福大学公开课机器学习:梯度下降运算的学习率a(gradient descent in practice 2:learning rate alpha)

    本章节主要讲怎么确定梯度下降的工作是正确的,第二是怎么选择学习率α,如下图所示: 上图显示的是梯度下降算法迭代过程中的代价函数j(θ)的值,横轴是迭代步数,纵轴是j(θ)的值 如果梯度算法正常工作,那 ...

  8. 论文笔记——N2N Learning: Network to Network Compression via Policy Gradient Reinforcement Learning

    论文地址:https://arxiv.org/abs/1709.06030 1. 论文思想 利用强化学习,对网络进行裁剪,从Layer Removal和Layer Shrinkage两个维度进行裁剪. ...

  9. 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction

    转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应 ...

  10. 18 Issues in Current Deep Reinforcement Learning from ZhiHu

    深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...

随机推荐

  1. 小米 红米 Redmi MIUI14 ANDROID 系统 耗电

    小米 红米 Redmi MIUI14 ANDROID 系统 耗电 在系统更新里,点右上角三点,下载完整更新包,安装好.再把电量用到关机,充电,充满开机,别拔线,继续充10分钟.我就是这么解决的,今天用 ...

  2. 消息sms 邮箱/手机号/push发送的方案 & 定时任务xxlJob灵活度 & 泛型和发送的模板类设计

    消息sms 邮箱/手机号/push发送的方案 & 定时任务xxlJob灵活度 & 泛型和发送的模板类设计 1.消息sms 邮箱/手机号/push发送的方案 1.判断收件人地址是否为空, ...

  3. 调用支付JSAPI缺少参数:total_fee解决方法

    1.https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7 调用支付JSAPI缺少参数:total_fee 1.请检查预支付会话标识p ...

  4. mysql自带test数据库表的默认属性:Collation latin1_swedish_ci 更新为utf8_general_ci,解决MYSQL数据库乱码

    ## mysql自带test数据库表的默认属性:Collation latin1_swedish_ci 更新为utf8_general_ci,解决MYSQL数据库乱码USE test;CREATE T ...

  5. 彻底解决C盘不够用的问题(Windows 10)- 常规方法——清垃圾、转虚拟内存、挪大文件

    1.清垃圾 2.转虚拟内存 3.挪大文件

  6. golang 所有关键字的列表及释义归类

    golang 所有关键字的列表及释义归类,截至1.18版本. [控制结构] if  : 条件语句,基于布尔表达式的值决定是否执行特定的代码块. else. else if     : 用在 if 语句 ...

  7. python调用微信JS_SDK及使用redis缓存access_token 和jsapi_ticket

    from flask import Flask, make_response,request import json import string import hashlib import rando ...

  8. Apache Kylin(一)Kylin介绍

    1. 传统大数据分析的问题 在基于Hadoop 生态的传统大数据分析中,主要使用的技术是MPP(Massively Parallel Processing)大规模并行处理和列式存储.MPP使用线性增加 ...

  9. android 8.1 安全机制 — SEAndroid & SELinux

    android 8.1 安全机制 - SEAndroid & SELinux 原文链接:https://blog.csdn.net/qq_19923217/article/details/81 ...

  10. VS2017 error CS0234: 命名空间“Microsoft”中不存在类型或命名空间名“Office”问题的一种解决方案

    最近需要使用VS2017编辑C#,但在编译时软件报错:error CS0234: 命名空间"Microsoft"中不存在类型或命名空间名"Office" 在网上 ...