您的位置:首页 > 游戏 > 游戏 > 游戏代理平台免费版_工程报价_产品推广的渠道_手机网站

游戏代理平台免费版_工程报价_产品推广的渠道_手机网站

2025/5/24 20:23:29 来源:https://blog.csdn.net/wgc2k/article/details/147529273  浏览:    关键词:游戏代理平台免费版_工程报价_产品推广的渠道_手机网站
游戏代理平台免费版_工程报价_产品推广的渠道_手机网站

什么是强化学习

简介

真正的强化学习,直到去年之前,在商业应用中都还没有作为主流热起来,但在机器学习领域中有着强大的研究支持并不断发展。

前八篇基本只是学习强化学习的开胃菜无监督学习,本篇开始讲具体的强化学习应用。这一篇没代码和太复杂的数学。

先用一个直升机模型的案例熟悉一下什么是强化学习。

自主直升机案例

  • 直升机的装备与任务:以一架约 30 磅重、配备电脑、GPS、仪表、陀螺仪和磁罗盘的自主直升机为例,其能准确知晓自身位置。任务是根据直升机每秒 10 次反馈的位置、方向、速度等信息,决定如何移动控制杆以保持平衡飞行。无线电控制直升机较难飞行和保持平衡。
  • 强化学习的应用成果:在算法控制下可以学会倒立飞行以及进行各种特技飞行(特技飞行动作)。通过强化学习,直升机能够根据自身状态(位置、方向、速度等称为状态 s)决定相应动作(如何移动控制杆,称为动作 a),以保持平衡飞行且不坠毁。

与监督学习的对比

尝试使用监督学习来控制自主直升机飞行不是一个好方法。监督学习需要获取一堆状态观察结果,并由专业人类飞行员告知最佳动作,然后训练网络学习从状态 s(用 x 表示)到动作 a(用 y 表示)的映射。但直升机在空中飞行时,很难确定确切的正确动作,比如控制杆转动程度、直升机压力增加程度等,难以得到准确的状态与动作数据集,所以监督学习在控制直升机等机器人方面效果不佳,转而使用强化学习。

奖励函数

  • 奖励函数的类比:将奖励函数类比为训练小狗。训练小狗时,当它做了好事说 “好狗”(给予正面反馈),做了坏事说 “坏狗”(给予负面反馈),让小狗自己学习多做好事、避免做坏事。强化学习中也是如此,当直升机飞行状态好时说 “好直升机”(给予奖励),状态不好或坠毁时说 “坏直升机”(给予惩罚),让直升机学习如何获得更多奖励、避免惩罚。
  • 奖励函数的作用与灵活性:强化学习强大之处在于只需告诉它要做什么(设定目标),而非怎么做(具体动作)。通过指定奖励函数,而非具体动作,在设计直升机飞行系统时具有更高灵活性。例如,飞行状态好每秒给予奖励 + 1,飞行状态不好给予负奖励,坠毁给予很大的负奖励(如 - 1000),激励直升机更多地保持良好飞行状态,避免坠毁。

更多领域实例

  • 机器狗训练:使用强化学习(好狗、坏狗的方法)训练机器狗克服障碍。机器狗通过强化学习,以向屏幕左边移动获得奖励为目标,自动学会了如何定位、小心移动或爬过各种障碍,这些动作不是人为直接告知的,而是机器狗通过奖励激励自行计算得出。
  • 其它应用领域:强化学习已成功应用于多种领域,包括控制机器人(如本周实践实验室中要实现强化学习算法模拟月球着陆器着陆)、工厂优化(重新安排工厂工作以最大化产量和效率)、金融股票交易(如合理安排股票卖出顺序以获得最佳价格)以及游戏(跳棋、国际象棋、桥牌、围棋以及许多电子游戏)。

总结

强化学习不像监督学习使用那么广泛,但在一些应用中发挥着作用。其关键在于无需告知算法每个输入的正确输出,只需指定奖励函数来表明何时做得好、何时做得不好,算法会自动找出如何选择好的行为。

火星车的例子

简化例子

