强化学习学习总结

 

摘要:

在本学期的强化学习课程上,我们比较系统的学习了强化学习的历史发展沿革、相关算法、以及如何在实际过程中运用强化学习的相关知识帮助我们解决问题,本课程报告将对本课程所学习到的内容进行总结并汇总成报告。

强化学习介绍和发展:

        强化学习(Reinforcement Learning, RL),又称在鼓励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境(environment)交互过程中通过学习策略以达成回报最大化或实现特定目标的实现[]。智能体和环境交互而产生一系列反应最终获得目标状态(state),我们能够联想到生物学中的生物的反馈调节,生物通过与外界或自身内环境的交互刺激或抑制自身对某个状态发展的可能性,从而帮助生物更好地生存。RL这种根据反馈进行学习地思想很早就被人们发现,而且心理学家Edward Thorndike在19世纪10年代将这一现象总结为“效应定律”(Law of Effect)[],在这之后地“巴甫洛夫的狗”实验对条件反射地实验过程中,巴甫洛夫开始使用“强化”一词。

        基于生物方面的研究在很多时候往往能够为计算机的发展提供新思路,新方法。人工智能之父图林在1948年的报告Intelligent Machinery中提出了类似的观点[]。通过不断试错决定机器的状态是停止试探还是保持试探。这一试错方法与“最优控制理论”非常类似,基于此,贝尔曼(R Bellman)于1955年提出了最优控制问题的离散随即版本,并使用马尔可夫决策过程(Markov Decision Process, MDP)进行描述[],在贝尔曼之后,Ronald Howard在1960年开发出了MDP的策略迭代方法,无数前人的钻研,为我们现在的强化学习研究奠定了坚实的基础。

        通过这以上对强化学习的介绍,我们能对强化学习的研究方向和研究目标有一个大概的了解。接下来我将结合课堂所学的知识,对强化学习部分内容进行总结和概括。

强化学习的基本结构和分类:

        在正式学习强化学习之前,我们除了需要了解强化学习发展的历史脉络,我们也需要了解强化学习的知识组成体系。

        首先,我们以及知道了强化学习是一类方法的统称,是机器学习这一大类中某一类方法。我们在机器学习的学习过程当中学习了有监督学习和无监督学习。我们需要认识到有/无监督学习和强化学习是不同的,前者的目标是在训练数据集上通过优化目标函数来学习模型参数,学习完后对未来进行预测;但是强化学习往往没有固定的数据集,需要通过不断试错来学习最优策略,目标是积累奖励最大化,通过不断地学习逐渐找到最优策略。

        强化学习和人类大脑学习的过程非常类似,智能体(agent)在某种状态(state),依据某种策略(policy)做出某种动作(action),环境(environment)会更具action做出反馈(reward),其中{state, action, policy, reward}为强化学习四要素,通过智能体和环境的不断交互所获得的reward,逐渐优化policy,以求整个过程获得最大的收益。

强化学习基本结构

类似有监督学习算法根据是否使用神经网络分为传统机器学习和深度学习算法,根据是否线性分为(非)线性算法,强化学习也可以根据看待问题不同的角度分为多种算法。

  • 待建模型是否确定可分为model-basedmodel-free算法;
  • 是直接输出动作还是输出动作价值分为policy-basedvalue-based
  • 是每次action-reward都更新策略还是在一个交互结束之后在进行策略更新分为   回合跟新策略(Monte-Carloupdate, MC)和单步跟新(Temporal-Difference update,   TD);
  • 根据策略更新于策略决策是否一致分为on-policyoff-policy.

当然我们需要认识到强化学习的方法分类是比较灵活的,同一个算法可以归属到多种分类方法当中去。

强化学习具体内容学习:

一、K臂老虎机问题(Multi-Armed Bandits Problem)

        了解多臂老虎机是强化学习入门非常好的案例,多臂老虎机是指代一系列问题,通常的表现形式是:

K 个不同选项或动作之间的选择, 每个选择对应固定概率分布中选择的数值奖励,目标:在某个时间段内最大化期望总奖励。

        此时,在这K个动作当中每个动作都有一个 expected 或 mean reward,即在选择该动作时的 value。我 们将时间步骤 t 上选择的行动表示为 At,相应的奖励表示为 Rt。然后,任意动作 a 的值,标记为 q(a),是给定选择 a 时的期望奖励:

