强化学习简单了解

167 阅读12分钟

Elements of Reinforcement Learning

Policy

  • Informs how to act in a particular situation.
  • Set of stimulus-response rules or associations.
  • Can be stochastic.

Reward function

  • Defines the aim of an RL problem.
  • Maps each perceived state(or state-action pair) into a number
  • the goal is the maximize the long-term reward.
  • In biological systems may correspond to pain and pleasure feelings.
  • Can be stochastic.

Value function

  • Shows what it's good in the long run(the reward in an immediate sense).
  • In biological systems corresponds to more refined judgments or foresight about the future from one state.
  • Actions are decided based on value.
  • It's much harder to determine values than rewards.

Optioanlly a model of the environment

  • imitates the environment behaviour
  • can predict states and reward obtained
  • The use of models of the environment is still relatively new.

Exploration vs Exploitation

Exploration/Exploitation Trade-off

  • The greedy action exploits the current knowledge
  • The non-greedy action explores.
  • Exploitation maximases the immediate reward and exploration in the long run.
  • There is a conflict between exploration and exploitation.

Action-value estimation methods

  • 真实动作价值q*(a):这是理想情况下某个动作a的真实价值,表示选择该动作后从环境中获得的期望奖励。可以认为它是目标我们想要估计的真正数值。
  • 估计的动作价值(Qt(a)):这是在第t步时对动作a的价值的估计值。因为真实的动作价值通常不可知,所以我们只能通过经验数据来逐步估计这一值。
  • 简单估计方法:当动作a被选择了Ka次时,简单的估计方法就是将每次选择该动作获得的奖励求平均。这种方法通过历史上的平均奖励来估计动作价值。 截屏2024-10-27 17.33.20.png
  • 当Ka=0时:当动作a从未被选择过时,即Ka=0,没有历史奖励可以用来计算平均值。此时,我们只能用一个任意的初始值来定义 Qt(a),例如可以设置 Qt(a)=0,尽管这不一定是最佳选择。这个初始值的选择可能会影响学习的初期行为,但随着更多数据的积累,其影响会逐渐减小。
  • 当 Ka→∞时:当动作a被选择的次数 Ka趋于无穷大时,估计值 Qt(a)会收敛到真实动作价值 q∗(a) 。换句话说,随着时间的推移,更多的经验累积使得估计值更加准确,从而更接近真实的期望奖励值。

Greedy method 贪心方法

  • 这是最简单的选择动作的方法:选择当前估计价值最高的动作
  • 在贪心策略中,算法总是选择当前认为最优的动作,而不会探索其他可能的动作。

ε-greedy method ε-贪心方法

  • 这是贪心方法的一种改进。大部分时间选择估计价值最高的动作,但偶尔(以小概率 ϵ\epsilon)选择一个随机动作
  • 这种策略增加了探索的机会,有助于发现潜在的更优动作,而不只是依赖当前的估计。
  • 收敛性:在ϵ足够小的情况下,随着 Ka→∞,估计值 Qt(a)会以概率1−ϵ收敛到真实值 q∗(a)。换句话说,随着时间的推移和探索的减少,估计值会逐渐接近真实的动作价值。

Softmax method

  • ε-贪心策略确实在探索和利用之间取得了平衡,但它在所有动作之间平均分配了探索机会,不区分动作的好坏。
  • 这意味着即使某个动作表现特别差,它也可能会在探索阶段被选择,可能导致不必要的浪费。
  • Softmax方法使用一个温度参数temperature parameter来控制动作的选择概率。相比于ε-贪心方法,它能够根据动作的估计价值动态地调整选择概率,而不是简单的随机探索。
  • 高温度:当温度较高时(比如,温度值较大),所有动作的选择概率几乎相等,不管它们的价值差异如何。这种情况鼓励更多的探索,适合在学习的初期使用。
  • 低温度:当温度较低时(温度值较小),不同动作的选择概率差异更大,价值高的动作更有可能被选择。这样可以加大对高估计价值动作的利用,在学习后期更倾向于选择认为最优的动作。

Incremental implementation

简单实现:记录所有奖励

  • 这种方法通过记录每次获得的奖励来计算动作价值的平均值。
  • 问题:随着时间的推移,记录所有奖励的做法会导致内存使用量和计算成本不断增加,因为计算平均值需要回顾所有过去的奖励。