为了讲解强化学习形式,直升机或机器狗这类过于复杂。这里采用一个受火星车启发、改编自斯坦福大学的例子。作者是艾玛・普罗斯基教授和杰克・瑞蒂・阿戈威尔参与,这个例子有助于理解强化学习。

漫游者的状态设定

在这个应用中,漫游者可以处于六个位置(用六个方框表示),这六个位置在强化学习中被称为状态,分别为状态一、状态二、状态三、状态四、状态五、状态六,假设漫游者从状态四出发。

漫游者的任务与奖励设定

  • 任务:火星车被送往火星执行不同科学任务,如使用传感器(钻头、雷达、光谱仪等)分析岩石,或在不同地方拍照供地球上的科学家研究。
  • 奖励:状态一有非常有趣的表面,科学家希望机器人采样,奖励为 100;状态六也有有趣表面但不如状态一,奖励为 40;中间其他状态因没有太多有趣科学可研究,奖励写为 0 。

漫游者的行动选择

在每一步中,漫游者可以从两个动作中选择一个,即向左移动或向右移动。

强化学习中的奖励关注

在强化学习中,奖励很重要,通过奖励能判断机器人做得好坏。例如,若机器人从状态四向左走,初始在状态四得到奖励 0,向左移动到达新位置后再次得到奖励 0,经过状态二(奖励 0)最终到达状态一,得到奖励 100。当漫游者到达状态一或状态六时,一天结束,这两个状态被称为终端状态,到达终端状态后只在该状态获得奖励,之后不会再有其他奖励,可能是因为机器人电量耗尽或时间用完等原因。

不同行动序列的示例

  • 向右移动:若机器人从状态四选择向右走,首先在状态四得到奖励 0,移动到状态五得到奖励 0,最终到达状态六,得到奖励 40。
  • 先右后左:机器人也可以从状态四先向右移动(奖励 0)到状态五(奖励 0),然后改变主意向左走,依次经过状态四(奖励 0)、状态三、状态二,到达状态一时得到奖励 100,但这种行动序列浪费了一些时间,可能不是好的选择。

核心元素总结

在每个时间步,机器人处于某种状态(用 s 表示),然后选择一个动作,同时享受从该状态得到的一些奖励(用 r 表示),作为动作的结果,会进入新的状态(用 s' 表示)。例如机器人在状态四时向左行动,在状态四得到奖励 0 并进入新状态。在学习特定强化学习算法时,状态、行动、奖励和下一个状态这四个元素是决定如何采取行动的核心。这里强调奖励是与当前状态相关的,如状态四的奖励为 0。

奖励回报

回报在显示生活中的类比

通过一个生活中的类比来说明回报的含义。比如脚下有一张 5 美元钞票可直接捡起,或者花半小时穿过城镇去捡一张 10 美元钞票。虽然 10 美元比 5 美元多,但如果去拿 10 美元钞票花费时间长,可能不如直接拿 5 美元钞票方便。这表明能更快得到的回报可能比花长时间得到的回报更有价值,从而引出回报概念中对时间因素的考虑。

定义与计算(以火星漫游者为例)

  • 定义:以火星漫游者从状态 4 向左走为例,其在各状态得到的奖励分别为状态 4(0)、状态 3(0)、状态 2(0)、状态 1(100,终端状态)。回报被定义为这些奖励的总和,但要乘以一个额外因素 —— 折现因子(discount factor)。
  • 折现因子:是一个略小于 1 的数,这里先选取 0.9 作为折现因子。计算回报时,第一步的奖励乘以 1,第二步的奖励乘以折现因子 0.9,第三步的奖励乘以折现因子的平方(0.9^2),以此类推,直到终端状态。例如上述例子计算结果是0.729 \times 100 = 72.9
  • 一般公式:更一般地,如果机器人经历一系列状态,第一步奖励为r_1,第二步奖励为r_2,第三步奖励为r_3等,回报就是r_1 + \gamma \times r_2 + \gamma^2 \times r_3 + \gamma^3 \times r_4 + \cdots\gamma为折现因子,在该例中设为 0.9),直到终端状态。折现因子的作用是使强化学习 “不耐烦”,即越早获得的奖励在总回报中占的权重越高,价值越大。

