前言:

被动学习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-主动强化学习的更多相关文章

  1. 强化学习论文(Scalable agent alignment via reward modeling: a research direction)

     原文地址: https://arxiv.org/pdf/1811.07871.pdf ======================================================== ...

  2. 【整理】强化学习与MDP

    [入门,来自wiki] 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的 ...

  3. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  4. (译) 强化学习 第一部分:Q-Learning 以及相关探索

    (译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...

  5. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  6. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

  7. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  8. 强化学习之Q-learning ^_^

    许久没有更新重新拾起,献于小白 这次介绍的是强化学习 Q-learning,Q-learning也是离线学习的一种 关于Q-learning的算法详情看 传送门 下文中我们会用openai gym来做 ...

  9. 强化学习 - Q-learning Sarsa 和 DQN 的理解

    本文用于基本入门理解. 强化学习的基本理论 : R, S, A 这些就不说了. 先设想两个场景:  一. 1个 5x5 的 格子图, 里面有一个目标点,  2个死亡点二. 一个迷宫,   一个出发点, ...

  10. TensorLayer官方中文文档1.7.4:API – 强化学习

    API - 强化学习¶ 强化学习(增强学习)相关函数. discount_episode_rewards([rewards, gamma, mode]) Take 1D float array of ...

随机推荐

  1. Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置、设置web管理

    >Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置.设置web管理 >>实验开始(使用SecureCRT 等工具软件): 一.华为设备密码重置,通过 ...

  2. 【[Offer收割]编程练习赛14 D】剑刃风暴(半径为R的圆能够覆盖的平面上最多点数目模板)

    [题目链接]:http://hihocoder.com/problemset/problem/1508 [题意] [题解] 求一个半径为R的圆能够覆盖的平面上的n个点中最多的点数; O(N2log2N ...

  3. 敏捷开发系列学习总结(5)——这几招搞定团队协同Coding

    一个团队在一起Coding时,就怕发生这样的事情:同1个文件你改了,我也改了,他也改了,最后怎么同步呢?以前用clearcase时,A把文件checkout了,其他人就不能提交,保证了代码的唯一性.但 ...

  4. qwb与学姐

    qwb与学姐 Time Limit: 1 Sec  Memory Limit: 128 MB Description qwb打算向学姐表白,可是学姐已经受够了他的骚扰,于是出了一个题想难住他:已知一幅 ...

  5. sencha touch 2中判断游览器是否包含webkit的方法

    <script type="text/javascript"> if (!Ext.browser.is.WebKit) { alert("The curren ...

  6. [bzoj3224]普通平衡树[Treap]

    Treap 的各种操作,模板题,要再写几遍 #include <iostream> #include <algorithm> #include <cstdio> # ...

  7. MVC.Net5:添加Tinymce的图片上传功能

    Tinymce是目前几个主流的Web文本编辑器之一,不过它的图片上传功能是要收费的,而其它几个免费的上传图片的插件支持的都是PHP.那么就只能自己动手写一个了(源代码下载). 准备工作如下:1.   ...

  8. 在shell脚本中使用函数的返回值

    #!/bin/bash - function mytest() { echo "arg1 = $1" if [ $1 = "1" ] ;then return ...

  9. discuz新的单点论坛(不依赖UCenter)

    discuz 本身提供UCENTER用户中心能够实现单点登录. 可是其它应用要单点登录到discuz还是存在若干问题: 须要2次激活.可能造成server无响应,论坛显示的最新注冊用户无法同步更新,官 ...

  10. oc48--多个对象内存管理练习

    // // main.m // 多个对象内存管理练习 // // ARC是Xcode帮我们生成内存释放的代码,MRC是需要我买自己写retain和release.想研究内存管理只能在MRC,管理对象就 ...