前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >强化学习第6课:什么是 Crossentropy 方法

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

作者头像
杨熹
发布2018-12-12 15:38:09
7880
发布2018-12-12 15:38:09
举报
文章被收录于专栏:杨熹的专栏

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

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

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

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

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

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

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

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


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

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

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

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


学习资料:

Practical Reinforcement Learning

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.11.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档