折现因子的常见选择与示例

在许多强化学习算法中,折现因子常选接近 1 的数,如 0.9、0.99 甚至 0.999 。为便于说明,这里使用 0.5 的折现因子,这种情况下对未来奖励的折扣很大,每多一个时间步,得到的奖励积分只有前一步的一半。以之前的例子,当\gamma = 0.5时,计算得到的回报为0 + 0.5 \times 0 + 0.5^2 \times 0 + 0.5^3 \times 100 = 12.5

折现因子在金融应用中的解释

折现因子在金融应用中可自然地解释为利率或货币的时间价值。因为今天的一美元存入银行能赚取利息,一年后会得到更多钱,所以今天的一美元比未来的一美元更值钱,折现因子表示未来一美元相较于今天一美元的价值减少程度。

不同行动策略下的回报计算与比较

  • 总是向左走:分别计算了机器人从不同状态(状态 4、状态 3、状态 2、状态 1、状态 6)开始且总是向左走时的回报。如从状态 4 开始回报是 12.5,从状态 3 开始回报是 25(因提前一步到达 100 奖励,折现更少),从状态 2 开始回报是 50,从状态 1 开始马上得到 100 奖励无折现,从状态 6 开始(终端状态)得到奖励 40,回报就是 40 。
  • 总是向右走:从状态 4 开始,依次经过状态 5(奖励 0)到达状态 6(奖励 40),计算回报为0 + 0.5 \times 0 + 0.5^2 \times 40 = 10 。同理,计算出从其他状态开始且总是向右走时的回报,发现大多数状态下这种策略的回报较低,说明总是向右走可能不如总是向左走。
  • 混合策略:提出一种根据状态选择行动的策略,如在状态 2、3、4 时向左走,在状态 5 时向右走。计算出从不同状态开始采用这种策略时的回报分别为 150、25、12.5、20、40 。以从状态 5 开始为例,向右走得到的回报是0 + 0.5 \times 40 = 20 。

回报与强化学习总结及负奖励情况分析

  • 总结:回报是系统得到的奖励总和,但由折现因子加权,遥远未来的奖励被折现因子以更高次幂加权。
  • 负奖励情况:之前例子中奖励都是零或正的,若存在负奖励,折现因子会激励系统将负奖励尽可能推到未来。以金融为例,若需支付某人 10 美元(负回报 - 10 美元),能推迟几年支付会更好,因为几年后的 10 美元因利率原因实际价值低于今天的 10 美元。所以对于有负奖励的系统,算法会试图将负奖励尽可能往后推,这对于金融及其他应用来说是正确的做法。

算法策略

简介

强化学习中 的“策略(policy)” ,笔者自己的理解是大概在强化学习中采取行动的不同方式。在强化学习中,有多种采取行动的方式。

  • 根据奖励距离决定:可以决定总是走向更近的奖励,即如果最左边的奖励更近就往左走,如果最右边的奖励更近就往右走。
  • 根据奖励大小决定:另一种选择行动的方式是总是追求更大的奖励,或者总是追求更小的奖励(虽然追求更小奖励看起来不是个好主意,但也是一种可行的选择)。
  • 混合策略:还可以选择向左走,除非离较小的奖励只有一步之遥,在这种情况下就选择走向较小的奖励。

策略的定义

在强化学习中,目标是想出一个被称为策略(用\pi表示)的函数。这个函数的作用是接受任何状态s作为输入,并将其映射到它希望采取的某个行动a。例如,对于某个具体策略,当处于状态 2 时,策略会将其映射到向左的动作;处于状态 3 时,策略指示向左走;处于状态 4 时也向左走;处于状态 5 时则向右走。即\pi作用于状态s能告诉我们在该状态下应采取的行动。

强化学习的目标与策略的关系

强化学习的目标是找到一个或多个策略\pi,这个策略能告诉我们在每个状态下应该采取什么行动,从而实现回报的最大化。也就是说,通过合理的策略选择行动,以获取最大的回报。