q∗(a) ≐E[Rt |At = a]

        如果我们知道每个动作所对应的value,那么多臂老虎机的最优策略可以很轻易地知道:总是选择value中最高的动作就可以了。

        当然,value固定的情况在我们实际生活当中几乎不可能出现,更多的时候,每一次选择都会有一个关于reward的概率分布R,每次选择一个拉杆,就可以从这个拉杆对应的概率分布中获得一个奖励r,在在各根拉杆的奖励概率分布未知的情况下,从头开始尝试,目标是在操作 T 次拉杆后获得尽可能高的累积奖励。

        以上的问题可以抽象表述为:当然我们先假设所有的选项独立分布,不同的选择之间不会产生影响,每个选项在选择过后,其自身的概率分布不会发生变化。我们是在众多的选项(杆)中做出选择,因此,我们可以将这些选项(杆)综合为一个动作空间:A = {a1, a2, ... , aK},做出相应的选择后就会获得收益,在经过T次后,期望能够获得最大的收益。我们可以将这一过程总结成一个函数:

                                      

        在一系列的有限操作之间,由于我们不知道每个动作的value,我们只能进行估计,这就要求学习强化学习之前大家需要有一定的数理与概率论等方面的知识。在经过一系列计算后,机器会知道每个选项拉动一次会获得的期望收益,而如何通过决策选择能够使得最终期望最大是值得大家不断研究和探索的,本报告将简单介绍一种决策算法:

  1. ε - greedy贪心算法

        总是利用当前知识来最大化即时奖励;它完全不花时间去采样开起来较差的动作,以查看它们是否可能真的更好。一个简单的替代方法是大部分时间都贪婪地动 作,但偶尔以较小的概率 ϵ 随机从动作空间中等概率的随机选择一个动作。

  • 对于动作a,其真实价值为q*(a),第t次动作时,估计价值为Qt(a)
  • 通过对实际收到的收益进行平均估计。假设t次动作前,动作a被选择了ka次,分获奖励为r1, r2, ... , rka. 此时,我们可以获得Qt(a)的估计价值为:

其中,若ka = 0,则可以定义Qt(a) = 0;随着ka → ∞,根据大数定律,Qt(a) 将收敛到q*(a)

  • 选择动作的贪心策略:选择具有最大估计价值的动作:

                                                                       At ≐argmaxaQt(a)

二、马尔可夫决策过程(Markov Decision Process, MDP)

我们需要先了解马尔可夫性质,即给定一个过程当前状态及历史的所有状态,其未来状态仅仅以来于当前状态,与历史状态无关,具有这种现象的,我们称之为马尔可夫性质。

RL的本质上是在解决时序上的决策问题,但是在现实生活当中,我们在t时刻所处环境的状态收到该时刻之前许多时刻的状态影响,这导致我们想要建立一个对应的模型几乎是不可能实现的,这太复杂了,所以为了方便人们研究,个体可以通过构建MDP来描述整个RL决策过程,大大的降低了模型复杂度。

假设我们现在拥有一个连续的时间轴,上面有很多时刻,且所有时刻对应的状态都具有马尔可夫性质,那么我们可以认为该时间轴对应的整个过程具有马尔可夫性质,具备了马尔可夫性质的随机过程称为马尔可夫过程(Markov Process),又称马尔可夫链(Markov Chain),简而言之,就是事件发生的整个过程,每个时刻的状态只和该时刻的上个时刻的状态有关。我们可以使用元组<S, P>描述一个马尔可夫过程,其中S是有限数量的状态机和,P是状态转移矩阵(state transition matrix)。

假设共有n个状态,此时S = s1, s2, ... sn,则P定义了所有状态之间的转移概率,即:P

p(s1|s1)

p(s1|s2)

...

...

p(s1|sn)

p(s1|s2)

p(s2|s2)

...

...

p(s2|sn)

...

...

...

...

...

p(s1|sn)

...

...

...

p(sn|sn)

