本人对于强化学习是真小白,参加百度强化学习7日打卡营的目的也是为了对强化学习有个基本的了解。下面对于这个课程的主要知识进行一个个人终结。
什么是强化学习?
核心思想:智能体Agent在环境Environment中学习,根据环境的状态State(得到观察Observation),做出决策Policy执行动作Action,环境会根据智能体的动作给出反馈Reward,智能体根据对于的反馈进行学习。
可以将强化学习简单定义为:强化学习是一种优化智能体在环境中行为的一种方法。根据环境反馈的奖励,调整智能体的行为策略,提升智能体实现目标的能力。
强化学习与其他机器学习的关系
强化学习与其他机器学习的区别
强化学习与监督学习的区别
监督学习实际上是机器模仿人类进行感知学习,监督学习通过人们给的标签进行学习而强化学习是感知方面的学习,相比与监督学习强化学习更加智能。
AI = RL + DL
基于表格型方法求解RL
Sarsa
Sarsa全称是state-action-reward-state'-action',目的是学习特定的state下,特定action的价值Q,最终建立和优化一个Q表格,以state为行,action为列,根据与环境交互得到的reward来更新Q表格,更新公式为:
Sarsa在训练中为了更好的探索环境,采用ε-greedy方式来训练,有一定概率随机选择动作输出。
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的更新公式为:
On-Policy 与 Off-Policy
On-policy: 同策略是指产生数据的策略与评估和要改善的策略是同一个策略。比如,要产生数据的策略和评估及要改进的策略都是ε-greedy策略。
Off-policy: 异策略是指产生数据的策略与评估和改善的策略不是同一个策略。
Q learning 机器人 永远都会选择最近的一条通往成功的道路, 不管这条路会有多危险. 而 Sarsa 则是相当保守, 他会选择离危险远远的, 拿到宝藏是次要的, 保住自己的小命才是王道.
神经网络方法求解RL——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目标值。
策略梯度方法求解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求平均的方式近似表达。
优化目标对参数θ求导后得到策略梯度:
连续动作空间上求解RL——DDPG
DDPG的提出动机其实是为了让DQN可以扩展到连续的动作空间。
DDPG借鉴了DQN的两个技巧:经验回放 和 固定Q网络。
DDPG使用策略网络直接输出确定性动作。
DDPG使用了Actor-Critic的架构。
赞
刚好我最近在学强化学习,同赞
课程脉络理得很清楚啊~~
加油!共同进步!
算法从sarsa到Q-learning,到DQN,到DDPG。就是算法以Q表格为基础,引入深度卷积网络,引入Actor-Critic的过程。
尤其DDPG的Actor-Critic构架,是不是借鉴了GAN,亦或相反。
笔记详细,学习下
谢谢分享
赞赞赞