【机器学习】强化学习算法的优化

系列文章目录

第十八章 Python 机器学习入门之强化学习


目录

系列文章目录

前言

一、神经网络框架的改进

二、 算法改进:ε-贪婪策略


前言

我们通过之前的学习知道了所谓的强化学习,关键就是学习到Q函数,也就是状态动作函数,然后使用它来选择 好的行动。 为了求得Q函数,我们-使用了深度学习和神经网络来训练模型学习Q函数。本文所讲的对于强化学习的优化,一是对改进神经网络框架;二是使用 ε-贪婪策略来改进算法。


一、神经网络框架的改进

改进的神经网络框架可以提高效率,如图,这是之前的神经网络框架,它将输入12个数字并输出Q(s,a),

当我们处于某个状态时,我们都需要计算4个Q值,从而选择最大Q值的动作A,这是低效的,因为我们必须从每个状态进行4次推理。

事实证明,训练单个神经网络更有效,同时输出这4个值,如下图所示

这是一个修改后的神经网络框架,其中输入是与登月器状态相对应的八个数字,然后通过第一个隐藏层中有64个单元的神经网络,第二个隐藏层有64个单元的神经网络,输出层有4个单元的神经网络。

神经网络的工作就是有4个输出单元输出Q(s , a), 它同时计算所有4种可能动作的Q值。因为当我们处于状态S时,事实证明这比计算4个Q值更有效,因为给定状态S,我们只需要运行一次神经网络就可以获得所有的4个Q值,可以更块地找到最大的Q值对应的动作A。 此外,在贝尔曼方程中,有一个步骤我们必须计算Q函数的最大值,贝尔曼方程的右边,

R(S) + γ*maxQ(s', a'),使用这种改进的神经网络,使得计算它也变得更有效。

这种对神经网络框架的改变使得RN更加高效。

二、 算法改进:ε-贪婪策略

Algorithm refinement :ε-greedy policy

我们开发的学习算法,即使我们还在学习要如何去近似Q(s,a ) 的过程中,也是需要在月球着陆器中采取一些行动。

当我们还在学习的时候,我们如何选择这些动作?最常用的方法是使用一种叫做epsilon ε-贪婪策略的东西。

让我们来看看ε-greedy policy 是如何起作用的。

如图,这是我们之前看到的算法,该算法的步骤之一是在月球着陆器中采取行动,当算法仍然在运行时,我们并不知道每个状态采取的最佳行动是什么。但即使我们仍在学习并且还没有很好的Q(s,a )估计,我们还是需要在学习算法的这一步采取行动,怎么采取行动呢?

我们有两个办法,一是随机采取动作;二是选择 在状态s 的任何时候选择一个使Q(s, a)最大化的动作A。

这时候,我们一般可能会选择 在状态s 的任何时候选择一个使Q(s, a)最大化的动作A 。这样做确实比完全随机的采取行动要好。但是我们有更好的选择。

假设概率为0.95,我们选择使Q(s, a)最大化的动作A;并且有0.05的概率,我们随机选择一个动作。

为什么我们要偶尔随机选择一个动作?

假设Q(s,a )被初始化时,因为一些原因,让算法认为启动推进器不是一个好的主意,也许神经网络被初始化,使得Q(s,main ) 总是很低,而神经网络是尝试选择最大化Q(s,a) 的动作a, 那么它永远也不会尝试启动主推进器,而启动主推进器有时是我们需要的。

如果我们 选择选项1, 即选择一个使Q(s, a)最大化的动作a, 那我们永远也不能实现它,虽然这样的概率很低。

所以我们更多的时候是使用选项2,我们有一些尝试的可能性很小的动作,这样神经网络就可以陷入上面所说的情况。

这种随机选择动作的想法有时被称为 探索步骤 ’exploration‘. 因为我们要尝试一些可能不是很好的行动。

采取最大化Q(s,a) 的行动a,有时被称为greedy 贪婪行动(或exploitation 利用),因为我们试图通过选择这个来最大化我们的回报。

而对于选项2,我们就称其为epsilon-greedy policy( ε-贪婪策略), spsilon 就是随机选择动作的概率 0.05.

有时强化学习中使用的技巧之一是从高的epsilon 开始,然后逐渐减少,这样随着时间的推移,我们就会很小的概率选择随机采取行动,更多的是使用我们改进的估计Q函数来选择好的动作,

 

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓亮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值