马尔可夫过程示意图

        从马尔可夫过程给定的状态概率矩阵生成一个状态序列的过程称为采样(Sample),采样一系列的状态转换过程称为状态序列(Episode)。

        进一步的,我们可以将奖励加入到马尔可夫过程,便获得了马尔科夫奖励过程(Markov Reward Process),可以使用一个元组<S, P, R, γ>,R代表了奖励函数,γ代表了衰减因子,我们要注意到如果没有特殊说明,γ一般取值在0-1之间。通过这个元组中所具有的信息,我们需要求“回报”,即在一个马尔可夫过程当中奖励汇总,从t时刻,状态St开始,直至最终状态,所有奖励(Rt+1, Rt+2, Rt+3, ...,)的衰减之和统称为回报 Gt (Return),我们可以获得公式如下:

        需要注意,Rt+1代表的是t时刻获得的奖励。我们只需沿着马尔可夫过程在其基础上添 加奖励函数,即可构成一个马尔科夫奖励过程。如下图:

马尔科夫奖励过程

        我们将马尔可夫过程当中对应的转移概率改为从某状态到另一状态的奖励,我们就可以获得马尔可夫奖励过程的转移矩阵,上图的转移矩阵我们可以轻易的写成:

我们现在知道这么多的信息,那该怎么操作能够获得每个节点的期望回报呢?

MRP中一个状态的期望回报(即从这个状态出发的未来累积奖励的期望)被

称为这个状态的价值(value),所有的状态的价值就组成了价值函数(value function), 记作:

v(s) ≜E[Gt|St = s]

这个公式可以加以展开,能更好的理解该公式:

上述公式即为MRP的贝尔曼递归方程(Bellman equation),由于篇幅有限,本报告不对贝尔曼方程做进一步的解读。贝尔曼方程的使用可以很方便的求最优解。可以参考Bertsekas, D. P. (1976). Dynamic Programming and Stochastic Control. Academic Press, Inc.

        如何求解MDP?我们可以使用价值迭代(Value Iteration)或者策略迭代(Policy Iteration)求解MDP

ⅠValue Iteration:是一种求解最优策略的方法,价值迭代的算法思想是:遍历 环境中的每一个状态,在每一个状态下,依次执行每一个可以执行的动作,算 出执行每一个动作后获得的奖励,即状态-动作价值,当前状态的价值即为当 前状态下的最大状态-动作价值。重复这个过程,直到每个状态的最优价值不 再发生变化,则迭代结束。迭代算法如下:

ⅡPolicy Iteration:是动态规划中求最优策略的基本方法之一。 它借助于动态 规划基本方程,交替使用“求值计算”和“策略改进”两个步骤,求出逐次改 进的、最终达到或收敛于最优策略的策略序列。迭代算法如下:

三、蒙特卡洛采样(Monte Carlo Sampling, MC)

MC:从概率分布中随机抽取样本,从而得到分布的近似。MC是一种模拟算法,通过大量反复实验,每个样本是实际情况的近似模拟,用有限次模拟替代所有可能性。大大降低了模型复杂性。因此,我们发现了,蒙特卡洛采样是对问题的估算,而不是精确计算,这是MC的优势,但是也代表了如果使用的模型模拟不精准,数据不准确,会导致非常巨大的错误。

我们可以将MC分成两种

1. 首次访问型(First-visit):只统计每个状态首次被访问时的状态价值;

这是首次访问型的伪代码算法的基本思路就是首先生成一系列采样序列,遍历每一个采样序列,从最后一时刻向后遍历状态,并将首次访问的状态统计起来,最后将所有采样序列的状态价值计算均值。其中“For each state s apperaing in the episode”表示的是状态s已出现在这个序列中,即只计算第一次出现在这个序列中对应的价值。另外这里一般采用增量式实现。

MC预测问题——增量计算:

使用增量计算是为了解决状态价值计算时存在的存储空间浪费问题。

2. 每次访问型(Every-visit):统计每个状态所有被访问后产生的状态价值。一般来说,常用首次访问型方法,因为其可以比较快速的收敛,而对于每次访问型,因为同一个状态不同时间点不一定是独立的,虽然实验显示也会收敛,但速度会比较慢。

四、动态规划(Dynamic Programming, DP)

