强化学习 # 概述

强化学习 # 概述博主在学习强化学习和深度强化学习中对RL/DRL的归纳总结

  • 博主在学习强化学习和深度强化学习中对RL/DRL的归纳总结。持续维护。

强化学习算法分类图

强化学习 # 概述

要注意区别:environment、state、action、reward、agent、observation。


概述

强化学习的关键是:exploitation(利用) 和 exploration (探索),也可以解读为trial和reward。和监督学习算法的区别是:

  • 监督学习:已知数据、标签
  • 强化学习:一开始没有标签,通过try获得data和label
    强化学习 # 概述

RL的一些基本算法:通过行为的价值来选取特定行为的方法, 包括使用表格学习的 q learning, sarsa, 使用神经网络学习的 deep q network, 还有直接输出行为的 policy gradients, 又或者了解所处的环境, 想象出一个虚拟的环境并从虚拟的环境中学习 …

关于 状态(state)和观察值(observation) 的区别:
state代表的是全局的状态,observation代表的是agent局部观测值。(在多智能体中有差别)

Modelfree 和 Modelbased

强化学习 # 概述
(这里的model指的environment model)

  • Model-free:不尝试去理解环境,环境给了我们什么就是什么,eg: Q learning, Sarsa, Policy Gradients 都是从环境中得到反馈然后从中学习
  • Model-based:用一个模型来代表环境,多了一道程序, 为真实世界建模。 model-based,能通过想象来预判断接下来将要发生的所有情况. 然后选择这些想象情况中最好的那种

基于概率 和 基于价值

强化学习 # 概述
强化学习 # 概述

  • 基于概率:根据概率采取行动, 所以每种动作都有可能被选中, 只是可能性不同。eg: Policy Gradients
  • 基于价值:根据最高价值来选着动作(只能用于离散问题)eg: Q learning, Sarsa

二者结合: Actor-Critic,actor 会基于概率做出动作, 而 critic 会对做出的动作给出动作的价值,在原有的 policy gradients 上加速了学习过程.

回合更新 和 单步更新

强化学习 # 概述
差别如题目。

回合更新: Monte-carlo learning 和基础版的 policy gradients
单步更新:Qlearning, Sarsa, 升级版的 policy gradients

因为单步更新更有效率, 所以现在大多方法都是基于单步更新. 比如有的强化学习问题并不属于回合问题

在线学习 和 离线学习

强化学习的智能体Agent学习的是:让回报最大化的策略(控制策略)。

  • 行为策略(Behavior Policy): 行为策略是用来与环境互动产生数据的策略,即在训练过程中做决策
  • 目标策略(Target Policy):目标策略在行为策略产生的数据中不断学习、优化,即学习训练完毕后拿去应用的策略

强化学习 # 概述

  • 在线学习 On-policy:本人在场, 并且一定是本人边玩边学习,On-policy 的目标策略和行为策略是同一个策略,好处就是简单粗暴,直接利用数据就可以优化其策略,但这样的处理会导致策略其实是在学习一个局部最优,因为On-policy的策略没办法很好的同时保持即探索又利用;eg:Sarsa、Sarsa lambda

  • 离线学习 Off-policy:同样是从过往的经验中学习, 但是这些过往的经历没必要是自己的经历, 任何人的经历都能被学习。eg: Q learning、Deep-Q-Network。Off-policy将目标策略和行为策略分开,可以在保持探索的同时,更能求到全局最优值。但其难点在于:如何在一个策略下产生的数据来优化另外一个策略?

On-policy-与Off-policy的区别在于:更新价值所使用的方法是沿着既定的策略(on-policy)抑或是新策略(off-policy)。

学术性的导入

本节目标:通过阅读下面的文字材料掌握并了解RL领域的基本概念:试错学习、值函数、动态规划、时序差分学习、最优控制问题、Bellman方程、马尔可夫决策过程MDP、深度强化学习DRL、Actor-Critic、Markov属性等。对强化学习领域有一个宏观的认识。


强化学习两条主线:试错学习(trial-and-error)、基于值函数和动态规划的方法。以及半个主线:时间/时序差分学习(Temporal-Difference,TD)。20世纪80年代后期三条主线汇聚在一起。

20世纪50年代:
最优控制问题:控制动态系统在每一时刻都能根据外界环境的变化选出最优行为。通过设计控制器来最小化动态系统的行为随时间变化的测度问题。
Bellman对Hamilton、Jacobi理论进行了扩展,提出了Bellman方程来求解最优控制问题。通过求解求解Bellman方程来解决最优控制问题的方法叫DP(动态规划)。
马尔可夫决策过程(Markov Decision Process,MDP):最优控制问题的离散随机版本。
关于MDP更详细的介绍参考:David SIlver关于MDP的介绍
在RL框架中,agent根据环境的signal(state)来做出决策。我们把环境及其状态信号的属性叫做马尔可夫属性。

2016年Google DeepMind提出了基于DRL+MCTS的AlphaGo在围棋上达到人类顶级水平。
2017年Google推出了AlphaGo Zero。
DRL:Deep Reinforcement Learning,目前DRL领域的算法都可以包含在Actor-Critic框架下。而AC属于是TD学习方法。

将NN应用于DL的难点:
DL中,要求数据是独立同分布i.i.d,且分布是固定的,在RL中,处理的数据会出现稀疏、噪声、延迟等情况,并且数据分布会随着算法学习新的行为发生改变。更多参考实际案例ref~
DRL经典算法:DQN、DDPG、PPO、A3C…


进阶:必读论文

DQN,”playing atari with deep reinforcement learning“
A3C,”Asynchronous methods for deep reinforcement learning“
DDPG,“Continuous control with deep reinforcement learning”
PPO,“Proximal policy optimization algorithms”

前沿方向:Model-based RL、Hierarchical RL、Multi Agent RL、Meta Learning

理论课:UC Berkely CS285、Stanford CS234、2015 David Silver经典强化学习公开课

强化学习应用:
强化学习 # 概述

DRL使用的时候的常见套路ref~

代码实现:

  • tensorflow
  • pytorch
  • paddlepaddle

PARL

PARL:paddlepaddle的RL库开源算法实现
强化学习 # 概述

Gym

仿真平台、RL测试平台。

  • 离散控制场景:一般用Atari环境评估
  • 连续控制场景:一般用mujoco环境游戏来评估

强化学习 # 概述

Reference

[1] mofany-Reinforcement-learning
[2]《Reinforcement Learning:An Introduction》
[3]《深度强化学习:学术前沿与实战应用》
[4] CS285:Deep Reinforcement Learning
[5] 飞浆-强化学习
[6]David SIlver关于MDP的介绍

今天的文章
强化学习 # 概述分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60685.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注