适用于平稳问题的方法

  • 在平稳问题中,即奖励的分布随时间不变,使用所有历史奖励的平均值是合适的,因为这些奖励的期望值不会变化。

非平稳问题中的改进方法

  • 在非平稳问题中,奖励的分布随时间变化,因此更适合给近期的奖励更高的权重,从而反映最新的环境状态。
  • 使用常数步长参数(step-size parameter) α 进行更新:在这里引入一个常数步长 α(0<α≤ 1),通过指数加权平均的方法更新动作价值,使得最新奖励的影响更大。此更新公式通常为: Qt+1(a)=Qt(a)+α(Rt−Qt(a))
  • 这样,动作价值的更新仅依赖当前的估计值和最新的奖励,既减少了计算负担,又能更好适应环境的变化。

The agent-environment interface

  • 任何可以解决强化学习问题的方法都可称为RL方法。这些方法的核心目的是通过反复试验找到最优策略(policy),最大化代理在整个学习过程中的累积奖励。
  • 代理的定义:代理包括两个部分:一个是学习者,另一个是决策者。虽然它们通常结合在一起,但也可以将其分开,比如一个部分学习策略,而另一个部分选择动作。
  • 环境:everything external to the agent that it interacts with 环境是代理之外的所有事物。它可以是一个游戏、一个机器人所处的物理空间,甚至是金融市场。代理根据环境的状态选择动作,环境再根据这一动作给代理反馈奖励。
  • 奖励(Reward) :这是强化学习中的一个关键信号,它用于衡量代理的行动效果,帮助代理评估和优化其策略。奖励是一个数值,通常记为Rt+1∈R,表示代理在时间步t+1所获得的奖励。

状态和动作的表示

  • 状态(State) :表示代理所处的具体情况,记为St∈S,其中S是所有可能状态的集合。
  • 动作(Action) :代理在某一状态下可以选择的行为,记为 At∈A(St),其中 A(St)表示状态St下所有可行的动作集合。

强化学习方法的核心在于根据经验调整策略。在代理从环境中获得奖励后,它会更新自己的策略以增加累积奖励。

Value functions

1. 值函数概述

  • 状态值函数(vπ(s) 或 Vπ(s)) :在给定状态s下,遵循某一策略π时,期望的未来回报(即预期收益)。可以理解为,在某状态下,未来将会获得的最终“收益”。

    • 例如,假设一个机器人当前位于某位置(状态),那么在此状态下遵循策略π将产生的期望回报就是 vπ(s)。
  • 动作值函数(qπ(s, a) 或 Qπ(s, a)) :在给定状态s和动作a下,遵循策略π时,未来期望的收益。这是对特定状态-动作对的价值估计。

    • 例如,如果机器人在状态s下决定采取动作a(例如,继续前行),那么动作值函数 qπ(s,a)表示从状态 s采取动作a后,根据策略π将获得的期望回报。
  • 终端状态的值:如果存在终端状态,那么其值通常定义为0,因为该状态不再有未来的回报。

2. 折扣因子γ

折扣因子 γ 是一个在 [0,1] 之间的常数,用于平衡当前奖励与未来奖励的重要性。若 γ=0,代理仅关注当前奖励;若 γ接近 1,则更关注长期回报。这个折扣因子在实际应用中帮助代理在当前与未来收益之间做出权衡。

3. 值函数的估计与近似

  • 在策略π下,状态值函数Vπ(s)和动作值函数 Qπ(s,a)都可以通过“经验”来估计。这意味着代理在环境中执行若干次试验之后,可以更新这些值函数来更好地表示各状态和状态-动作对的期望回报。
  • 函数近似:在许多实际问题中,状态和动作的空间非常大,使得对每个状态和状态-动作对都保存值函数变得不切实际。因此,常用参数化的函数近似方法来估计 Vπ(s)和Qπ(s,a),例如使用神经网络。

4. 最优值函数和最优策略

  • 最优状态值函数 V∗(s) :定义为从状态s开始、采取最优策略(即能最大化期望回报的策略)时的期望回报。这是代理在状态 s下可能获得的最高收益。
  • 最优策略 π∗:能让代理在所有状态下获得最高期望回报的策略。

在这里,为了简化问题,我们假设每个动作都是确定性的,即执行动作后可以确定到达下一个状态。但是在一些强化学习算法中,这个假设会被放宽。

5. Q-值的计算公式

如何选择某个状态下的最佳动作?这可以通过计算Q-值来实现。Q-值的定义如下:

Q(s,a)=r(s,a)+γV∗(s′)

  • r(s,a) :在状态s下执行动作a的即时奖励。
  • γV∗(s′) :在采取动作a后进入状态s′,未来按照最优策略继续行动所带来的折扣价值。
  • V∗:沿用最优策略所得到的值。
  • s′=δ(s,a) :表示在状态s下采取动作a后的后继状态。

通过此公式,Q-值不仅包含即时奖励,还包含后续状态的折扣值。因此,代理可以选择具有最高 Q-值的动作来获得更高的未来回报。

Temporal difference prediction

1. 时序差分(TD)预测

  • TD方法是强化学习中的核心概念,与Monte Carlo方法不同,TD方法不需要等到一个完整的序列结束就可以更新状态值函数。

    • 在Monte Carlo方法中,只有在序列结束时,代理才能计算期望回报Gt​,因此只有到这一点才能更新状态值 V(St)。
    • TD(0) 是最简单的TD方法,在每一步进行更新,而无需等待序列结束。

2. TD控制

  • TD控制学习的是动作值函数 qπ(s,a)(而非状态值函数),并且可以基于当前策略 π进行估计。
  • 其中,TD方法可以是on-policy基于当前策略off-policy基于不同策略 ,这两种方法通过不同的方式更新值函数。

3. Sarsa:On-Policy TD控制

  • Sarsa算法是基于当前策略(on-policy)的TD控制方法。

    • 每当从非终止状态 StS_tSt​ 转移到下一个状态时,Sarsa会进行更新。
    • 如果 St+1S_{t+1}St+1​ 是终止状态,那么定义 Q(St+1,At+1)Q(S_{t+1}, A_{t+1})Q(St+1​,At+1​) 为零。
    • 更新使用五元组 (St,At,Rt+1,St+1,At+1)(S_t, A_t, R_{t+1}, S_{t+1}, A_{t+1})(St​,At​,Rt+1​,St+1​,At+1​),这也是算法名称“Sarsa”的来源。
    • On-policy方法:Sarsa会持续估计策略 πππ 下的 qπqπqπ 值,并通过基于 qπqπqπ 贪婪地更新策略 πππ。

4. Q学习:Off-Policy TD控制

  • Q学习Q-Learning是一种基于不同策略(off-policy)的TD算法。

    • Q学习通过直接学习动作值函数 QQQ 来逼近 q∗q*q∗,即最优动作值函数,这与所遵循的策略 πππ 无关。
    • Q学习的策略对状态-动作对的访问和更新频率有影响。
    • Cliff Walking问题是常见的测试Q学习性能的实验,其中每一步都有一个奖励为-1,悬崖区的奖励为-100并让代理返回起点。通过这种设置,观察到Q学习会选择快速但冒险的路径,而Sarsa倾向于选择更安全的路径。
    • ε-贪婪策略:Q学习通常用ε-贪婪策略(ε=0.1)以平衡探索和利用。

5. 演员-评论家方法(Actor-Critic Methods)

  • 演员-评论家方法结合了策略近似值函数估计,其中“演员”结构化策略,“评论家”则学习并评价当前策略。

    • 该方法始终基于on-policy,意味着所学策略始终在所执行策略上。
    • 在这种结构中,**演员(actor)选择动作,而评论家(critic)**则根据当前策略提供反馈,更新策略。
    • 由于演员-评论家方法允许连续值动作和随机策略,因此在复杂环境中对决策计算要求较低。
    • 这种方法在心理学和生物学模型中也有较大的借鉴意义。

6. 深度Q网络(Deep Q-Network, DQN)

  • **深度Q网络(DQN)**由Mnih等人于2015年提出,实现了通过深度强化学习达到人类水平的控制。

    • 在49款Atari游戏上测试过,DQN通过Q学习来找到最优路径,但在探索和利用的平衡上,表现会略逊于Sarsa。
    • 如果逐步减少ε值(即减少随机选择动作的频率),Q学习和Sarsa可以逐渐收敛至最优策略。