在我们遇到一下两个性质时,我们可以考虑使用动态规划来求解

  1. 一个复杂问题的最优解由数个小问题的最优解构成,可以通过寻找子问题的最   优解来得到复杂问题的最优解;
  2. 子问题在复杂问题内重复出现,使得子问题的解可以被存储起来重复利用。

我们已经知道了马尔可夫决策过程需要解决的问题有两种:

  1. 预测(prediction):对给定策略的评估过程。已知一个马尔科夫决策过程以及策略, 目标是求解基于该策略的价值函数 vπ ,即处于每个状态下能够获得的奖励(reward) 是多少。
  2. 控制(control):寻找一个最优策略的过程。已知一个马尔科夫决策过程但是策略 未知,求解最优价值函数 v∗ 和最优策略π ∗ 。

动态算法的核心就是用值函数构建对最优策略π ∗的搜索,若最优数值v*和q*已 知,就能获得最优策略π*。其中v*和q*满足以下公式:

策略评估(Policy Evaluation):

强化学习中的策略评估是指评估一个策略在给定环境下的表现好坏程度。在强化学习中,策略是指智能体在不同状态下选择动作的方式。策略评估通常包括以下几个步骤:

Ⅰ定义回报函数(Reward Function):回报函数定义了智能体在每个时间步的   奖励或惩罚。这可以是环境提供的直接反馈,也可以是根据智能体目标定义   的。

Ⅱ选择评估方法:评估策略的方法有很多种,包括蒙特卡罗方法、时序差分学   习等。每种方法都有其适用的场景和优缺点。

Ⅲ采样:采样是指在环境中执行策略,收集样本数据以评估策略的性能。这可   以是在真实环境中执行,也可以是在模拟环境中进行。

Ⅳ计算期望回报:使用采样的数据,计算策略在给定环境下的期望回报。这通常涉及到对采样得到的回报进行加权平均。

Ⅴ收敛性检验:评估策略的性能是否收敛到最优解,或者是否满足停止条件。

通过策略评估,智能体可以了解其在当前策略下的预期表现,从而进一步决定是否需要改进策略或者采取其他行动。

  1. 初始化价值函数:将所有状态的价值初始化为任意值,可以是零或随机值。
  2. 迭代更新:重复以下步骤直至收敛,对于每个状态s,计算其新的估计值    V(s),通常使用贝尔曼方程Bellman Equation:

V(s)=aπ(as)s,rp(s,rs,a)[r+γV(s)]

