为了账号安全,请及时绑定邮箱和手机立即绑定

强化学习第6课:什么是 Crossentropy 方法

上次讲了马尔科夫决策过程,今天让我们来看看要如何求解这个过程?

求解方法不止有一个,
有一种思路是,我们有一个 policy,即有了行为和状态的概率分布。
对其进行初始化,可以是随机的,也可以根据具体问题用一些先验知识初始化。
然后想要改进这个 policy,可以通过获得数据,玩几次游戏,不断重复,policy 会随着这个过程调整变得越来越好。

符合这个思想的有一个算法叫做: crossentropy 方法。

还是以学自行车为例,开始的时候是等可能地踩脚踏板,向各个方向转轮子,有时候可能会马上就摔倒,有时候可能会骑一段距离。
摔倒再起来重新骑,比如这样骑了一百次,然后有些时候会做的比较好了,不会立刻摔倒了。

那么我们就想更频繁地采取一下这样的行动,
例如我们观察到,如果将轮子转到摔倒的那个方向的对立面,就会骑得更长一些,然后我们就会觉得,如果增加这样做的概率,我们就可能骑得更久一些。
重复这样一整个过程,我们骑自行车就会更顺手,更不容易犯错。

这样的方式学习骑车100次,从中选择几次最有效率的过程,开始的时候可能会选择不摔倒,现在可能是在一米之内不要摔倒。

然后用一个非常简单的算法去迭代,来不断的调整这个 policy,最后就到达了一个最优的 policy,这时候就能够非常熟练地骑自行车了。

再来看这个公式,它的意思就和上面的例子是一样的,也是一个很符合直觉的思想:尝试了 N 次,选择其中最好的 m 次,称为 elite,然后调整 policy 来增加在 elite 里面的 action 的概率。


最简单的情况是这个 policy 只是一个表格,它可以记忆所有的概率。

例如骑自行车有十种情况,可能倒向左边,倒向右边,保持在中间,骑得快,骑得慢等等。
对每种情况都有转向左边,转向右边,或者加速减速的概率。
那么首先初始化这些概率,例如用 uniform 随机分布,它可以保证等可能的尝试所有的行为。
再从这个概率分布中取样来选择行为。

然后开始骑车,例如尝试骑自行车连续100次。
从这100次尝试中,选择了25个最好的,作为 elite。
然后建立了一个新的 metrics:

我们去数这些 elite 过程中的状态和行为:
对每个 state 我们都数一下出现了多少次,也数一下处于这个状态中,多少次采取了什么样的 action。
然后做除法来得到这个概率分布,
再不断重复这个过程,这个概率分布就会不断地更新,不断地优化,骑车也就可以变得越来越好。


学习资料:


Hello World !

This is 不会停的蜗牛 Alice !

🐌 要开始连载强化学习系列啦!

今天开始我们一起来每天 2 分钟,get 强化学习的一个小知识吧!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消