强化学习的学习之路(一)_2021-01-01: 强化的来源、强化学习的基本概念、强化学习与监督学习、进化学习的区别

作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!

强化概念的来源

在动物学习背景下,“强化”这个术语在Thorndike表达效力定律后得到了很好的应用。 在1927年巴甫洛夫关于条件反射的专著的英文译本中,首先出现在这种背景下: 巴甫洛夫将强化描述为由于动物接受刺激 - 一种强化剂 - 与另一种刺激或反应有适当的时间关系而加强行为模式。 一些心理学家将强化的观点扩展到包括削弱和加强行为,并扩展强化者的想法,包括可能忽略或终止刺激。 要被认为是增强剂,强化或弱化必须在强化剂被撤回后持续存在;仅仅吸引动物注意力或刺激其行为而不产生持久变化的刺激物不会被视为强化物。

强化学习的基本概念

在这里插入图片描述

强化学习是指与复杂、不确定的环境进行交互时,最大化从环境获得的累计奖励的一种方法。

强化学习和监督学习的差别
  • Sequential data as input (not i.i.d)

    (输入的是时序的数据而不是像监督学习那样输入的数据满足独立同分布的要求)

  • The learner is not told which actions to take, but instead must discover which actions yield the most reward by trying them.

    (没有一个“监督者”,只有通过奖励信号来判断应该采取哪个动作)

  • Trial-and-error exploration (balance between exploration and exploitation)

    (探索与利用之间的平衡)

  • The data used to train the agent is collected through interactions with the environment by the agent itself (compared to supervised learning where you have a fixed dataset for instance). This dependence can lead to vicious circle: if the agent collects poor quality data (e.g., trajectories with no rewards), then it will not improve and continue to amass bad trajectories.

    (训练智能体的数据是智能体自身和环境交互得到的,而不像监督学习那样一开始有一个固定的数据集,这样就可能带来一个恶性循环:如果智能体收集到一些很差的数据,比如一些奖励为0的轨迹,那么智能体通过这些数据可能得不到提升,进一步地智能体又采集到一些质量很差的数据,陷入恶性循环)。

  • 具有超人类的上限:传统的机器学习算法依赖人工标注好的数据,从中训练好的模型的性能上限是产生数据的模型(人类)的上限;而强化学习可以从零开始和环境进行不断地交互,可以不受人类先验知识的桎梏,从而能够在一些任务中获得超越人类的表现,比如AlphaGo、AlphaZero的表现就超越了人类。

  • 延迟性:得到的结果很可能延迟于我们做出决策一段时间,有些糟糕的影响并不完全因为当前的决策错误导致的,可能由于前面某一个步骤造成了一个不可逆的错误。

  • 非监督的:我们通常只得到reward signal。奖励信号并非真的奖励,只是每次学习的反馈。每次系统的action只能得到代表这次行为的好坏的标量,比如是10 points,但是我们不知道他的最好的值是多少,就可以理解为一个老师给你打了10分,你其实不知道这是百分制的10分还是十分制的10分。一般认为正的奖励是好的表现,分值越多越好。

进化策略与强化学习

进化策略(Evolution Strategies, ES)反复迭代调整一个正态分布进行搜索来优化算法,是一种无梯度随机优化算法。进化策略中迭代的正态分布一般写成 N ( m t , σ t 2 C t ) , N\left(m_{t}, \sigma_{t}^{2} C_{t}\right), N(mt,σt2Ct), 包含三个参数 m t , σ t , C t m_{t}, \sigma_{t}, C_{t} mt,σt,Ct 。正态分布的参数所起的作用为:

  • m t m_{t} mt 均值,决定分布的中心位置; 在算法中,决定搜索区域。
  • σ t \sigma_{t} σt 步长参数, 决定分布的整体方差(global variance); 在算法中,决定搜索范围的大小和强度。
  • C t C_{t} Ct 协方差矩阵,决定分布的形状; 在算法中决定变量之间的依赖关系,以及搜索方向之间的相对尺度(scale)。

ES算法设计的核心就是如何对这些参数进行调整, 尤其是步长参数和协方差矩阵的调整, 以达到尽可能好的搜索效果。对这些参数的调整在ES算法的收敘速率方面有非常重要的影响。一般的, ES调整参数的基本思路是, 调整参数使得产生好解的概率逐渐增大(沿好的搜索方向进行搜索的概率增大)。
进化策略在搜索中反复迭代以下步骤:

  1. Sampling: 采样产生一个或者一组候选解(candidate solutions);

  2. Evaluation:对新产生的解计算对应的目标函数值;

  3. Selection:依据目标函数值选择部分或者全部解;

  4. Update:使用选择的解更新分布参数。
    在进化算法中,一次完整的迭代称为一代 (generation),一个候选解称为一个个体,计算目标计算目标函数值的过程称为评估。每次迭代产生的新的候选解称为子代(offspring),通过选择得到的用于产生子代的解称为父代(parent)。

如下图所示:

preview

进化采取大量静态策略,每个策略在扩展过的较长时间内与环境的一个独立实例进行交互,然后选择最多收益的策略及其变种来产生下一代的策略,然后继续循环更替,它在单个个体的生命周期内不进行学习,它没有利用强化学习中这种交互的特性,其实更像是一种策略搜索

为了评估策略,进化方法保持策略固定并且针对对手进行多场游戏,或者使用对手的模型模拟多场游戏。 胜利的频率给出了对该策略获胜的概率的无偏估计,并且可用于指导下一个策略选择。 但是每次策略进化都需要多场游戏来计算概率,而且计算概率只关心最终结果,每场游戏内的信息被忽略掉了。例如,如果玩家获胜,那么游戏中的所有行为都会被认为是正确的,而不管具体移动可能对获胜至关重要。 甚至从未发生过的动作也会被认为是正确的!相反,值函数方法允许评估各个状态。

最后,进化和价值函数方法都在搜索策略空间,但价值函数学习会利用游戏过程中可用的信息。

上一篇:强化学习的学习之路(零)_2021-00-00:目录

下一篇:强化学习的学习之路(二)_2021-01-02:强化学习中的基本概念

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值