EnforceLearning-主动强化学习
前言:
被动学习Agent由固定的策略决定其行为。主动学习Agent必须自己决定采取什么行动。
具体方法是:
Agent将要学习一个包含所有行动结果概率的完整模型,而不仅仅是固定策略的模型;
接下来,Agent自身要对行动做出选择( 它需要学习的函数是由最优策略所决定的,这些效用遵循 Berman方程 );
最后的问题是每一步要做什么(在获得了对于学习到的模型而言最优的效用函数U之后,Agent能够通过使期望最大化的单步前瞻提取一个最优行动;或者它使用迭代策略,最优策略已经得到,所以它应该简单的执行最优策略所建议的行动)。
一、完整模型
Passive-ADP-Agent所使用的简单学习机制将做的很好。
二、探索
1、贪婪算法
一个ADP Agent在搜索路径时,每一步都遵循所学习的模型的最优策略的建议,被称为 贪婪Agent。
一般问题:选择最优策略是如何导致非最优结果的? 答案是:学习到的模型与真实环境中的模型并不相同;因而学习到的模型的最优可能不是真实环境中的最优。不幸的是,Agent并不知道真实环境是什么,所以它不能针对真实环境计算最优行动。
2、如何改进?
折中:贪婪Agent忽略的事实是行动不仅根据当前学习到的模型提供回报,他们也通过影响所接受的感知信息对真实模型的学习做出贡献。通过改进模型,Agent将在未来得到更高的回报。
方法:Agent必须在充分利用信息exploitation 以最大化回报——反映在其当前效用估计上,和探索exploration以及最大化长期利益之间进行折中。
单纯的充分利用信息要冒墨守成规的风险;那么单纯的探索对于提高一个人的知识是毫无用处的。
3、GLIE Greedy in the limit of infinite exploration
寻找最优搜索策略,在统计决策理论领域得到了深入的研究。对精确求解最优策略并没有一个固定的方法,但是可以提出一个合理的方案最终导致Agent的最优行动。技术上,任何这样的方案在无穷探索的极限下都必然是贪婪的。
一个GLIE方案必须在每个状态下的每个行动进行无限制次数的尝试,以避免一系列不常见的糟糕结果而错过最优行动的概率。一个ADP Agent使用这样的方案最终将学习到真实的环境模型。 一个GLIE方案最终还必须变得贪婪,以使得Agent的行动对于学习到(此时等同于真实的)真实模型而言 是最优的。
4、几种尝试
一种最简单的方式是:让Agent在1/t的时间片段内选择一个随机行动,而其他时刻走遵循贪婪策略。简单时序片段脱离法
另一种更为有效的方法是:给Agent很少尝试的行动进行加权,同时避免那些已经确信的具有最低效用的行动,实现方法为 改变约束方程,以便给相对来说尚未探索的状态——行动分配更高的效用估计。 本质上,会得到一个关于可能环境的乐观先验估计,并导致Agent 最初的行动过如同整个区域到处散布者几号的回报一样。
三、学习行动-效用函数
1、为一个主动ADP Agent构建一个主动时序差分学习,与被动情况最明显的变化是Agent不再有固定的策略,它学习效用函数U时,就需要学习一个模型以便能够通过单步前瞻基于U采取一个行动。
构建一个主动学习ADP Agent,随着训练序列的时间趋于无穷,TD算法与ADP算法收敛到相同的值。
2、Q-Learn作为一种时序TD方法,它学习 一种行动-效用表示 而不是学习效用。
后续:
参考: DeepMind用ReinforcementLearning玩游戏
EnforceLearning-主动强化学习的更多相关文章
- 强化学习论文(Scalable agent alignment via reward modeling: a research direction)
原文地址: https://arxiv.org/pdf/1811.07871.pdf ======================================================== ...
- 【整理】强化学习与MDP
[入门,来自wiki] 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的 ...
- 强化学习之 免模型学习(model-free based learning)
强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...
- (译) 强化学习 第一部分:Q-Learning 以及相关探索
(译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...
- 强化学习读书笔记 - 02 - 多臂老O虎O机问题
# 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...
- 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)
强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...
- 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)
强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...
- 强化学习之Q-learning ^_^
许久没有更新重新拾起,献于小白 这次介绍的是强化学习 Q-learning,Q-learning也是离线学习的一种 关于Q-learning的算法详情看 传送门 下文中我们会用openai gym来做 ...
- 强化学习 - Q-learning Sarsa 和 DQN 的理解
本文用于基本入门理解. 强化学习的基本理论 : R, S, A 这些就不说了. 先设想两个场景: 一. 1个 5x5 的 格子图, 里面有一个目标点, 2个死亡点二. 一个迷宫, 一个出发点, ...
- TensorLayer官方中文文档1.7.4:API – 强化学习
API - 强化学习¶ 强化学习(增强学习)相关函数. discount_episode_rewards([rewards, gamma, mode]) Take 1D float array of ...
随机推荐
- 53. Maximum Subarray(动态规划)
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- 该页必须使用安全性较高的Web 浏览器查看
当用https访问某个网站时,IE提醒“该页必须使用安全性较高的Web 浏览器查看” 您要访问的资源使用了128位版本的“安全套接层(SSL)” 安全保护.要查看该资源,您需要使用支持该版本的SSL浏 ...
- Java基础——基础数据类型与读入输出
首先我们写完了HelloWorld就学会了java的一种输出 System.out.println() 用起来就像是被强化过的C++的puts函数 或者就是自带endl的cout函数,中间的" ...
- 混合了RBAC和ACL的权限系统(二) -- 基于RBAC的系统权限
http://fightplane.iteye.com/blog/1278464 1. 概念说明 A 系统级权限:从角色的角度出发,不特定于任何实际的资源的权限.比如“用户是否可以修改标题”这个权限, ...
- Windows超级卸载工具Total Uninstaller,能完全卸载.NET Framework
https://github.com/tsasioglu/Total-Uninstaller
- 【原创】TCP超时重传机制探索
TCP超时重传机制探索 作者:tll (360电商技术) 1)通信模型 TCP(Transmission Control Protocol)是一种可靠传输协议.在传输过程中当发送方(sender)向接 ...
- 605B. Lazy Student(codeforces Round 335)
B. Lazy Student time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- jenkins集成多个项目
https://www.cnblogs.com/gossip/p/5961376.html 需要jenkins版本高点 安装插件:Multijob plugin
- C#上移,下移TreeView中的树节点顺序
C#上移,下移TreeView中的树节点顺序 2009-08-12 20:10 1494人阅读 评论(2) 收藏 举报 c#buttonobjectnullstring C#中,通过单击上移,下移按钮 ...
- Opencv保存摄像头视频&&各种编码器下视频文件占用空间对比
打开视频文件或摄像头视频需要使用Opencv中的VideoCapture类,保存视频或摄像头视频到本地磁盘,需要使用Opencv中的VideoWriter类,使用都很简单,这篇文章就记录一下Video ...