【强化学习笔记分享】初学者定期更新学习心得体会,期待大家交流

举报
xia1111 发表于 2020/12/09 09:54:17 2020/12/09
【摘要】 引言: 什么是强化学习在此之前,我只是粗略的对于强化学习有一个概念,这篇文章也仅仅是一位初学者的心得体会,望大佬们批评指正,文章中的图片均来自于网络当中。对于强化学习来说,大家最早的认知可能就是AlphaGo,即一个自我博弈的围棋AI。而这就是强化学习最大的特点,不需要训练数据,而是通过智能体与环境的不断交互获得反馈进行学习,从而提升自我。下图可以比较直观地看出强化学习与监督学习的区别,强化...

引言: 什么是强化学习

在此之前,我只是粗略的对于强化学习有一个概念,这篇文章也仅仅是一位初学者的心得体会,望大佬们批评指正,文章中的图片均来自于网络当中。

image.png

对于强化学习来说,大家最早的认知可能就是AlphaGo,即一个自我博弈的围棋AI。

而这就是强化学习最大的特点,不需要训练数据,而是通过智能体与环境的不断交互获得反馈进行学习,从而提升自我。

下图可以比较直观地看出强化学习与监督学习的区别,强化学习关注的在与环境的交互中,智能体(Agent)需要作出怎样的动作,并且在作出这个动作后会带来怎样的结果(reward),而监督学习要做的是一种识别与认知。例如当拿到一张熊的图片的时候,监督学习会告诉你这是一只熊,并且这是怎样的一只熊;而强化学习输出的是当看到一只熊时要作出怎样的反应,是趴下装死还是赶紧跑路。对于一颗植物来说,对于植物现在时刻的状态选择浇水或者不浇水,都会以一定的概率得到植物的下一个状态。这就是强化学习。

image.png

对于强化学习来说,有以下4个核心组成部分:
强化学习四元组E = <S,A,P,R>
s:state 状态
a:action 动作
r:reward 奖励
p:probability 状态转移概率

从SARSA到Q-learning

对于智能体agent来说,要做的就是在环境中不断尝试而学习得到一个“策略”π,根据这个策略,在状态x下就能得知要执行的动作a = π(x)。图中的r即为状态动作的价值。通常我们使用Q表格来储存每一个状态下选择某一种动作所带来的价值。

image.png

如上图所示通常使用Q表格来存储每一个状态下采取某种动作带来的reward。reward需要考虑的是采取这一步动作后对于以后所有情况下的期望总收益,如下例所示:

image.png

但是,做一个事顶多考虑后面一段时间的影响,把后面每一段时间的情形以相同的权重考虑显然是不合理的。但如果不考虑后面的影响,又会使得策略过于贪婪,不够远视。那么这个问题该如何进行处理呢?


通常采用以下的方式进行reward的计算:

image.png

通过引入衰减因子,我们就可以控制是采取“目光短浅”还是“目光长远”的策略了。

从SARSA到Q-learning

接下来介绍SARSA与Q-learning算法,算法步骤如下所示:

引用《introduction to reinforcement learning》一书中的伪代码如下所示:


image.png

image.png

两者的区别在于而Sarsa在每一步中以e-greedy的策略选取下一个状态动作值函数,而Q-learning在每一步TD中贪心的获取下一步最优的状态动作值函数。在这种情况下,Q-learning更倾向于找到一条最优policy,即便有可能因此走到更差的情形,而Sarsa则会找到一条次优的policy。
两者在实际应用中的区别如下所示:

image.png

红色为SARSA算法的路径,蓝色为Q-learning的路径。

那么第一部分的学习内容就到此结束啦,后续更新。。。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。