初学强化学习框架Parl

学习目的

掌握强化学习基本思想,了解强化基本方法,最后实际动手利用强化学习框架完成一些简单问题。

常用的强化学习方法

1.基于表格型方法求解RL
(1)Sarsa 简介
Sarsa全称是state-action-reward-state’-action’,目的是学习特定的state下,特定action的价值Q,最终建立和优化一个Q表格,以state为行,action为列,根据与环境交互得到的reward来更新Q表格,更新公式为:

在这里插入图片描述
(2)Q_learning

Lesson2 表格型方法—— Q-learning
Q-learning简介
Q-learning也是采用Q表格的方式存储Q值(状态动作价值),决策部分与Sarsa是一样的,采用ε-greedy方式增加探索。
Q-learning跟Sarsa不一样的地方是更新Q表格的方式。
Sarsa是on-policy的更新方式,先做出动作再更新。
Q-learning是off-policy的更新方式,更新learn()时无需获取下一步实际做出的动作next_action,并假设下一步动作是取最大Q值的动作。
Q-learning的更新公式为:
在这里插入图片描述

2.基于神经网络方法求解RL–DQN
DQN简介
上节课介绍的表格型方法存储的状态数量有限,当面对围棋或机器人控制这类有数不清的状态的环境时,表格型方法在存储和查找效率上都受局限,DQN的提出解决了这一局限,使用神经网络来近似替代Q表格。
本质上DQN还是一个Q-learning算法,更新方式一致。为了更好的探索环境,同样的也采用ε-greedy方法训练。
在Q-learning的基础上,DQN提出了两个技巧使得Q网络的更新迭代更稳定。
经验回放 Experience Replay:主要解决样本关联性和利用效率的问题。使用一个经验池存储多条经验s,a,r,s’,再从中随机抽取一批数据送去训练。
固定Q目标 Fixed-Q-Target:主要解决算法训练不稳定的问题。复制一个和原来Q网络结构一样的Target Q网络,用于计算Q目标值。

3.基于策略梯度求解RL——Policy Gradient

Policy Gradient简介
在强化学习中,有两大类方法,一种基于值(Value-based),一种基于策略(Policy-based)

Value-based的算法的典型代表为Q-learning和SARSA,将Q函数优化到最优,再根据Q函数取最优策略。
Policy-based的算法的典型代表为Policy Gradient,直接优化策略函数。
采用神经网络拟合策略函数,需计算策略梯度用于优化策略网络。

优化的目标是在策略π(s,a)的期望回报:所有的轨迹获得的回报R与对应的轨迹发生概率p的加权和,当N足够大时,可通过采样N个Episode求平均的方式近似表达。
在这里插入图片描述

优化目标对参数θ求导后得到策略梯度:
在这里插入图片描述
4.连续动作空间上求解RL——DDPG

连续动作空间上求解RL——DDPG
DDPG简介
DDPG的提出动机其实是为了让DQN可以扩展到连续的动作空间。
DDPG借鉴了DQN的两个技巧:经验回放 和 固定Q网络。
DDPG使用策略网络直接输出确定性动作。
DDPG使用了Actor-Critic的架构。

学习过程

学习过程中,进一步认识了强化学习,了解了强化学习的一般方法,并利用Parl框架,运用所学的强化学习方法解决一些问题,对强化学习的整体知识架构有了初步的理解。
在实际动手中还是遇到很多问题的,只有实际动手才能真正掌握课上学的知识!

学习感悟

1.在作业4和作业5消耗了大量的时间和精力,最后还是没达到个人预期。感觉投入跟收获没成正比…也可能因为目前个人能力有限,还无法快速掌握要领,需要时间磨炼。
2.在1星环境的接球游戏中,原来是游戏自身不支持多路并行训练,每次训练的batch只能是1,找了半天最后发现每次obs_batch达到32时就崩溃了,最后把BATCH_SIZE改为1就好了,1星环境还是比较容易实现的。
环境有问题,在台式机上运行没问题,笔记本上不行,而且一天了还没收敛,还要继续修改。
怪不得有问题,增加下面的代码就解决了!
obs = np.squeeze(obs)

  1. Flappybird相对就更简单一些,现在还是不能好好一直运行,分数还不稳定,之前做的输入是图像数据,现在给的是8个状态值,还要继续优化。

学习总结

课程整体还是比较合适的,但是作业训练耗时太久,与整体课程强度有些不大匹配,需要个人投入的成本较高,不过时间模型设计,调试经验倒是增长了很多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值