强化学习7日打卡营学习心得(百度)

强化学习7日打卡营学习心得(百度)

  • 强化学习初印象
    • 什么是强化学习
    • 强化学习能做什么
    • 强化学习与监督学习的区别
    • 强化学习的如何解决问题
    • 强化学习的算法和环境
  • 基于表格型方法求解RL
    • 表格型方法——Sarsa
    • 表格型方法—— Q-learning
  • 基于神经网络方法求解RL
  • 基于策略梯度求解RL——Policy Gradient
  • 连续动作空间上求解RL——DDPG
    • DDPG简介
    • DDPG实践
  • 总结

强化学习初印象

什么是强化学习

强化学习(简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。
核心思想:智能体agent在环境environment中学习,根据环境的状态state(或观测到的observation),执行动作action,并根据环境的反馈 reward(奖励)来指导更好的动作。

强化学习能做什么

  1. 游戏(马里奥、Atari、Alpha Go、星际争霸等)
  2. 机器人控制(机械臂、机器人、自动驾驶、四轴飞行器等)
  3. 用户交互(推荐、广告、NLP等)
  4. 交通(拥堵管理等)
  5. 资源调度(物流、带宽、功率等)
  6. 金融(投资组合、股票买卖等)
  7. 其他

强化学习与监督学习的区别

  1. 强化学习、监督学习、非监督学习是机器学习里的三个不同的领域,都跟深度学习有交集。
  2. 监督学习寻找输入到输出之间的映射,比如分类和回归问题。
  3. 非监督学习主要寻找数据之间的隐藏关系,比如聚类问题。
  4. 强化学习则需要在与环境的交互中学习和寻找最佳决策方案。
  5. 监督学习处理认知问题,强化学习处理决策问题。

强化学习的如何解决问题

  1. 强化学习通过不断的试错探索,吸取经验和教训,持续不断的优化策略,从环境中拿到更好的反馈。
  2. 强化学习有两种学习方案:基于价值(value-based)、基于策略(policy-based)

强化学习的算法和环境

  1. 经典算法:Q-learning、Sarsa、DQN、Policy Gradient、A3C、DDPG、PPO
  2. 环境分类:离散控制场景(输出动作可数)、连续控制场景(输出动作值不可数)
  3. 强化学习经典环境库GYM将环境交互接口规范化为:重置环境reset()、交互step()、渲染render()
  4. 强化学习框架库PARL将强化学习框架抽象为Model、Algorithm、Agent三层,使得强化学习算法的实现和调试更方便和灵活。

基于表格型方法求解RL

表格型方法——Sarsa

Sarsa 全称是state-action-reward-state’-action’,目的是学习特定的state下,特定action的价值Q,最终建立和优化一个Q表格,以state为行,action为列,根据与环境交互得到的reward来更新Q表格。
更新公式为:在这里插入图片描述

表格型方法—— Q-learning

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

基于神经网络方法求解RL

  1. 表格型方法存储的状态数量有限,当面对围棋或机器人控制这类有数不清的状态的环境时,表格型方法在存储和查找效率上都受局限,DQN的提出解决了这一局限,使用神经网络来近似替代Q表格。
  2. 本质上DQN还是一个Q-learning算法,更新方式一致。为了更好的探索环境,同样的也采用ε-greedy方法训练。
  3. 在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求平均的方式近似表达。强化学习7日打卡营学习心得(百度)_第1张图片
    • 优化目标对参数θ求导后得到策略梯度:
      在这里插入图片描述

REINFORCE算法实践:
https://aistudio.baidu.com/aistudio/projectdetail/585020

连续动作空间上求解RL——DDPG

DDPG简介

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

DDPG实践

使用DDPG解决连续控制版本的CartPole问题,给小车一个力(连续量)使得车上的摆杆倒立起来。
https://aistudio.baidu.com/aistudio/projectdetail/585161.

总结

这是我参加的第二次百度打卡营了,总的来说收获挺大的。初步认识了深度强化学习,为以后更深层次的研究打下了很好的基础。百度的parl确实很好用,强力推荐!

你可能感兴趣的:(百度)