前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >强化学习 8: approximate reinforcement learning

强化学习 8: approximate reinforcement learning

作者头像
杨熹
发布2018-11-21 18:20:44
5000
发布2018-11-21 18:20:44
举报
文章被收录于专栏:杨熹的专栏杨熹的专栏

上次提到一个问题,就是如何有效的将交叉熵算法用于很大的数据量的问题上。

前面说过,对于骑自行车这种可能只有十个 state,四个 aciton 的小问题上面,交叉熵可以解决,但如果在自动驾驶,或者打游戏上面,它却不行,因为这时我们没有办法再存储一个表格来记录所有可能状态的所有可能行为的概率,因为这可能有几十亿的状态,或者是一个连续空间,是没有办法做记录的。 存储这样的表格不仅是不可能的,也是没有效率的。如果我们稍微改变了某个状态,agent 就要从头开始学习,因为这是一个不同的状态,从来没有见过。

人类肯定不是这样学习的,我们有概括能力,所以也想让强化学习算法具有这样的能力,这时就可以用approximate reinforcement learning

这时我们就不再不明确地存储所有的概率了,可以用机器学习算法去学习,例如用神经网络,也可以是回归,随机森林等任何算法都可能,让它们来模拟学习。

例如在某个游戏中,agent 玩了 N 次,从中选择 M 次成绩最好的,称之为 elite games。这时不再更新表格,只是通过若干次梯度下降的迭代来学习,通过训练神经网络,来增加在 elite 中的 action 的概率。

神经网络要做的是分类任务, 它的输入是 states,目标 y 就是对应的 action, 即网络的输入就是 elite states,elite actions 作为要预测的目标, 然后用随机梯度下降等算法,执行若干次迭代找到最优的策略, 当我们想要更新这个神经网络的 policy 时,只需要调用 fit 训练一下。

这个就是最简单的最基本的算法,而且很有效。

它的基本流程是没有变的,和交叉熵的差不多,也是玩几次游戏,选择最好的几次,作为训练集,训练神经网络模型。


学习资料:

Practical Reinforcement Learning

推荐阅读 历史技术博文链接汇总

http://www.jianshu.com/p/28f02bb59fe5

也许可以找到你想要的:

[入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]

Hello World !

This is 不会停的蜗牛 Alice !

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

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档