强化学习介绍

介绍

强化学习 Reinforcement Learning 简称 RL,是一种机器学习方法,旨在训练智能体(或机器人)从环境中获得经验,通过试错的方式逐渐提高其决策能力,以实现特定的目标。强化学习涉及到智能体与环境之间不断的互动和反馈,智能体根据环境的反馈调整其行为策略,逐渐学习到最优的决策方案。强化学习在众多领域中都有广泛的应用,如自动驾驶、游戏策略、金融交易、机器人控制等。

强化学习背后的思想是:
一个agetn(智能体/机器人)从“与环境交互并从行动中获取奖励”中学习——这类似于人的成长过程。

Tips:
强化学习解决特定类型的问题,其中决策是连续的,并且目标是长期的,例如游戏、机器人、资源管理或物流。

重要概念

  • agent: 可以通过反复试验学习并做出决策的实体,它从周围环境中获得奖励和惩罚。
  • environment: 虚拟的世界,用于 agent 通过与其交互来学习。
  • state: 对 environment 的完整描述。
  • action: agent 执行的操作
  • reward: 分为激励和惩罚,是 RL 的基本因素,用于告诉 agent 它的 action 产生的结果是好还是坏。

RL 过程简介

框架
强化学习框架

过程
强化学习过程:状态、行动、奖励和下一个状态的循环:

  • agent 从 environment 中获取第一个 state S0;
  • 基于 S0,agent 采取第一个 action A0;
  • environment 给出一个新的 state S1;
  • environment 给出 reward R1;

循环以上 state、action 和 reward 步骤。
agent 的目的是最大化累积奖励。

马尔可夫性质

RL 过程称为马尔可夫决策过程 (MDP)
MDP 意味着 agent 只需要根据当前的状态来决定采取什么行动,而不是之前采取的所有状态和行动的历史。

基于回报假设的中心思想

RL 的目的是获取累积的奖励,期望获取最大累积收益。

  1. 基本公式
    G t = R t + 1 + R t + 2 + . . . G_t = R_{t+1} + R_{t+2} + ... Gt=Rt+1+Rt+2+...
    等价于:
    G t = ∑ k = 0 T R t + k + 1 G_t =\sum_{k=0}^T R_{t+k+1} Gt=k=0TRt+k+1

  2. Jerry & Tom 的故事
    Jerry & Tom

这里 agent 是 Jerry。
Jerry 想要获得最大的累积奖励就是要吃掉所有的奶酪,但是越靠近 Tom 的地方危险就越大——即使那边有更多的奶酪,我们可能也不愿意先去冒这个风险,因为一旦被 Tom 抓住就无法再获取更多的奶酪,从而无法达成 Jerry 的目标。
所以再这里我们引入奖励系数 γ \gamma γ

  • 危险越大,回报系数 γ \gamma γ 越小,Jerry 更关心短期奖励;
  • 危险越小,回报系数 γ \gamma γ 越大,Jerry 更关心长期奖励;
  1. 改良后的公式
    G t = ∑ k = 0 ∞ γ k R t + k + 1 w h e r e γ ∈ [ 0 , 1 ) G_t =\sum_{k=0}^\infty \gamma^k R_{t+k+1} where \gamma \in [0, 1) Gt=k=0γkRt+k+1whereγ[0,1)
    R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . R_{t+1} + \gamma R_{t+2} + \gamma ^2 R_{t+3} + ... Rt+1+γRt+2+γ2Rt+3+...
    本公式是在基本公式的基础上增加了奖励的权重:在每一步中都会按照权重的时间指数形式对奖励重新计算。
    随着时间的增加,Jerry 离 Tom 越近未来奖励发生的可能性越小。

任务模型

  • 场景任务模型
    这个模型中存在明确的开始点和结束点,例如游戏:进入游戏是开始点,游戏结束(被打死,或者玩到通关)是结束点。
  • 连续任务模型
    在这个模型中一旦开始就会一直持续下去——除非主动退出,例如投资股票,需要不断的关注时长的变化。

两种解决思路

针对任务模型,这里提出了两种解决思路:

  • 蒙特卡洛方法
  • 时间差学习方法
  1. 蒙特卡洛方法(Monte Carlo)
    在场景的结束时获取所有的奖励,并计算总体奖励
    蒙特卡洛公式

1.1 步骤

  • 游戏开始作为场景的起点;
  • 游戏结束作为场景的终点;
  • 在终点我们会得到一个 stats、actions、rewords和新states 的列表;
  • 根据公式计算总奖励;
  • 根据上面的公式更新 V ( s t ) V(st) V(st)
  • 开始新一轮的游戏;

随着运行次数增多,我们的 Jerry 会吃得越来越多。

  1. 时间差学习方法(TD Temporal Difference Learning)
  • TD 的方法与蒙特卡洛方法相反,它不会等待场景的结束在去计算,而是在每一步中评估未来预期最大奖励:它为当前经历的状态 S 评估价值 V;
  • TD的核心思想是评估:通过将其更新为一步目标来更新先前的估计 V ( S t ) V(S_t) V(St)
  1. 两者之间的区别
    两种思路公式对比
  • TD 不会等待场景的结束,而是在(t+1)时刻后都会使用得到的奖励值 R t + 1 R_{t+1} Rt+1来评估当前状态下的价值 V ( S t + 1 ) V(S_{t+1}) V(St+1)
  • 蒙特卡洛方法则需要经历多个周期才能得到理想的效果。

探索与开发的平衡

  • 探索:探索是指获取环境中更多的信息;
  • 开发:是从已知的信息中获取最大的收益;

Jerry‘s 迷宫
我们时可要记住 Jerry 的目标是最大化预期的累积收益。
在上面这个例子中,如果只有开发,则如果 Jerry 周边有无穷的小奶酪的话,Jerry 仅会关注周围的小奶酪,而不会获取到远处的大奶酪;假如在这里加入一些探索,Jerry 就能获得更大的奖励。
所以我们需要指定一个规则,用于对探索和开发的平衡。

三种方法

  • 基于价值的方法
  • 基于策略的方法
  • 基于模型的方法
  1. 基于价值的方法

目标: 优化价值函数 V ( s ) V(s) V(s)
价值函数 告诉我们在 agent 每个状态下的最大未来预期回报。
公式:
价值函数
每个状态的价值是 agent 从该状态开始在未来期望累积的奖励总额。
agent 利用价值函数来选择每一步的状态:它会选择最大价值的状态。

  1. 基于策略的方法

目标: 直接优化策略函数 π ( s ) \pi(s) π(s)
策略: 是在给定的时间定义的 agent 的行为
公式:
策略函数
通过策略函数,可以得到状态和最佳操作的映射关系。

两种策略:

  • 确定性:一个给定的状态总是返回相同的操作;
  • 随机性:输出操作的分布概率;
    随机策略公式
  1. 基于模型的方法
    不同的环境有不同的模型,所以需要针对每种环境建立一个模型。

Q-Learning & Deep Q-Learning

Q-Learning: 采用传统的算法去产生 Q table;
Deep Q-Learning: 采用神经网络产生 Q value;
Q-Learning

参考文档

[1] https://medium.com/free-code-camp/an-introduction-to-reinforcement-learning-4339519de419

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值