首页 AI Studio教育版 帖子详情
强化学习7日小白入门笔记
收藏
快速回复
AI Studio教育版 文章课程答疑 1790 1
强化学习7日小白入门笔记
收藏
快速回复
AI Studio教育版 文章课程答疑 1790 1

      近期忙里偷闲,抽空听了百度飞桨团队制造了强化学习7日打卡营,课程从强化学习最基础的概念开始讲起,逐步过渡到RL的经典算法SARSA, Q-Learning, DQN, DDPG的介绍和实例分析,深入浅出,讲解的非常细致。听完课后,对强化学习的基础知识和整体框架都有了一个初步的概念,为后续进一步的学习打下了基础。

        

强化学习(英语:Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。

核心思想:智能体agent在环境environment中学习,根据环境的状态state(或观测到的observation),执行动作action,并根据环境的反馈 reward(奖励)来指导更好的动作。

 

强化学习问题的解法有表格法、神经网络的方法、基于策略梯度求解和在连续动作空间上求解。

表格法又有sarsa和q-learning两种,Sarsa全称是state-action-reward-state'-action',目的是学习特定的state下,特定action的价值Q,最终建立和优化一个Q表格,以state为行,action为列,根据与环境交互得到的reward来更新Q表格。

Q-learning也是采用Q表格的方式存储Q值(状态动作价值),决策部分与Sarsa是一样的,采用ε-greedy方式增加探索。

Q-learning跟Sarsa不一样的地方是更新Q表格的方式。

Sarsa是on-policy的更新方式,先做出动作再更新。

Q-learning是off-policy的更新方式,更新learn()时无需获取下一步实际做出的动作next_action,并假设下一步动作是取最大Q值的动作。

 

DQN ,深度Q-Learning(Deep Q-Learing)是用神经网络求解q-learning的方法,Q值的计算不是直接通过状态值s和动作计算,而是通过Q神经网络来计算。

DQN的输入是状态s对应的状态向量,输出是所有动作在该状态下的动作价值函数Q,Q网络可以是DNN, CNN或RNN等。

DQN主要使用的技巧是经验回放,即将每次和环境交互得到的奖励与状态更新情况都保存起来,用于后面目标Q值的更新。

通过经验回放得到的目标Q值和通过Q网络计算的Q值存在误差,这时通过梯度的反向传播更新神经网络的参数w,直到参数w收敛。

 

强化学习中有两种大的求解方法,基于值的(Value-based)和基于策略的(Policy-based)。前面讲到的都是基于值的求解方法,下面还有基于策略的求解方法,Policy Gradient,直接优化策略函数。

Policy Gradient的优化目标用梯度上升来寻找最优的梯度,需要找到一个可优化的函数目标,最简单的优化目标就是初始状态收获的期望。

 

连续动作空间上求解RL使用到了Actor-Critic算法。Actor-Critic从名字上看包括两部分,演员(Actor)和评价者(Critic)。其中Actor使用策略函数,负责生成动作并和环境交互。而Critic使用价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。

Deep Deterministic Policy Gradient (DDPG)从名字上看就是深度确定性策略梯度。

其中DPG是相对于随机策略而言,对于某一些动作集合来说,它可能是连续值,或者非常高维的离散值,这样动作的空间维度极大。如果我们使用随机策略,并计算各个可能的动作的价值的话,那需要的样本量是非常大才可行的,因而有人想出了使用确定性策略来简化这个问题,即相同的策略,在同一个状态处,动作是唯一的。

0
收藏
回复
全部评论(1)
时间顺序
AIStudio810258
#2 回复于2020-06

学得好认真啊~~

加油!共同进步!

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户