百度强化学习框架PARL入门强化学习

1.什么是强化学习?

      强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
      强化学习是一门受心理学研究而启发的学科,强调的是与外界环境的交互,就像人自身一样,我们过去经验的总和成就了现在的自己。
下面附上百度PARL强化学习框架链接:
PARL框架github链接
如果遇到下载过慢问题可以去码云下载,下面附上码云PARL链接:
PARL框架gitee链接
走过路过不要错过欢迎同学们点下star支持一下咱们的自己的框架

2.强化学习与其他机器学习的区别

      监督学习和非监督学习的输出为“是什么”,是一个判断,多用于聚类和回归问题。比较经典的案例如手写数字体识别,房价预测。
      强化学习的输出是”决策“,通常用于策略类问题,比如阿尔法狗就是典型的强化学习成果。

3.强化学习经典算法

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

      Sarsa在训练中为了更好的探索环境,采用ε-greedy方式来训练,有一定概率随机选择动作输出。

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

4.强化学习代码主要构成三大架构

  • Agent把产生的数据传给algorithm,algorithm根据model的模型结构计算出Loss,使用SGD或者其他优化器不断的优化,PARL这种架构可以很方便的应用在各类深度强化学习问题中。
  • Model用来定义前向(Forward)网络,用户可以自由的定制自己的网络结构。
  • Algorithm定义了具体的算法来更新前向网络(Model),也就是通过定义损失函数来更新Model,和算法相关的计算都放在algorithm中。

5.感想

     百度在AI领域一直走在世界顶尖水平,之前一直学习深度学习,框架也是颇负盛名的pytorch和tensorflow,到后来不经意发现咱们的paddlepaddle框架也逐渐发展起来,还开设了很多课程方便同学们学习,于是便加入了飞浆的大家庭中,可能社区并不够强大,但是咱有着最为方便阅读的开发手册,社区本身就是大家一起齐心协力搭建起来的,对于即将学习深度学习和强化学习的同学们,希望可以尝试一下paddlepaddle和PARL,如果不是那么优秀,就让大家一起努力让他优秀起来,让以后无论学术界还是工程界,飞浆都能占有一席之地。

ps:所有安装paddlepaddle或者PARL框架不成功的凭star截图都可以私信教大家安装。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值