强化学习Chapter1——基本认识

强化学习Chapter1——基本认识

一句话概括强化学习(RL,reinforce learning):强化学习是通过对某个主体的行为来进行奖励或者惩罚,从而使其在未来更可能重复或者放弃某个行为。(倒有点“培养小学生养成良好的学习习惯”那味了......)

从基本概念谈起

1、框架表征:State,Reward,Action

../_images/rl_diagram_transparent_bg.png

对文首所言进行形式化定义,需要提出 agent 和 environment 的概念。行为主体称之为 agent,而给予奖惩反馈的主体统称为 environment。进一步定义有关二者交互的元素:

  • State:表征 environment 的状态,这是一个较为宽泛的概念,实际中常常以 Observation 代替。譬如训练电脑(agent)控制机器人(environment)的项目中,机器人运动过程中的诸多观测值可以用来表征其所处状态。
  • Reward:行为的奖惩,是 enviroment 对 agent 行为的反馈。
  • Action:agent 的行为,对 environment 的变化产生影响。Action 是指环境所允许的行为,譬如象棋所规定每个子的走向。所有 action 构成 action space。

在上图中,这三个概念分别用 st,rt,at 表征,因为 agent 和 environment 往往会规律性进行周期交互,所以可以加一个下标 t 表示交互的周期或者轮次。如果你了解状态机的话,会发现强化学习的框架与状态机较为十分相似。

强化学习的优化目标与优化的参数对象是多样性的,在后文中会逐步引出。

2、策略 Policy

Policy is the brain of agent

策略决定 action。根据环境所处 State 及上次所得的 Reward,agent 需要做出下一个 action,而 Policy 就是如何做出下一个 action 的关键。

策略大致上可分为两种:确定性策略(deterministic)和随机性策略(stochastic),而这两种策略的表征如下:

策略 公式 说明
Deterministic Policy at=μ(st)
Stochastic Policy atπ(·|st) at 是服从这样一个分布的,最终 at 的获取,是通过在 π 分布(一个概率向量logits)中采样得到的

需要解释的是,这里的策略都是依据给定参数 st 即当前环境的状态所决定的,但是根据上图其实可以看出,Action 还与 Reward 有关。事实上,Reward 在做出决策前就已经使用了——在做出上一个 Action 后,所得 Reward 会参与调整策略。所谓策略,参数化后不过是一个函数,不管是 μ 还是 π 都是系列参数表征的函数而已,Reward 会参与这些参数的调整,从而调整策略。因此,上述的两种策略常常被写作:μθ(st)πθ(|st).

3、轨迹Trajectories

轨迹的概念根据其形式很容易理解:

τ=(s0,a0,s1,a1,...).

即轨迹为一系列状态和动作的序列。在有一个明确策略的前提下,从一个初始状态(一般是从状态集中随机采样)可以导出系列后续的动作和下一状态。状态转移可以简单表示为:

st+1=f(st,at)

当然环境状态的迁移,也不一定是确定的,因此在某些情形下也可以写成

st+1P(|st,at)

Trajectories are also frequently called episodes or rollouts.

可以看出,这里的下一状态仅从当前状态出发,即状态的变化没有显式的记忆,不会受到当前状态之前的状态影响,这一性质也被称为马尔可夫性质。

4、奖励和回报 Reward and Return

在前面提到过 Reward 但没有给出详细的数学表征,不过从上图也可以大致看出,Reward 实际上是一个 atst 的函数,即与当前状态以及当前做出的动作有关:

rt=R(st,at)

但根据策略的公式可以看出,当前动作 at 实际上是在 Policy 下的 st 的函数,因此这个式子也可以简化为:

rt=R(st)

PS:实际上,rt 还应当与下一状态 st+1 有关,因为迁移到不同的状态,显然 Reward 应当不同,但由于 st+1 也可由当前状态和当前动作决定的,因此该变量也可以略去。

如上所述,Reward 只是单步交互所得的奖惩,但强化学习的初衷是长期的,强化学习的目标可以解释为:在一个 Trajectories 中积累的 Reward 尽可能高。这就引出了回报(Return),来表征奖励的积累。顾名思义,奖励的积累可以简单的写成

R(τ)=t=0Trt

即有限步内的期望累计值。这里只能是有限步,因为这个级数的收敛性未知,如果 T= 那么回报就很难作为模型更新的指标了。另一种更为先进的表征方法,是带遗忘因子的回报:

R(τ)=t=0γtrt.

其中,γ (discount factor) 使得该级数具有一定的收敛性(可通过压缩映射理论进行证明),同时直观体现了回报的“遗忘”特性——回报更多关注于当下的 Reward。

While the line between these two formulations of return are quite stark in RL formalism, deep RL practice tends to blur the line a fair bit—for instance, we frequently set up algorithms to optimize the undiscounted return, but use discount factors in estimating value functions.

Reference:

posted @   tsyhahaha  阅读(164)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示