强化学习简介

强化学习简介

强化学习(Reinforcement Learning,RL)是机器学习中的一个领域,是学习做什么(即如何把当前的情景映射成动作)才能使得数值化的收益最大化,学习者不会被告知应该采取什么动作,而是必须自己通过尝试去发现哪些动作会产生最丰厚的收益

强化学习同机器学习领域中的有监督学习无监督学习不同,有监督学习是从外部监督者提供的带标注训练集中进行学习(任务驱动型),无监督学习是一个典型的寻找未标注数据中隐含结构的过程(数据驱动型)

强化学习是与两者并列的第三种机器学习范式,强化学习带来了一个独有的挑战——探索利用之间的折中权衡,智能体必须利用已有的经验来获取收益,同时也要进行探索,使得未来可以获得更好的动作选择空间(即从错误中学习)

img

核心概念

强化学习的主要角色是 智能体环境,环境是智能体存在和互动的世界。智能体在每一步的交互中,都会获得对于所处环境状态的观察(有可能只是一部分),然后决定下一步要执行的动作。环境会因为智能体对它的动作而改变,也可能自己改变。

智能体也会从环境中感知到 奖励 信号,一个表明当前状态好坏的数字。智能体的目标是最大化累计奖励,也就是回报。强化学习就是智能体通过学习来完成目标的方法。
在这里插入图片描述

马尔可夫决策过程(MDP)

MDP 简单说就是一个智能体(Agent)采取行动(Action)从而改变自己的状态(State)获得奖励(Reward)与环境(Environment)发生交互的循环过程,MDP 的策略完全取决于当前状态(Only present matters),这也是它马尔可夫性质的体现

强化学习任务通常用马尔可夫决策过程 (Markov Decision Process, MDP)来描述,即

机器处于环境 E E E 中, 状态空间为 X , X, X, 其中每个状态 x ∈ X x \in X xX 是机器感知到的环境的描述

机器能采取的动作构成了动作空间 A A A ; 若某个动作 a ∈ A a \in A aA 作用在当前状态 x x x 上, 则潜在的转移函数 P P P 将使得环境从当前状态按某种概率转移到另一个状态; 在转移到另一个状态的同时, 环境会根据潜在的“奖赏” (reward)函数 R R R 反馈给机器一个奖赏

综合起来, 强化学习任务对应了四元组 E = ⟨ X , A , P , R ⟩ , E=\langle X, A, P, R\rangle, E=X,A,P,R, 其中 P : X × A × X ↦ R P: X \times A \times X \mapsto \mathbb{R} P:X×A×XR 指定了状态转移概率, R : X × A × X ↦ R R: X \times A \times X \mapsto \mathbb{R} R:X×A×XR 指定了奖赏; 在有的应用中, 奖赏函数可能仅与状态转移有关, 即 R : X × X ↦ R . R: X \times X \mapsto \mathbb{R} . R:X×XR.

策略

机器要做的是通过在环境中不断地尝试而学得一个“策略” (policy) π , \pi, π, 根据这个策略, 在状态 x x x 下就能得知要执行的动作 a = π ( x ) a=\pi(x) a=π(x)

策略有两种表示方法:

一种是将策略表示为函数 π : X ↦ A , \pi: X \mapsto A, π:XA, 确定性策略常用这种表示

另一种是概率表示 π : X × A ↦ R , \pi: X \times A \mapsto \mathbb{R}, π:X×AR, 随机性策略常用这种表示

π ( x , a ) \pi(x, a) π(x,a) 为状态 x x x 下选择动作 a a a 的概率, 这里必须有 ∑ a π ( x , a ) = 1 \sum_{a} \pi(x, a)=1 aπ(x,a)=1

确定性策略

确定性策略,在相同的状态下,其输出的动作是确定的

优缺点

  • 能够利用确定性梯度优化策略,所以不需要太多的采样数据,计算效率也很快
  • 由于每次面对同一状态其输出的动作是唯一的,无法讨论一些其它动作的效果,不具有自学习的能力

随机性策略

对于随机策略,对于相同的状态,其输出的状态并不唯一,而是满足一定的概率分布,从而导致即使是处在相同的状态,也可能输出不同的动作

优缺点

  • 随机策略将探索和改进集成到一个策略中
  • 需要采样的数据量较大,学习比较慢

奖励

强化学习中,奖励函数 R R R非常重要,它由当前状态、已经执行的行动和下一步的状态共同决定
r t = R ( s t , a t , s t + 1 ) r_{t}=R\left(s_{t}, a_{t}, s_{t+1}\right) rt=R(st,at,st+1)
长期累积奖励有多种计算方式

其中 T T T步累计奖赏,指的是在一个固定窗口步数 T T T内获得的累计奖励
R ( τ ) = ∑ t = 0 T r t R(\tau)=\sum_{t=0}^{T} r_{t} R(τ)=t=0Trt

