强化学习构建模块库 TRFL

码农软件 · 软件分类 · 机器学习/深度学习 · 2019-08-05 11:42:05

软件介绍

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)

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

本文地址:https://www.codercto.com/soft/d/11691.html

精通正则表达式

精通正则表达式

[美] Jeffrey E.F.Friedl / 余晟 / 电子工业出版社 / 2012-7 / 89.00元

《精通正则表达式(第3版)》内容简介:随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。《精通正则表达式(第3版)》是讲解正则表达式的经典之作。《精通正则表达式(第3版)》主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。《精通正则表达式(第3版)》自第1版开......一起来看看 《精通正则表达式》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器