强化学习一些基本概念
强化学习是除了监督学习和无监督学习的第三种机器学习方法。
- 监督学习(Supervised Learning): 是从外部监督者提供的带标注训练集中进行学习。(任务驱动)
- 无监督学习(Unsupervised Learning):是一个典型的寻找未标注数据中隐含结构的过程。(数据驱动)
- 强化学习(Reinforcement Learning):更偏重于智能体与环境的交互,包括“探索(exploration)”与“开发(exploitation)”之间的折中权衡,智能体必须开发已有的经验来获取收益,同时也要进行试探,使得未来可以获得更好的动作选择空间。 (从错误中学习)
![](https://i-blog.csdnimg.cn/blog_migrate/da9c6ca4fb4c31612824d9d0f71d7990.png)
强化学习的主要角色是智能体(agent)和环境(environment),环境是智能体存在和互动的世界。智能体在每一步的交互中,都会获得对于所处环境状态的观察(有可能只是一部分),然后决定下一步要执行的动作。环境会因为智能体对它的动作而改变,也可能自己改变。
实现过程
假设图1.7中环境当前处于时刻t的状态记为,
智能体在环境中执行某动作,
这时候该动作
改变了环境原来的状态并使得智能体在时刻到达新的状态
,
在新的状态使得环境产生了反馈奖励
给智能体。智能体基于新的状态,和反馈奖励
执行新的动作,
如此反复迭代地与环境通过反馈信号进行交互。
上述过程的最终目的是让智能体最大化累积奖励(Cumulative Reward),公式为累积奖励G:
在上述过程中,如何根据状态st和奖励rt选择动作的规则称为策略。
一些术语
状态和观察
一个 状态 是一个关于这个世界状态的完整描述。这个世界除了状态以外没有别的信息。观察
是对于一个状态的部分描述,可能会漏掉一些信息。
在深度强化学习中,我们一般用 实数向量、矩阵或者更高阶的张量(tensor) 表示状态和观察。比如说,视觉上的 观察 可以用RGB矩阵的方式表示其像素值;机器人的 状态 可以通过关节角度和速度来表示。
如果智能体观察到环境的全部状态,我们通常说环境是被 全面观察 的。如果智能体只能观察到一部分,我们称之为 部分观察。
强化学习有时候用这个符号
代表状态 , 有些地方也会写作观察符号
. 尤其是,当智能体在决定采取什么动作的时候,符号上的表示按理动作是基于状态的,但实际上,动作是基于观察的,因为智能体并不能知道状态(只能通过观察了解状态)。
动作空间
不同的环境有不同的动作。所有有效动作的集合称之为 动作空间。有些环境,比如说 Atari 游戏和围棋,属于 离散动作空间,这种情况下智能体只能采取有限的动作。其他的一些环境,比如智能体在物理世界中控制机器人,属于 连续动作空间。在连续动作空间中,动作是实数向量。
策略
策略 是智能体用于决定下一步执行什么行动的规则。可以是确定性的,一般表示为: :
也可以是随机的,一般表示为 : :
因为策略本质上就是智能体的大脑,所以很多时候“策略”和“智能体”这两个名词经常互换,例如我们会说:“策略的目的是最大化奖励”。
在深度强化学习中,我们处理的是参数化的策略,这些策略的输出,依赖于一系列计算函数,而这些函数又依赖于参数(例如神经网络的权重和误差),所以我们可以通过一些优化算法改变智能体的的行为。
我们经常把这些策略的参数写作 或者
,然后把它写在策略的下标上来强调两者的联系。
运动轨迹
运动轨迹指的是状态和运动的序列。
.
第一个状态,是从开始状态分布中随机采样的,有时候表示为
:
.
状态转换(从某一状态时间,
到另一状态时间
,
会发生什么),是由环境的自然法则确定的,并且只依赖于最近的行动
.它们可以是确定性的:
可以是随机的:
.
智能体的行为由策略确定。
奖励和回报
强化学习中,奖励函数非常重要。它由当前状态、已经执行的行动和下一步的状态共同决定。
有时候这个公式会被改成只依赖于当前的状态, 或者状态行动对
.
智能体的目标是最大化行动轨迹的累计奖励,这意味着很多事情。我们会把所有的情况表示为,至于具体表示什么,要么可以很清楚的从上下文看出来,要么并不重要。
T步累计奖励,指的是在一个固定窗口步数T内获得的累计奖励:
另一种叫做γ折扣奖励,指的是智能体获得的全部奖励之和,但是奖励会因为获得的时间不同而衰减,:
为什么要加上一个衰减率呢?可以从两个角度来解释: 直观上讲,现在的奖励比外来的奖励要好,所以未来的奖励会衰减;数学角度上,无限多个奖励的和很可能 不收敛 ,有了衰减率和适当的约束条件,数值才会收敛。
衰减未来奖励:因为环境的随机性,我们不能确定下次用同样的行动是否能拿到相同的奖励。越遥远的未来,不确定性越大。因此,常用衰减未来奖励来代替确定的未来奖励。
强化学习问题
无论选择哪种方式衡量收益( 步累计奖赏或者
折扣奖励),无论选择哪种策略,强化学习的目标都是选择一种策略从而最大化 预期收益。
讨论预期收益之前,我们先讨论下行动轨迹的可能性分布。
我们假设环境转换和策略都是随机的。这种情况下, 步行动轨迹是:
.
预期收益是 :
强化学习中的核心优化问题可表示为:
是最优策略。
值函数
知道一个状态的 值 或者状态行动对(state-action pair)很有用。这里的值指的是,如果你从某一个状态或者状态行动对开始,一直按照某个策略运行下去最终获得的期望回报。几乎是所有的强化学习方法,都在用不同的形式使用着值函数。
这里介绍四种主要函数:
同策略值函数:,从某一状态
开始,之后的每一步行动都按照策略
执行
同策略行动-值函数:,从某一个状态
开始,先随便执行一个动作
(有可能不是按照策略走的),之后每一步都按照固定策略执行
最优值函数:,从某一状态
开始,之后每一步都按照最优策略
执行
最优行动-值函数:,从某一状态
开始,先随便执行一个动作
(有可能不是按照策略走的),之后每一步都按照最优策略执行
动作价值函数和状态值函数相似,只是状态价值函数没有强调动作。
状态价值函数和动作价值函数之间的关系
关系1
关系1的推导基础:①状态价值函数的定义;②动作价值函数的定义。推导过程:
关系2
关系2的推导基础:①动作价值函数的定义;②回报的定义;③奖励函数的定义;④状态价值函数的定义。推导过程如下: