强化学习:算法历程与内容

强化学习:算法历程与优劣

1.Monte Carlo 估算V值

内容:

Monte Carlo估算V值

G值:每次到最终状态获得的奖励总和

当前状态为S0,一直到最终状态后,回溯计算G值。一直往前把每一步得到的奖励r都加起来,再乘以一定的折扣率gramma,就能够得到这一条路的G值。同时,一个状态下,有很多条路径可以走到最终状态,所以:
S0状态下的V值=所有G值相加/这个状态下一直到最终状态的路径的个数
所以可以说,V值是G值的平均。

缺点:

如果很难走到最终状态,那么回溯就很慢,求G值就很慢,所以V值更新的也就慢,效率不高。

优化:

不一定要等所有的G值都回来了再求V值,可以回来一个G值就估算一下V值,然后慢慢调整。
怎样调整?
新平均 = 旧平均 + 步长 * (新加入的元素 - 旧平均)
在这里插入图片描述

新平均:新的V值
旧平均:旧的V值
步长:人为设置的超参数
新加入的元素:刚回来的G值

2.TD(时序差分)估算V值

内容:

只需要走N步就进行回溯,而不用走到最终这状态再进行回溯。
如果N=1,那么意味着走一步就回溯,则此时G = r + gramma * V(下一状态的V值)
在这里插入图片描述

3.SARSA

内容:

使用TD估算V值的方法,不同的是用Q值代替V值。
SARSA

问题:强化学习中Q值可以指导动作的选择,那么策略是干嘛的?策略不也是用来选择动作的吗?

Q值与策略的不同

  1. 定义与关注点:
    Q值关注的是在给定状态下执行特定动作的预期回报,而策略关注的是在给定状态下选择不同动作的概率分布。

  2. 作用机制:
    Q值通过评估动作的好坏来指导动作的选择,而策略则通过概率分布来指导搜索过程,决定哪些动作值得被探索。

  3. 更新方式:
    Q值的更新通常基于新的回报信息,通过加权平均或增量式更新来实现;而策略的更新则更多地依赖于历史数据,通过调整选择概率来优化未来的动作选择。

  4. 相互关系:
    策略用于决定在搜索过程中选择哪些动作进行探索,而Q值则提供了这些动作的质量评估。策略的更新通常会考虑Q值的信息,以便在未来更好地指导搜索。

4. Q-learning

内容:

用的也是TD估算V值,不同的是用最大的Q值替代V(St+1)。
和SARSA的不同仅在于多了个max。
SARSA是通过策略选择一个动作计算Q值,而Q-learning则是试一遍策略给出的所有动作,都计算Q值,找到最大的Q值。
Q-learning

Q table

通过SARSA或者Q-learning的方式将这个表填完(计算Q值),那么Q-function就是查表,找到最大值就可以了。
Q-table

5.DQN

内容:

和Q-learning差不多,区别只是Q-learning使用Q table,而DQN使用神经网络。

更新方式(与Q-learning一样):
DQN
这里的G值(R+gramma*下一状态的Qmax)就是更新目标,刚好可以作为神经网络的更新目标。

缺点:

DQN估计的Q值往往会偏大。
原因:
虽然DQN有Q网络和target网络,但target网络本质上是由Q网络拷贝过来的(他们只是更新时间不同而已),所以相当于是一个网络在自我监督(自我改正)。如果预计的Q值1偏大,那么意味着target网络找到的Q值2也可能偏大,所以当Q值1要往Q值2+reward的方向调参时,意味着往一个偏高值方向调参,(又因为网络本质上是一样的,参数也会一起变化)下次又会朝着在这个偏高的基础上更高的方向调参,导致越来越高,越来越偏。

6. doule DQN

为了缓解DQN估计的Q值偏大的情况,诞生了double DQN。顾名思义,它有两个参数不同的网络。
double DQN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值