TRFL

强化学习构建模块库
授权协议 Apache-2.0
开发语言 Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 钱雅逸
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

TRFL(发音为“truffle”)建立在 TensorFlow 之上,它是一个强化学习构建模块库。

它是 DeepMind 内部大量用于诸如 DQN、DDPG 和 Importance Weighted Actor Learner Architecture 这些成功的代理如的关键算法组件的集合。

TRFL 库包括实现经典 RL 算法以及更尖端技术的功能,提供的损失函数和其它操作在纯 TensorFlow 中实现。它们不是完整的算法,而是实现了在构建全功能强化学习代理时需要的数学运算。

对于基于值的强化学习,TRFL 提供了 TensorFlow 操作用于在离散动作空间中学习,例如 TD-learning、Sarsa、Q-learning 及其变体,同时也提供了用于实现连续控制算法的操作,例如 DPG。此外 TRFL 还包括用于学习分配值功能的操作。

使用示例

import tensorflow as tf
import trfl

# Q-values for the previous and next timesteps, shape [batch_size, num_actions].
q_tm1 = tf.constant([[1, 1, 0], [1, 2, 0]], dtype=tf.float32)
q_t = tf.constant([[0, 1, 0], [1, 2, 0]], dtype=tf.float32)

# Action indices, pcontinue and rewards, shape [batch_size].
a_tm1 = tf.constant([0, 1], dtype=tf.int32)
pcont_t = tf.constant([0, 1], dtype=tf.float32)
r_t = tf.constant([1, 1], dtype=tf.float32)

loss, q_learning = trfl.qlearning(q_tm1, a_tm1, r_t, pcont_t, q_t)

大多数情况下,您可能只对损失感兴趣:

loss, _ = trfl.qlearning(q_tm1, a_tm1, r_t, pcont_t, q_t)

# You can also do this, which returns the identical `loss` tensor:
loss = trfl.qlearning(q_tm1, a_tm1, r_t, pcont_t, q_t).loss

reduced_loss = tf.reduce_mean(loss)

optimizer = tf.train.AdamOptimizer(learning_rate=0.1)
train_op = optimizer.minimize(reduced_loss)

该模块中的所有损失函数使用上述约定返回损失张量和额外信息。

 相关资料
  • 主要内容 课程列表 基础知识 专项课程学习 参考书籍 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 MDP和RL介绍8 9 10 11 Berkeley 暂无 链接 MDP简介 暂无 Shaping and policy search in Reinforcement learning 链接 强化学习 UCL An Introduction to Reinforcement Lea

  • 强化学习(Reinforcement Learning)的输入数据作为对模型的反馈,强调如何基于环境而行动,以取得最大化的预期利益。与监督式学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。 Deep Q Learning.

  • 探索和利用。马尔科夫决策过程。Q 学习,策略学习和深度强化学习。 我刚刚吃了一些巧克力来完成最后这部分。 在监督学习中,训练数据带有来自神一般的“监督者”的答案。如果生活可以这样,该多好! 在强化学习(RL)中,没有这种答案,但是你的强化学习智能体仍然可以决定如何执行它的任务。在缺少现有训练数据的情况下,智能体从经验中学习。在它尝试任务的时候,它通过尝试和错误收集训练样本(这个动作非常好,或者非常

  • 强化学习(RL)如今是机器学习的一大令人激动的领域,也是最老的领域之一。自从 1950 年被发明出来后,它被用于一些有趣的应用,尤其是在游戏(例如 TD-Gammon,一个西洋双陆棋程序)和机器控制领域,但是从未弄出什么大新闻。直到 2013 年一个革命性的发展:来自英国的研究者发起了 Deepmind 项目,这个项目可以学习去玩任何从头开始的 Atari 游戏,在多数游戏中,比人类玩的还好,它仅

  • 强化学习(RL)如今是机器学习的一大令人激动的领域,当然之前也是。自从 1950 年被发明出来后,它在这些年产生了一些有趣的应用,尤其是在游戏(例如 TD-Gammon,一个西洋双陆棋程序)和及其控制领域,但是从未弄出什么大新闻。直到 2013 年一个革命性的发展:来自英国的研究者发起了一项 Deepmind 项目,这个项目可以学习去玩任何从头开始的 Atari 游戏,甚至多数比人类玩的还要好,它

  • 在本章中,您将详细了解使用Python在AI中强化学习的概念。 强化学习的基础知识 这种类型的学习用于基于评论者信息来加强或加强网络。 也就是说,在强化学习下训练的网络从环境中接收一些反馈。 然而,反馈是有评价性的,而不是像监督学习那样具有指导性。 基于该反馈,网络执行权重的调整以在将来获得更好的批评信息。 这种学习过程类似于监督学习,但我们的信息可能非常少。 下图给出了强化学习的方框图 - 构建

  • 我正在制作一个程序,通过强化学习和基于后状态的时间差分学习方法(TD(λ)),教两名玩家玩一个简单的棋盘游戏。学习是通过训练神经网络来实现的。我使用萨顿的非线性TD/Backprop神经网络)我很想听听你对我以下困境的看法。在两个对手之间进行回合的基本算法/伪代码如下 每个玩家应在何时调用其学习方法玩家。学习(GAME\u状态)。这是难题。 选项A.在每个玩家移动后,在新的后状态出现后,如下所示:

  • 译者:平淡的天 作者: Adam Paszke 本教程将展示如何使用 PyTorch 在OpenAI Gym的任务集上训练一个深度Q学习 (DQN) 智能点。 任务 智能点需要决定两种动作:向左或向右来使其上的杆保持直立。你可以在 Gym website 找到一个有各种算法和可视化的官方排行榜。 当智能点观察环境的当前状态并选择动作时,环境将转换为新状态,并返回指示动作结果的奖励。在这项任务中,每