第十六章 强化学习

本文围绕强化学习展开,分析了其与监督学习的联系和差别,指出强化学习可看作有“延迟标记信息”的监督学习。介绍了ϵ - 贪心法实现探索与利用平衡的方法,阐述用赌博机算法实现强化学习任务,还涉及折扣累积奖赏展开式推导、动态规划与策略更新关系、时序差分学习推导,最后给出目标驱动任务的奖赏规则设置及编程参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.分析强化学习与监督学习的联系与差别。

机器要做的是通过在环境中不断地尝试而学得一个"策略" (policy) π\piπ,根据这个策略,在状态xxx下就能得知要执行的动作α=π(x)\alpha=\pi(x)α=π(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) 为状态xxx 选择动作aaa 的概率, 这里必须有∑aπ(x,a)=1\sum_{a}^{}\pi(x,a)=1aπ(x,a)=1.

若将这里的"状态"对应为监督学习中的"示例"、“动作"对应为"标记"则可看出,强化学习中的"策略"实际上就相当于监督学习中的"分类器” (当动作是离散的)或"回归器" (当动作是连续的,模型的形式并无差别. 但不同的是,在强化学习中并没有监督学习中的有标记样本(即"示例-标记"对) ,换言之,没有人直接告诉机器在什么状态下应该做什么动作,只有等到最终结果揭晓,才能通过"反思"之前的动作是否正确来进行学习. 因此,强化学习在某种意义上可看作具有"延迟标记信息"的监督学习问题.

2. ϵ\epsilonϵ-贪心法如何实现探索与利用的平衡。

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

若摇臂奖赏的不确定性较大,例如概率分布较宽时,则需更多的探索,此时需要较大的ϵ\epsilonϵ值;若摇臂的不确定性较小,例如概率分布较集中时,则少量的尝试就能很好地近似真实奖赏,此时需要的ϵ\epsilonϵ 较小. 通常令ϵ\epsilonϵ 取一个较小的常数,如0.1 或0.01. 然而,若尝试次数非常大,那么在一段时间后,摇臂的奖赏都能很好地近似出来,不再需要探索,这种情形下可让ϵ\epsilonϵ 随着尝试次数的增加而逐渐减小,例如令ϵ=1/t\epsilon=1/ \sqrt{t}ϵ=1/t.

3.如何用赌博机算法实现强化学习任务。

与一般监督学习不同,强化学习任务的最终奖赏是在多步动作之后才能观察到。强化学习与监督学习有显著不同,因为机器通过尝试来发现各个动作产生的结果,而没有训练数据告诉机器应当做哪个动作。

考虑比较简单的情形:最大化单步奖赏,即考虑一步操作。实际上,单步强化学习任务对应了一个理论模型,即“K-摇臂赌博机”。如下图所示,K-摇臂赌博机有K个摇臂,赌徒在投入一个硬币后可选择按下其中一个摇臂,每个摇臂以一定的概率吐出硬币,但这个概率赌徒并不知道。赌徒的目标是通过一定的策略最大化自己的奖赏,即获得最多的硬币。在这里插入图片描述
若仅为获知每个摇臂的期望奖赏,则可采用“仅探索”法:将所有的尝试机会平均分配给每个摇臂,最后以每个摇臂各自的平均吐币概率作为其奖赏期望的近似估计。若仅为执行奖赏最大的动作,则可采用“仅利用”法:按下目前最优的摇臂,若有多个摇臂同为最优,则从中随机选择一个。显然,“仅探索”法能很好地估计每个摇臂的奖赏,却会失去很多选择最优摇臂的机会;“仅利用”法则相反,它没有很好地估计摇臂期望奖赏,很可能经常达不到最优摇臂。因此,这两种方法都难以使最终的累积奖赏最大化。显然,欲累积奖赏最大,则必须在探索与利用之间达成较好的折中。

4.试推导 折扣累积奖赏的全概率展开式(16.8)。

在模型已知时,对任意策略 π\piπ 能估计出该策略带来的期望累积奖赏。令函数 Vπ(x)V^{\pi}(x)Vπ(x) 表示从状态 xxx 出发,执行动作 aaa 后再使用策略 π\piπ 带来的累积奖赏;函数Qπ(x,a)Q^{\pi}(x,a)Qπ(xa)表示从状态xxx出发,执行动作aaa后再使用策略π\piπ带来的累积奖赏。这里的 V(⋅)V(\cdot)V() 称为“状态值函数”,Q(⋅)Q(\cdot)Q()称为“状态-动作值函数”,分别表示指定“状态”上以及指定“状态-动作”上的累积奖赏。

由累积奖赏的定义,有状态值函数
在这里插入图片描述
x0x_{0}x0表示起始状态,a0a_{0}a0表示起始状态上采取的第一个动作;对于TTT步累积奖赏,用下标 ttt 表示后续执行的步数。我们有状态-动作值函数
在这里插入图片描述
由于MDP具有马尔科夫性质,即系统下一时刻的状态仅由当前时刻的状态决定,不依赖于以往任何状态,于是值函数有很简单的递归形式。对于TTT步累积奖赏有
在这里插入图片描述
类似的,对于 γ\gammaγ 折扣累积奖赏有
在这里插入图片描述
需注意的是,正式由于 PPPRRR 已知,才可以进行全概率展开。

5.什么是动态规划中的最优性原理,与强化学习中的策略更新有什么关系

动态方法的关键在于正确的归纳出基本的递推关系式和恰当的边界条件。要做到这一点,必须先将问题的过程分成几个相互联系的阶段,恰当的选取状态变量和决策变量及定义最优值函数,从而吧一个大问题化成一组同类型的子问题,然后逐个求解。即从边界条件开始,逐段递推寻优,在每个子问题的求解中,均利用了它前面子问题的最优化结果,依次进行,最后一个子问题所得到的最优解,就是整个问题的最优解。

强化学习可以参照动态规划中的思想,只需将每一步的奖赏最大化,则能完成累积奖赏最大化的目标。

6.完成时序差分学习中式(16.31)的推导。

蒙特卡罗强化学习的本质,是通过多次尝试后求平均来作为期望累积奖赏的近似,但它在求平均时是“批处理式”进行的,即在一个完整的采样轨迹完成后再对所有状态-动作进行更新。实际上这个更新过程能增量式进行。对于状态-动作对(x,a)(x,a)(x,a),不妨假定基于ttt个采样已估计出值函数Qtπ(x,a)=1t∑i=1triQ_{t}^{\pi}(x,a)=\frac{1}{t}\sum_{i=1}^{t}r_iQtπ(x,a)=t1i=1tri,则在得到第t+1t+1t+1个采样rt+1r_{t+1}rt+1时,有:
在这里插入图片描述
显然,只需给Qtπ(x,a)Q_{t}^{\pi}(x,a)Qtπ(x,a)加上增量1t+1(r(t+1)−Qtπ(x,a))\frac{1}{t+1}(r_(t+1)-Q_{t}^{\pi}(x,a))t+11(r(t+1)Qtπ(x,a)).
更一般的,将1t+1\frac{1}{t+1}t+11替换为系数αt+1{\alpha}_{t+1}αt+1,则可将增量项写作α(rt+1−Qtπ(x,a))\alpha(r_{t+1}-Q_{t}^{\pi}(x,a))α(rt+1Qtπ(x,a)).

γ\gammaγ折扣累积奖赏为例,利用动态规划方法且考虑到模型未知时使用状态-动作值函数更方便,可得:
在这里插入图片描述
通过增量求和可得:
在这里插入图片描述
其中x′x^{'}x是前一次在状态xxx执行动作aaa后转移到的状态,a′a^{'}a是策略π\piπx′x^{'}x上选择的动作。

7.对于目标驱动的强化学习任务,目标是到达某一状态,例如机器人走到预定的位置,假设机器人只能在一维空间运动,即只能向左或者向右运动,机器人起始位置在最左侧,预定的位置在最右侧,试为这样的任务设置奖赏规则,并编程实现。

(程序参考:https://github.com/MorvanZhou/Reinforcement-learning-with-tensorflow/blob/master/contents/1_command_line_reinforcement_learning/treasure_on_right.py)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值