百度强化学习课程笔记

百度推出的7日强化学习(Reinforcement Learning, RL)课程,课程老师(李科浇),将强化学习(RL)初印象、基于表格型方法求解RL、基于神经网络方法求解RL、基于策略梯度求解RL、基于动作空间上求解RL等,用通俗易懂的语言讲解,感觉受益匪浅。下面我将这几天的课程重点及要点通过笔记总结记录一下。

1、强化学习应用领域及课程领域关系

强化学习应用领域很广,包括交通、资源调度、金融、游戏、机器人控制、用户交互等相关领域,相关的应用关系如下图1所示。

图1 强化学习(Reinforcement Learning)应用领域

 强化学习是机器学习方法中的一个分支,机器学习中包括监督学习方法、非监督学习方法、强化学习等,其中深度学习方法嵌入的上面的各个方法中,相关的对应关系如下图2所示:

图2 Deep Reinforcement Learning: An Overview 2018

强化学习相关的算法库和框架有很多,常见的强化学习框架比如PARL、Baseline、Garage、Ray Rllib、Coach、Dopamine等,下图3是对这些框架及相关算法总结。

图3 强化学习算法库及框架库对比

2、课程的知识点总结

课程《强化学习(RL)初印象》中,对强化学习概述、入门路线做了详细的阐述。环境搭建(搭建GYM环境+PARL环境),通过PARL把QuickStart 跑起来。

图4 强化学习(RL)初印象知识点总结

课程《基于表格型方法求解RL》,对MDP、状态价值、Q表格相关的概念进行了详细的阐述,对Sarsa、Q-learning代码解析,解决悬崖问题及其对比,以及使用Q-learning和Sarsa解决16宫格迷宫问题。本节知识点总结如下:

图5 表格方法知识点总结

 课程《基于神经网络方法求解RL》,讲解了函数逼近方法、DQN代码解析,解决CartPole问题,以及使用DQN解决 MountianCar问题。本节总结如下:

图6 神经网络方法知识点总结

  课程《基于策略梯度求解RL》,详细讲解了策略近似、策略梯度,Policy Gradient算法理解、代码解析,解决CartPole问题,以及使用Policy Gradient解决Atari的Pong问题。本节总结如下:

图7 策略梯度方法知识点总结

课程《连续动作空间上求解RL》,对连续动作空间、DDPG算法介绍,PARL DDPG代码解析,以及RLSchool 飞行器仿真环境介绍。课程总结如下:

图8 DDPG方法知识点总结

3、相关的参考资料

简单的弹跳和接球游戏:https://github.com/shivaverma/Orbit

GYM环境   Box2D (需要安装 box2d-py):https://gym.openai.com/envs/#box2d

PyGame游戏环境(含Flappy Bird):https://github.com/ntasfi/PyGame-Learning-Environment

GYM环境Robotics (需要安装 mujoco_py和试用许可证书):https://gym.openai.com/envs/#robotics

股票预测环境:https://github.com/kh-kim/stock_market_reinforcement_learning

RLSchool四轴飞行器的 速度控制任务 "velocity_control":https://github.com/PaddlePaddle/RLSchool/tree/master/rlschool/quadrotor

RLBench任务环境(使用机械臂完成某一项任务):https://github.com/stepjam/RLBench

交通信号灯控制:https://github.com/Ujwal2910/Smart-Traffic-Signals-in-India-using-Deep-Reinforcement-Learning-and-Advanced-Computer-Vision

《Reinforcement Learning:An Introduction》

伯克利2018 Deep RL课程:http://rail.eecs.berkeley.edu/deeprlcourse/

强化学习库 PARL:https://github.com/PaddlePaddle/PARL

百度强化学习资料:https://aistudio.baidu.com/aistudio/education/group/info/1335

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: