相关文章

​【一】飞桨paddle【GPU、CPU】安装以及环境配置+python入门教学​

​【二】-Parl基础命令​

​【三】-Notebook、&pdb、ipdb 调试​

​【四】-强化学习入门简介​

​【五】-Sarsa&Qlearing详细讲解​

​【六】-DQN​

​【七】-Policy Gradient​

​【八】-DDPG​

​【九】-四轴飞行器仿真​


​一、AI Studio 项目详解【VisualDL工具】​

​二、AI Studio 项目详解【环境使用说明、脚本任务】​

​三、AI Studio 项目详解【分布式训练-单机多机】​

​四、AI Studio 项目详解【图形化任务】​

​五、AI Studio 项目详解【在线部署及预测】​

1.强化学习基础介绍

1.1 强化学习与其他学习之间的关系:

【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_机器学习【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_python_02


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

监督学习是认知:学习到这个是什么,【样本独立的】

强化学习是决策【样本之间有关系】


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

注意:从环境中获取的状态,有时候叫​​state​​,有时候叫​​observation​​,这两个其实一个代表全局状态,一个代表局部观测值,在多智能体环境里会有差别,但我们刚开始学习遇到的环境还没有那么复杂,可以先把这两个概念划上等号。

【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_python_03

1.2 强化学习两种方法:

【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_python_04


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

大致分类:

【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_深度学习_05

1.3 gym&parl

交互环境常用Gym中:

一般控制场景分为:离散控制场景【上下左右有限个】、连续控制场景【0-360°角度,连续的变量】


  • ​GYM​​是强化学习中经典的环境库,下节课我们会用到里面的​​CliffWalkingWapper​​和​​FrozenLake​​环境,为了使得环境可视化更有趣一些,直播课视频中演示的Demo对环境的渲染做了封装,感兴趣的同学可以在​​PARL​​代码库中的​​examples/tutorials/lesson1​​中下载​​gridworld.py​​使用。
  • ​PARL​​开源库地址:​​https:///PaddlePaddle/PARL​​​​

【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_深度学习_06

然后从github下载程序,可参考:

javascript:void(0)">​javascript:void(0)​

javascript:void(0)">​javascript:void(0)​

下载完PARL打开对应example

 【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_深度学习_07

1.4 PARL有点在于分布式并行框架:

【四】-强化学习入门简介---PaddlePaddlle强化学习及PARL框架_python_08

只需要红框对应代码,多集群。(多线程代码)

只需要拷贝一份代码到learner  master机器上, 当集群存在别的机器会自动拷贝代码到其余机器上。

这里采用1.8  paddle------------考虑到目前开源程序采用的都是1.8版本及之前的   所以安装2.0运行代码调试问题比较大,迁移工具也无法完全改进成功