关于 “策略” 术语的说明

虽然 “策略(policy)” 可能不是对\pi最具描述性的术语,但它是强化学习中的标准术语之一。或许称\pi为 “控制器(controller)” 会更自然,但目前在强化学习领域大家都习惯称之为 “策略”。

马尔可夫决策过程(MDP)

为了方面后面文章的理解,这里介绍一下马尔可夫决策过程(Markov Decision Process,MDP)是一种用于描述和解决在不确定性环境下进行决策的数学框架。笔者注:以下的概率数学公式不需要去记忆,理解在说什么就可以。

基本要点

  • 马尔可夫性质:在一个随机过程中,未来的状态只取决于当前状态,而与过去的历史无关。即给定当前状态,未来状态的概率分布与过去的状态和行动序列无关。
  • 决策过程:涉及到一系列的决策点,在每个决策点上,决策者需要根据当前的状态选择一个行动,以影响系统未来的发展。

组成要素

  • 状态空间(S):表示系统所有可能的状态集合。例如,在一个机器人导航问题中,状态可以是机器人在地图上的不同位置。
  • 行动空间(A):对于每个状态,决策者可以采取的一系列行动集合。比如,机器人在某个位置可以选择向前移动、向左转、向右转等行动。
  • 转移概率(P):描述了在给定当前状态和采取某个行动后,系统转移到下一个状态的概率分布。即P(s'|s, a) 表示在状态 s 下采取行动 a 后转移到状态s' 的概率。
  • 奖励函数(R):定义了在每个状态下采取某个行动后获得的奖励值。奖励函数用于衡量不同决策的好坏,激励决策者选择能够最大化长期奖励的行动策略。例如,机器人到达目标位置时会获得一个正奖励,而撞到障碍物则会得到一个负奖励。
  • 策略(π):是从状态空间到行动空间的映射,即对于每个状态 s,策略\pi规定了应该采取的行动 a = \pi(s)。策略可以是确定性的,即每个状态对应唯一的行动;也可以是随机的,即每个状态对应一个行动的概率分布。

价值函数

  • 状态价值函数(V):对于每个状态 s,状态价值函数V(s) 表示从状态 s 开始,遵循最优策略所能获得的长期累积奖励的期望。它满足贝尔曼方程:V(s)=\max_{a\in A}\sum_{s'\in S}P(s'|s,a)[R(s,a,s')+\gamma V(s')],其中 \gamma 是折扣因子,用于衡量未来奖励的重要性,0\leq\gamma\leq1
  • 行动价值函数(Q):行动价值函数 Q(s, a) 表示在状态 s 下采取行动 a 后,遵循最优策略所能获得的长期累积奖励的期望。它与状态价值函数的关系为:V(s)=\max_{a\in A}Q(s,a),贝尔曼方程为:Q(s,a)=\sum_{s'\in S}P(s'|s,a)[R(s,a,s')+\gamma\max_{a'\in A}Q(s',a')]

求解方法

  • 策略迭代:首先初始化一个策略,然后交替进行策略评估和策略改进两个步骤。策略评估是计算当前策略下的状态价值函数,策略改进是根据当前的价值函数找到更好的策略,直到策略收敛到最优策略。
  • 价值迭代:直接对价值函数进行迭代更新,通过不断计算贝尔曼方程的右边来逼近最优价值函数,然后根据最优价值函数确定最优策略。
  • 基于模型的强化学习:通过学习环境的模型(即转移概率和奖励函数),然后使用动态规划等方法求解最优策略。
  • 无模型的强化学习:不需要显式地学习环境的模型,而是通过与环境进行交互,直接学习最优策略。例如,Q-learning 算法就是一种无模型的强化学习算法,它通过不断更新 Q 值来逼近最优行动价值函数。

马尔可夫决策过程在许多领域都有广泛的应用,如机器人控制、自动驾驶、资源管理、游戏等,为在不确定性环境下进行最优决策提供了有力的理论支持和方法指导。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com