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 ...
随机推荐
- Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置、设置web管理
>Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置.设置web管理 >>实验开始(使用SecureCRT 等工具软件): 一.华为设备密码重置,通过 ...
- 【[Offer收割]编程练习赛14 D】剑刃风暴(半径为R的圆能够覆盖的平面上最多点数目模板)
[题目链接]:http://hihocoder.com/problemset/problem/1508 [题意] [题解] 求一个半径为R的圆能够覆盖的平面上的n个点中最多的点数; O(N2log2N ...
- 敏捷开发系列学习总结(5)——这几招搞定团队协同Coding
一个团队在一起Coding时,就怕发生这样的事情:同1个文件你改了,我也改了,他也改了,最后怎么同步呢?以前用clearcase时,A把文件checkout了,其他人就不能提交,保证了代码的唯一性.但 ...
- qwb与学姐
qwb与学姐 Time Limit: 1 Sec Memory Limit: 128 MB Description qwb打算向学姐表白,可是学姐已经受够了他的骚扰,于是出了一个题想难住他:已知一幅 ...
- sencha touch 2中判断游览器是否包含webkit的方法
<script type="text/javascript"> if (!Ext.browser.is.WebKit) { alert("The curren ...
- [bzoj3224]普通平衡树[Treap]
Treap 的各种操作,模板题,要再写几遍 #include <iostream> #include <algorithm> #include <cstdio> # ...
- MVC.Net5:添加Tinymce的图片上传功能
Tinymce是目前几个主流的Web文本编辑器之一,不过它的图片上传功能是要收费的,而其它几个免费的上传图片的插件支持的都是PHP.那么就只能自己动手写一个了(源代码下载). 准备工作如下:1. ...
- 在shell脚本中使用函数的返回值
#!/bin/bash - function mytest() { echo "arg1 = $1" if [ $1 = "1" ] ;then return ...
- discuz新的单点论坛(不依赖UCenter)
discuz 本身提供UCENTER用户中心能够实现单点登录. 可是其它应用要单点登录到discuz还是存在若干问题: 须要2次激活.可能造成server无响应,论坛显示的最新注冊用户无法同步更新,官 ...
- oc48--多个对象内存管理练习
// // main.m // 多个对象内存管理练习 // // ARC是Xcode帮我们生成内存释放的代码,MRC是需要我买自己写retain和release.想研究内存管理只能在MRC,管理对象就 ...