百度飞桨强化学习课程心得

百度飞桨强化学习课程心得

  • 引言: 什么是强化学习
    • 第一节:从SARSA到Q-learning
    • 第二节:Deep Q network
    • 第三节:Policy gradient
    • 第四节:DDPG

引言: 什么是强化学习

在参加百度的活动之前,我只是粗略的对于强化学习有一个概念,这篇文章也仅仅是一位初学者的心得体会,望大佬们批评指正,文章中的图片均来自于网络或百度课程当中。
百度飞桨强化学习课程心得_第1张图片从上图我们可以比较直观地看出强化学习与监督学习的区别,强化学习关注的在与环境的交互中,智能体(Agent)需要作出怎样的动作,并且在作出这个动作后会带来怎样的结果(reward),而监督学习要做的是一种识别与认知。例如当拿到一张熊的图片的时候,监督学习会告诉你这是一只熊,并且这是怎样的一只熊;而强化学习输出的是当看到一只熊时要作出怎样的反应,是趴下装死还是赶紧跑路。
对于强化学习来说,有以下4个核心组成部分:
强化学习四元组E =
s:state 状态
a:action 动作
r:reward 奖励
p:probability 状态转移概率
百度飞桨强化学习课程心得_第2张图片

第一节:从SARSA到Q-learning

对于机器来说,要做的就是在环境中不断尝试而学习得到一个“策略”π,根据这个策略,在状态x下就能得知要执行的动作a = π(x)。图中的r即为状态动作的价值。通常我们使用Q表格来储存每一个状态下选择某一种动作所带来的价值。
百度飞桨强化学习课程心得_第3张图片
如上图所示通常使用Q表格来存储每一个状态下采取某种动作带来的reward。reward需要考虑的是采取这一步动作后对于以后所有情况下的期望总收益,如下例所示:

百度飞桨强化学习课程心得_第4张图片
但是,做一个事顶多考虑后面一段时间的影响,把后面每一段时间的情形以相同的权重考虑显然是不合理的。所以通常采用以下的方式进行reward的计算:
百度飞桨强化学习课程心得_第5张图片
通过引入衰减因子,我们就可以控制是采取“目光短浅”还是“目光长远”的策略了。
接下来介绍SARSA与Q-learning算法,算法步骤如下所示:
百度飞桨强化学习课程心得_第6张图片百度飞桨强化学习课程心得_第7张图片
两者的区别在于而Sarsa在每一步中以e-greedy的策略选取下一个状态动作值函数,而Q-learning在每一步TD中贪心的获取下一步最优的状态动作值函数。在这种情况下,Q-learning更倾向于找到一条最优policy,即便有可能因此走到更差的情形,而Sarsa则会找到一条次优的policy。
两者在实际应用中的区别如下所示:

百度飞桨强化学习课程心得_第8张图片
红色为SARSA算法的路径,蓝色为Q-learning的路径。
这就是第一部分的内容。
未完待续。。

第二节:Deep Q network

第三节:Policy gradient

第四节:DDPG

你可能感兴趣的:(强化学习)