强化学习7日打卡营学习心得(百度)
强化学习初印象
什么是强化学习
强化学习(简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。
核心思想:智能体agent在环境environment中学习,根据环境的状态state(或观测到的observation),执行动作action,并根据环境的反馈 reward(奖励)来指导更好的动作。
强化学习能做什么
- 游戏(马里奥、Atari、Alpha Go、星际争霸等)
- 机器人控制(机械臂、机器人、自动驾驶、四轴飞行器等)
- 用户交互(推荐、广告、NLP等)
- 交通(拥堵管理等)
- 资源调度(物流、带宽、功率等)
- 金融(投资组合、股票买卖等)
- 其他
强化学习与监督学习的区别
- 强化学习、监督学习、非监督学习是机器学习里的三个不同的领域,都跟深度学习有交集。
- 监督学习寻找输入到输出之间的映射,比如分类和回归问题。
- 非监督学习主要寻找数据之间的隐藏关系,比如聚类问题。
- 强化学习则需要在与环境的交互中学习和寻找最佳决策方案。
- 监督学习处理认知问题,强化学习处理决策问题。
强化学习的如何解决问题
- 强化学习通过不断的试错探索,吸取经验和教训,持续不断的优化策略,从环境中拿到更好的反馈。
- 强化学习有两种学习方案:基于价值(value-based)、基于策略(policy-based)
强化学习的算法和环境
- 经典算法:Q-learning、Sarsa、DQN、Policy Gradient、A3C、DDPG、PPO
- 环境分类:离散控制场景(输出动作可数)、连续控制场景(输出动作值不可数)
- 强化学习经典环境库GYM将环境交互接口规范化为:重置环境reset()、交互step()、渲染render()
- 强化学习框架库PARL将强化学习框架抽象为Model、Algorithm、Agent三层,使得强化学习算法的实现和调试更方便和灵活。
基于表格型方法求解RL
表格型方法——Sarsa
Sarsa 全称是state-action-reward-state’-action’,目的是学习特定的state下,特定action的价值Q,最终建立和优化一个Q表格,以state为行,action为列,根据与环境交互得到的reward来更新Q表格。
更新公式为:
表格型方法—— 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的更新公式为:
基于神经网络方法求解RL
- 表格型方法存储的状态数量有限,当面对围棋或机器人控制这类有数不清的状态的环境时,表格型方法在存储和查找效率上都受局限,DQN的提出解决了这一局限,使用神经网络来近似替代Q表格。
- 本质上DQN还是一个Q-learning算法,更新方式一致。为了更好的探索环境,同样的也采用ε-greedy方法训练。
- 在Q-learning的基础上,DQN提出了两个技巧使得Q网络的更新迭代更稳定。
- 经验回放 Experience Replay:主要解决样本关联性和利用效率的问题。使用一个经验池存储多条经验s,a,r,s’,再从中随机抽取一批数据送去训练。
- 固定Q目标 Fixed-Q-Target:主要解决算法训练不稳定的问题。复制一个和原来Q网络结构一样的Target Q网络,用于计算Q目标
附加一个DQN实践: https://aistudio.baidu.com/aistudio/projectdetail/584643
基于策略梯度求解RL——Policy Gradient
在强化学习中,有两大类方法,一种基于值(Value-based),一种基于策略(Policy-based)
Value-based的算法的典型代表为Q-learning和SARSA,将Q函数优化到最优,再根据Q函数取最优策略。
Policy-based的算法的典型代表为Policy Gradient,直接优化策略函数。
采用神经网络拟合策略函数,需计算策略梯度用于优化策略网络。
优化的目标是在策略π(s,a)的期望回报:所有的轨迹获得的回报R与对应的轨迹发生概率p的加权和,当N足够大时,可通过采样N个Episode求平均的方式近似表达。
- 在强化学习中,有两大类方法,一种基于值(Value-based),一种基于策略(Policy-based)
- Value-based的算法的典型代表为Q-learning和SARSA,将Q函数优化到最优,再根据Q函数取最优策略。
- Policy-based的算法的典型代表为Policy Gradient,直接优化策略函数。
- 采用神经网络拟合策略函数,需计算策略梯度用于优化策略网络。
- 优化的目标是在策略π(s,a)的期望回报:所有的轨迹获得的回报R与对应的轨迹发生概率p的加权和,当N足够大时,可通过采样N个Episode求平均的方式近似表达。
- 优化目标对参数θ求导后得到策略梯度:
REINFORCE算法实践:
https://aistudio.baidu.com/aistudio/projectdetail/585020
连续动作空间上求解RL——DDPG
DDPG简介
- DDPG的提出动机其实是为了让DQN可以扩展到连续的动作空间。
- DDPG借鉴了DQN的两个技巧:经验回放 和 固定Q网络。
- DDPG使用策略网络直接输出确定性动作。
- DDPG使用了Actor-Critic的架构。
DDPG实践
使用DDPG解决连续控制版本的CartPole问题,给小车一个力(连续量)使得车上的摆杆倒立起来。
https://aistudio.baidu.com/aistudio/projectdetail/585161.
总结
这是我参加的第二次百度打卡营了,总的来说收获挺大的。初步认识了深度强化学习,为以后更深层次的研究打下了很好的基础。百度的parl确实很好用,强力推荐!