前言:

被动学习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. SqlServer转换为Mysql(mss2sql)

    SqlServer转换为Mysql(mss2sql)工具 http://pan.baidu.com/s/1c2d8R8O 参考链接: http://www.cnblogs.com/angestudy/ ...

  2. Leetcode 39.组合总数

    组合总数 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限 ...

  3. jQuery学习之二 jQuery选择器

    一.jQuery选择器是什么1.CSS选择器2.jQuery选择器 二.jQuery选择器的优势1.简洁的写法2.支持从CSS1到CSS3选择器3.完善的处理机制  传统js选择器假如要操作的元素不存 ...

  4. POJ River Hopscotch 二分搜索

    Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully ...

  5. TCP 连接状态

    TCP/IP的设计者如此设计,主要原因有两个: 防止上一次连接中的包迷路后重新出现,影响新的连接(经过2MSL时间后,上一次连接中所有重复的包都会消失). 为了可靠地关闭TCP连接.主动关闭方发送的最 ...

  6. 修改 db_unique_name

    在创建DB的时候 db_unique_name设置错了.本来我是想让 db_name=itid db_unique_name=itid1 不过想改回来很简单的. SQL> alter syste ...

  7. NGINX Web Server Nginx web server

    原文地址:http://nginx.com/resources/admin-guide/web-server/ NGINX Web Server Nginx web server This secti ...

  8. 微信获得access-token

    微信获得access-token RestTemplate template = new RestTemplate(); String appid = "aa"; String s ...

  9. Swift代理和传值

    第一个视图控制器: import UIKit // 遵循协议 class ViewController: UIViewController,SecondVCDelegate { override fu ...

  10. stl之hash_multimap

    hash_multimap的元素不能自己主动排序