强化学习整理-1.Model free方法

强化学习整理-1.Model free方法

写这篇文章是为了记录和整理自己对于强化学习方法的认识。由于时间所限,这篇文章会不断地进行迭代更新。同样的,接下去还会陆续发布Model-based强化学习、meta-learning的相关整理。以及强化学习在无人机运动规划问题中的应用及具体实现。欢迎关注。由于个人能力所限,文章中难免有错误、缺漏之处,欢迎大家批评指正。

Q-learning

Q-learning的基本思想是利用时序差分(TD)对状态动作价值函数Q进行更新和迭代,直到当前所有状态-动作空间下的Q值收敛。其具体数学公式为:

Q ( s t , a t ) = Q ( s t , a t ) + α ( r t + γ Q ( s t + 1 , a t + 1 ) − Q ( s t , a t ) (1) Q(s_t,a_t)=Q(s_t,a_t)+\alpha(r_t+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t) \tag{1} Q(st,at)=Q(st,at)+α(rt+γQ(st+1,at+1)Q(st,at)(1)

其中 s t + 1 s_{t+1} st+1是智能体在状态 s t s_t st下执行动作 a t a_t at与环境交互后得到的下一状态, a t + 1 a_{t+1} at+1是使得下一状态的Q函数最大的动作,即:

a t + 1 = arg ⁡ max ⁡ a Q ( s t + 1 , a ) (2) a_{t+1} = \mathop{\arg\max}_{a} Q(s_{t+1},a)\tag{2} at+1=argmaxaQ(st+1,a)(2)

从以上两个式子可以看出,Q-learning 是一种off-policy的在线、表格型学习方法。

DQN(Deep Q-learning)

当需要把强化学习问题扩大到更大规模的时候,表格型方法的Q-learning就不能很好地解决此类问题。为此,引入神经网络来表示不同状态下的Q函数,这就是Deep Q-learning(DQN)。

相比于Q-learning,DQN除了采用神经网络之外还有两个改进。

第一个是采用experience replay,将每个transition ( s t , a t , r t + 1 , s t + 1 ) (s_t,a_t,r_{t+1},s_{t+1}) (st,at,rt+1,st+1)都存进Replay buffer D D D 中,更新时从replay buffer中批量采样mini batch,进行批量学习。从而将学习方式从on-line learning变为off-line learning。

第二个改进是使用一个额外的target网络 Q ^ \hat{Q} Q^用来固定目标值。在Q-learning的更新中,被更新的Q表格与产生目标值的Q表格是同一个表格,若用神经网络来表示Q函数,则这一做法会给训练引入很大的不稳定性。因此,在DQN中,初始化一个与Q网络权值相同的 Q ^ \hat{Q} Q^网络,则目标值变为

y j = r j + 1 + γ m a x a Q ^ ( s j + 1 , a ) (3) y_j=r_{j+1}+\gamma max_a\hat{Q}(s_{j+1},a) \tag{3} yj=rj+1+γmaxaQ^(sj+1,a)(3)

DQN的具体算法如图1所示:

具体算法
Q ^ \hat{Q} Q^的权重每隔C个learning step更新一次,更新方式为复制当前 Q Q Q网络参数。

DDPG (Deep deterministic policy gradient)

DQN解决了状态空间庞大的问题,并使用两个技巧使得训练变得稳定,在Atari游戏等测试平台上取得了很大的成功。但是如果DQN无法解决连续动作空间问题,也就是连续控制问题。这是因为在计算目标值时,有一项取argmax的操作,选一个使得目标Q函数最大的懂得动作a。这一操作对于连续动作空间是无法完成的。

为了解决这一问题,考虑引入一个动作网络(actor),这一网络的输入值是当前状态,输出值是在当前状态下取得最大Q函数的动作。DDPG的具体算法如下所示:
DDPG
DDPG即可以说是为了解决DQN,同时它又是基于actor-critic方法的。在算法开始,DDPG一共初始化4个网络。分别是critic网络 Q Q Q以及actor网络 μ \mu μ,目标critic网络 Q ′ Q^{'} Q以及目标actor网络 μ ′ \mu^{'} μ。如上图所示,DDPG与DQN一样采用了target网络与experience replay的技巧。同时在更新两个目标网络时还采用了soft update的策略。

需要特别注意的是,由于actor网络期望输出的是当前状态下取得最大Q函数的动作,因此,actor网络的loss可以直接取为 − Q ( s , μ ( s ) ) -Q(s,\mu(s)) Q(s,μ(s))(为了最大化Q所以取负)。

TD3(Twin Delayed Deep Deterministic policy gradient)

待补充

SAC(Soft Actor-Critic)

待补充

RDPG(Recurrent deterministic policy gradient)

针对POMDP(部分可观马尔科夫过程)提出。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值