另一种叫做 γ \gamma γ折扣奖励,指的是智能体获得的全部奖励之和,但是奖励会因为获得的时间不同而衰减。这个公式包含衰减率 γ ∈ ( 0 , 1 ) \gamma \in(0,1) γ(0,1)
R ( τ ) = ∑ t = 0 ∞ γ t r t R(\tau)=\sum_{t=0}^{\infty} \gamma^{t} r_{t} R(τ)=t=0γtrt
这里为什么要加上一个衰减率呢?为什么不直接把所有的奖励加在一起?可以从两个角度来解释: 直观上讲,现在的奖励比外来的奖励要好,所以未来的奖励会衰减;数学角度上,无限多个奖励的和很可能 不收敛,有了衰减率和适当的约束条件,数值才会收敛

探索与利用

所谓探索:是指做你以前从来没有做过的事情,以期望获得更高的回报

所谓利用:是指做你当前知道的能产生最大回报的事情

多臂赌博机问题

单步强化学习任务对应了一个理论模型, 即“ K K K -摇臂赌博机” , K K K -摇臂赌博机有 K K K 个摇臂, 赌徒在投入一个硬币后可选择按下其中一个摇臂, 每个摇臂以一定的概率吐出硬币, 但这个概率赌徒并不知道。赌徒的目标是通过一定的策略最大化自己的奖赏, 即获得最多的硬币

仅探索(exploration only): 将所有的尝试机会平均分配给每个摇臂(即轮流按下每个摇臂),最后以每个摇臂各自的平均吐币概率作为其奖赏期望的近似估计

仅利用(exploitation-only): 按下目前最优的(即到目前为止平均奖赏最大的)的摇臂,若有多个摇臂同为最优, 则从中随机选取一个.
在这里插入图片描述

显然,“仅探索”法能很好地估计每个摇臂的奖赏, 却会失去很多选择最优摇臂的机会;“仅利用”法则相反, 它没有很好地估计摇臂期望奖赏, 很可能经常 选不到最优摇臂. 因此, 这两种方法都难以使最终的累积奖赏最大化.
事实上,探索和利用这两者是矛盾的, 因为尝试次数(即总投币数)有限, 加强了一方则会自然削弱另一方, 这就是强化学习所面临的“探索-利用困境” (Exploration Exploitation dilemma)

显然, 欲累积奖赏最大, 则必须在探索与利用之间达成较好的折中

ϵ \epsilon ϵ -贪心法

ϵ \epsilon ϵ -贪心法基于一个概率来对探索和利用进行折中: 每次尝试时, 以 ϵ \epsilon ϵ 的概率进行探索, 即以均匀概率随机选取一个摇臂; 以 1 − ϵ 1-\epsilon 1ϵ 的概率进行利用, 即选择当前平均奖赏最高的摇臂(若有多个, 则随机选取一个)

Softmax

Softmax 算法基于当前已知的摇臂平均奖赏来对探索和利用进行折中

若各摇臂的平均奖赏相当, 则选取各摇臂的概率也相当; 若某些摇臂的平均奖赏明显高于其他摇臂, 则它们被选取的概率也明显更高.

强化学习的分类

在这里插入图片描述

有模型学习

考虑多步强化学习任务, 暂且先假定任务对应的马尔可夫决策过程四元组 E = ⟨ X , A , P , R ⟩ E=\langle X, A, P, R\rangle E=X,A,P,R 均为已知, 这样的情形称为“模型已知”,即机器已对环境进行了建模, 能在机器内部模拟出与环境相同或近似的状况。在已知模型的环境中学习称为“有模型学习” (model-based learning)

此时, 对于任意状态 x , x ′ x, x^{\prime} x,x 和动作 a , a, a, x x x 状态下执行动作 a a a 转移到 x ′ x^{\prime} x 状态的概率 P x → x ′ a P_{x \rightarrow x^{\prime}}^{a} Pxxa 是已知的, 该转移所带来的奖赏 R x → x ′ a R_{x \rightarrow x^{\prime}}^{a} Rxxa 也是已知的

优缺点

有模型学习最大的优势在于智能体能够 提前考虑来进行规划,走到每一步的时候,都提前尝试未来可能的选择,然后明确地从这些候选项中进行选择

最大的缺点就是智能体往往不能获得环境的真实模型。如果智能体想在一个场景下使用模型,那它必须完全从经验中学习,这会带来很多挑战。最大的挑战就是,智能体探索出来的模型和真实模型之间存在误差,而这种误差会导致智能体在学习到的模型中表现很好,但在真实的环境中表现得不好(甚至很差)

免模型学习

在现实的强化学习任务中, 环境的转移概率、奖赏函数往往很难得知, 甚至很难知道环境中一共有多少状态

若学习算法不依赖于环境建模,则称为免模型学习(model-free learning),这比有模型学习困难的多

参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值