其中,π(a|s) 是策略 π 在状态 s 下选择动作 a 的概率,p(s',r|s,a)  是状态转移概率,r 是奖励,γ 是折扣因子。

更新价值函数V(s)以反映新的估计值

      3. 收敛性检验:检查价值函数的变化是否小于某个预先定义的阈值,如果是,    则认为算法收敛,停止迭代;否则,继续迭代更新。

      4. 输出策略:在价值函数收敛后,可以根据最终的价值函数输出最优策略。    最优策略是指在每个状态下选择能够获得最大期望回报的动作。

五、时间差分学习(Temporal-Difference Learning)

时间差分学习(Temporal Difference Learning)是强化学习中一种基于状态的学习方法,结合了动态规划和蒙特卡罗方法的优点。时间差分学习不需要完整的轨迹,而是在每个时间步根据当前的奖励和估计的未来奖励进行学习。

以下是时间差分学习的基本原理和步骤:

状态值函数估计:时间差分学习旨在估计状态值函数(State Value Function),   即在给定策略下,每个状态的长期回报的估计值。

贝尔曼更新:在时间差分学习中,利用贝尔曼方程的迭代形式来更新状态值函数。   对于状态 s,其值的更新规则为:

V(s)←V(s)+α(r+γV(s)−V(s))

其中,α是学习率(通常称为步长),γ是当前时间步的奖励,γ是折扣因子,V(s′)是下一个状态的估计值。

策略改进:时间差分学习也可以用于直接估计最优策略。在每个时间步,根据估   计的状态值函数,智能体可以选择采取的动作,从而不断改进策略。

收敛性:时间差分学习在适当的条件下可以收敛到最优策略或最优状态值函数,   但其收敛性取决于学习率和折扣因子的选择,以及状态空间的大小和探索策略的      设计。

Q-learningQ-learning 是时间差分学习的一个重要变体,用于估计动作值函数    (Action Value Function)。Q-learning 的更新规则类似于上述的状态值函    数更新,但是直接估计了每个状态-动作对的价值。

时间差分学习具有许多优点,包括对于大型状态空间的扩展性好、不需要完整轨迹 的存储、可以在线学习等。它在强化学习中得到了广泛的应用,并且是许多经典算 法的基础,如Q-learningSARSA

六、策略梯度(Policy Gradient)

策略梯度是一种用于优化策略参数的方法,其目标是最大化(或最小化)期望回报。 在强化学习中,策略梯度方法直接学习策略函数的参数,而不是通过值函数间接地 学习策略。

以下是策略梯度方法的基本原理和步骤:

定义策略参数化形式:首先,需要定义一个可微分的策略函数,通常使用神经网络或其他参数化模型来表示。这个策略函数接受状态作为输入,并输出选择每个动作的概率分布。

定义目标函数:目标函数通常是策略的期望回报,可以表示为:J(θ)=Eπθ​​[R]

其中,θ 是策略参数,πθ 是使用参数 θ 的策略,R 是在执行策略 πθ 下的累积回报。

计算策略梯度:利用策略梯度定理,可以计算目标函数关于策略参数的梯度,即策略梯度。

更新策略参数:利用计算得到的策略梯度,可以使用梯度上升(或梯度下降)方法更新策略参数:θθ+αJ(θ)其中,α 是学习率,控制每次更新的步长。

策略改进:重复上述步骤,不断更新策略参数,直到达到预定的停止条件或收敛。

策略梯度方法具有一些优点,如直接优化策略、对高维、连续动作空间的适用性好等。它们通常用于解决连续动作空间和高维状态空间下的强化学习问题,如机器人控制和自然语言处理等领域。

学习心得:

强化学习是一门非常有趣而又具有挑战性的领域,它涉及到智能体在与环境的交互中学习如何做出最优的决策。在我看来,强化学习有以下几个重要的心得体会:

Ⅰ探索与利用的平衡:在强化学习中,探索新的行为是非常重要的,因为这有助于   智能体发现更好的策略。然而,过度探索可能会导致长期的性能下降。因此,探       索与利用之间需要进行平衡,这是一个很有挑战性的问题。

Ⅱ重视环境建模:准确地对环境进行建模是成功应用强化学习的关键。环境模型可   以是确定性的,也可以是随机的。在很多情况下,智能体需要通过与环境的交互   来学习环境的模型,这就需要一些探索性策略。

Ⅲ奖励设计的重要性:设计合适的奖励函数对于强化学习的成功至关重要。奖励函   数应该能够准确地反映智能体所追求的目标,并且要具有良好的可解释性和可调     节性。

Ⅳ算法选择与调参:在实际应用中,选择合适的强化学习算法非常重要。不同的问   题可能需要不同的算法和技术。此外,调整算法的超参数也是一个重要的任务,   通常需要通过实验来确定最佳的参数设置。

Ⅴ持续学习与迁移学习:强化学习不仅仅是在静态的环境中进行学习,它还可以     适应动态的环境变化。持续学习和迁移学习是强化学习中一个非常有意思的方 向,它可以使智能体在不断变化的环境中持续改进自己的策略。

总的来说,强化学习是一个非常有趣且充满挑战的领域,它不仅提供了丰富的理论基础,还能够解决许多实际的复杂问题。通过不断地学习和实践,我相信我们可以在强化学习领域取得更多的进展和成就。

[1] 百度百科. 强化学习[OL]. [2024-4-20]

强化学习(学习方法)_百度百科

[2] Catania, A. C. (1987). Some Darwinian lessons for behavior analysis. A review of Peter J.

Bowler's The Eclipse of Darwinism. Journal of the Experimental Analysis of Behavior, 47, 249–257.

[3] Turing A M. Intelligent Machinery[J]. 1948

[4] Bellman R. A Markovian decision process[J]. Journal of mathematics and mechanics, 1957: 679-684.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值