reinforcement-learning相关内容

Pytorch:如何创建不来自衍生品的更新规则?

我想实现以下算法,摘自本书第 13.6 节: 不明白如何在pytorch中实现更新规则(w的规则与theta的规则非常相似). 据我所知,torch 需要 loss.backwward() 的损失. 这个表格似乎不适用于引用的算法. 我仍然确定在 pytorch 中实现此类更新规则的正确方法. 鉴于 V(s,w) 是神经网络的输出,由 w 参数化,非常感谢应该如何更新 ..

神经网络如何使用遗传算法和反向传播来玩游戏?

我在 YouTube 上看到了这个关于遗传算法的有趣视频. 正如您在视频中看到的,机器人学会了战斗. 现在,我研究神经网络已经有一段时间了,我想开始学习遗传算法.这以某种方式结合了两者. 你如何结合遗传算法和神经网络来做到这一点? 在这种情况下,人们又如何知道用于反向传播和更新权重并训练网络的错误?还有你认为视频中的程序如何计算其适应度函数?我猜视频中的程序肯定会发生突变,但交叉呢 ..

在多线程中运行 Keras 模型进行预测

类似于这个问题我正在运行一种异步强化学习算法,需要在多个线程中运行模型预测以更快地获取训练数据.我的代码基于 GitHub 上的 DDPG-keras,其神经网络构建于凯拉斯&张量流.我的部分代码如下所示: 异步线程创建和加入: for roundNo in xrange(self.param['max_round']):AgentPool = [AgentThread(self.get ..
发布时间:2021-12-19 12:55:45 Python

在 Keras 中仅训练网络的一个输出

我在 Keras 中有一个具有许多输出的网络,但是,我的训练数据一次只提供一个输出的信息. 目前我的训练方法是对有问题的输入进行预测,更改我正在训练的特定输出的值,然后进行单批更新.如果我是对的,这与将所有输出的损失设置为零相同,除了我要训练的输出. 有没有更好的办法?我已经尝试过班级权重,我将所有权重设置为零,但我正在训练的输出除外,但它没有给我预期的结果? 我正在使用 The ..

Pytorch ValueError:优化器得到一个空的参数列表

尝试创建神经网络并使用 Pytorch 对其进行优化时,我得到 ValueError: 优化器得到一个空的参数列表 这是代码. 将 torch.nn 导入为 nn导入 torch.nn.functional 作为 F从 os.path 导入目录名从操作系统导入 getcwd从 os.path 导入 realpath从 sys 导入 argv类 NetActor(nn.Module):de ..

Tensorflow 和多处理:传递会话

我最近在研究一个使用神经网络进行虚拟机器人控制的项目.我使用 tensorflow 对其进行编码,并且运行流畅.到目前为止,我使用顺序模拟来评估神经网络的性能,但是,我希望并行运行多个模拟以减少获取数据所需的时间. 为此,我导入了 python 的 multiprocessing 包.最初,我将 sess 变量 (sess=tf.Session()) 传递给将运行模拟的函数.然而,一旦我得到 ..

TF Agents:如何将伪造的观察结果输入到训练有素的深度 Q 网络模型中,以检查它选择了哪些动作?

以下问题中引用的所有链接描述均来自 2021/05/31. 我按照 TF 代理教程的版本训练了一个深度 Q 网络关于自定义问题.现在我想给它提供一些手工制作的观察结果,看看它推荐什么操作.我有一些实用函数来创建我在 PyEnvironment 中使用的这些特征向量.但是,我不确定如何将这些位转换为输入网络. 我想要的是以下内容: 进入初始状态,并查看来自网络的推荐操作. 手动更 ..
发布时间:2021-09-05 20:07:58 其他开发

强化学习对这款非常简单的游戏不起作用,为什么?问学习

我编写了一个非常简单的游戏,其工作方式如下: 给定一个 4x4 的方格区域,玩家可以移动(向上、向右、向下或向左). 进入一个智能体从未去过的正方形,奖励为 1. 踩到“死地"会得到 -5 的奖励,然后游戏将被重置. 在已经访问过的字段上移动会得到 -1 进入“胜利场"(只有一个)会得到奖励 5,游戏也将重置. 现在我想让 AI 通过 Q-Learning 来学 ..
发布时间:2021-07-07 18:57:03 Python

与 Vowpal Wabbit Contextual Bandit 训练数据格式的混淆

我是 Vowpal Wabbit 的新手,正在研究多臂老虎机模型,为注册弹出窗口推荐不同的 CTA.我已经在主站点上完成了演练,但是对于 --cb_explore_adf 版本的训练数据应该是什么样子,我有点困惑.到目前为止,对于常规版本(带有设置的操作总数),数据如下所示: action:cost:probability |特征 这是有道理的,但是当你使用 adf 版本时,它变成了: |a ..
发布时间:2021-07-07 18:57:00 其他开发

OpenAI健身房breakout-ram-v4无法学习

我正在使用 Q learning 并且程序应该能够在一些尝试后玩游戏,但即使 epsilon 值为 0.1,它也无法学习. 我尝试将批量大小更改为内存大小.如果玩家死亡,我已更改代码以提供 -1 奖励. 导入健身房将 numpy 导入为 np随机导入将张量流导入为 tf将 numpy 导入为 np从时间导入时间进口键盘导入系统导入时间env =gym.make("Breakout-ram- ..

NameError:未定义名称“base",而在 GOOGLE COLAB 中运行开放式 AI 健身房时

我正在 Pytorch.org 学习 DQN 强化学习教程,https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html 但是在这里,当我尝试使用 python 显示来呈现屏幕和显示时,我找不到名称库.有人能帮我一下吗?如果你想澄清这个问题,我在这里提前致谢 解决方案 在 colab 上使用 GPU. ..

在小型网络中对 CPU 和 GPU 进行慢速训练(tensorflow)

这是原始脚本我'我试图同时在 CPU 和 GPU 上运行,我期待在 GPU 上进行更快的训练,但是它几乎花费了相同的时间.我对 main()(前 4 行)做了以下修改,因为原始脚本没有激活/使用 GPU.建议……? def main():physical_devices = tf.config.experimental.list_physical_devices('GPU')如果 len(phy ..

在强化学习中使用函数逼近时,如何选择动作?

这张幻灯片显示了Q(状态,动作)的方程em> 就一组权重和特征函数而言.我对如何编写特征函数感到困惑. 给定一个观察,我可以理解如何从观察中提取特征.但是根据观察,人们不知道对特征采取行动的结果是什么.那么如何编写一个将观察和动作映射到数值的函数呢? 在几张幻灯片后显示的 Pacman 示例中,人们知道,给定状态,动作的效果将是什么.但情况并非总是如此.例如,考虑车杆问题(在 Open ..
发布时间:2021-07-07 18:56:44 其他开发

Pygame 和 Open AI 实现

我和我的同学决定尝试将 AI 代理实现到我们自己的游戏中.我的朋友根据以前的项目完成了大部分代码,我想知道 PyGame 和 OpenAI 将如何协同工作.曾尝试进行一些研究,但无法真正找到有关此特定主题的任何有用信息.有人说这很难实施,但有人说它有效.无论哪种方式,我都希望您对这个项目提出意见,以及如果是您,您会如何处理. 游戏非常基础(只有一个输入)和线性难度.基本上,您只是尝试躲避随着 ..
发布时间:2021-07-07 18:56:38 Python

如何检查 OpenAI 健身房环境中可用的动作?

使用OpenAIgym时,用importgy导入库后,可以用env.action_space查看动作空间.但这仅给出了动作空间的大小.我想知道动作空间的每个元素对应什么样的动作.有没有简单的方法来做到这一点? 解决方案 如果你的动作空间是离散的和一维的,env.action_space 会给你一个 Discrete 对象.您可以像这样访问可用操作的数量(它只是一个整数): env =gy ..
发布时间:2021-07-07 18:56:35 其他开发

运行 Tensorflow 时 GPU 利用率低

我一直在使用 Tensorflow 和 OpenAI 健身房进行深度强化学习.我的问题是 GPU 利用率低.谷歌搜索这个问题,我明白在训练小型网络(例如训练 mnist)时期望大量 GPU 利用率是错误的.但是我的神经网络并不小,我想.该架构类似于原始 deepmind 论文中给出的(或多或少).我的网络架构总结如下 卷积层 1(filters=32,kernel_size=8x8,stri ..

使用 DQN 增加 Cartpole-v0 损失

嗨,我正在尝试训练 DQN 来解决健身房的 Cartpole 问题.出于某种原因,损失 看起来像这样(橙色线).你们都可以看看我的代码并帮助解决这个问题吗?我已经对超参数进行了相当多的研究,所以我认为它们不是这里的问题. class DQN(nn.Module):def __init__(self, input_dim, output_dim):super(DQN, self).__init__ ..
发布时间:2021-07-07 18:56:29 Python