问题标签 [policy-gradient-descent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

reinforcement-learning - 困难的强化学习查询

我正在努力弄清楚我想如何做到这一点,所以我希望这里有人可以提供一些指导。

场景 - 我有一个 10 个字符的字符串,我们称之为 DNA,由以下字符组成:

F
-
+
[
]
X

例如DNA = ['F', 'F', '+', '+', '-', '[', 'X', '-', ']', '-']

现在,这些 DNA 字符串被转换为物理表示,我可以从中获得健身奖励值。因此,此场景的 RL 流程图如下所示:

PS 最大适应度未知或指定。

第 1 步:获取随机 DNA 字符串

第 2 步:计算适应度

第 3 步:获取另一个随机 DNA 字符串

第 4 步:计算适应度

第 5 步:计算梯度并查看向上的方向

第 6 步:训练 ML 算法以生成越来越好的 DNA 字符串,直到适应度不再增加

为清楚起见,最好的 DNA 字符串,即返回最高适应度的字符串,现在就我的目的而言是:
['F', 'X', 'X', 'X', 'X', 'F', 'X', 'X', 'X', 'X']

如何训练 ML 算法来学习并输出这个 DNA 字符串?

我正试图围绕 Policy Gradient 方法思考问题,但我对 ML 算法的输入是什么?没有像 OpenAI Gym 示例中那样的状态。

编辑: 最终目标 - 学习生成更高适应度值 DNA 字符串的算法。这必须在没有任何人工监督的情况下发生,即不是监督学习,而是强化学习。

类似于遗传算法,它将进化出越来越好的 DNA 字符串

0 投票
2 回答
174 浏览

reinforcement-learning - 为什么策略梯度定理在强化学习中使用 Q 函数?

策略梯度算法的引入表明策略算法更好,因为它直接优化策略而不需要先计算 Q。那么为什么他们在等式中使用 Q 呢?他们如何在不先计算 Q 函数的情况下直接计算整个事物?

策略梯度定理

0 投票
0 回答
1723 浏览

reinforcement-learning - 为什么我的代理在 DQN 中总是采取相同的操作 - 强化学习

我已经使用 DQN 算法训练了一个 RL 代理。在 20000 集之后,我的奖励收敛了。现在,当我测试这个代理时,代理总是采取相同的行动,而与状态无关。我觉得这很奇怪。有人可以帮我弄这个吗。有没有原因,任何人都可以想到为什么代理会这样?

奖励情节

在此处输入图像描述

当我测试代理时

每次它给出相同的 q_values 图,即使每次初始化的状态都不同。下面是 q_Value 图。

在此处输入图像描述

测试:

代码

在此处输入图像描述

谢谢。

添加环境

0 投票
2 回答
556 浏览

artificial-intelligence - 你如何评估一个训练有素的强化学习代理,无论它是否经过训练?

我是强化学习代理培训的新手。我已阅读 PPO 算法并使用稳定的基线库来训练使用 PPO 的代理。所以我的问题是如何评估一个训练有素的 RL 代理。考虑回归或分类问题,我有 r2_score 或准确性等指标。是否有任何此类参数或我如何测试代理,得出代理训练好或坏的结论。

谢谢

0 投票
0 回答
16 浏览

machine-learning - 后退时梯度全为0,参数完全没有变化

我实现了策略梯度方法来学习未知函数(这里是一个 10 循环求和函数),但是模型没有更新。学习数据是输入和目标。func2 包括用于预测目标数的 MLP 模型。代码如下:

我找不到梯度都是 0 的原因。这个问题让我困惑了 2 天。任何人都可以帮助我吗?

0 投票
1 回答
181 浏览

python-3.x - 在具有负奖励的图中找到最短路径时,策略梯度 (REINFORCE) 发散

我想使用策略梯度来找到网络中一组节点之间的最短路径。
网络使用带有标记为 -1 的边的图来表示。
现在,负值最接近 0 的路径是最短路径。
因此,我使用梯度下降来更新策略参数。

这是TensorFlow中的更新规则。

然而,在运行代码后,self.meanCEloss 会不断向负无穷递减,直到发生下溢。
需要在损失评估中进行哪些更改才能解决问题?

0 投票
1 回答
146 浏览

reinforcement-learning - DDPG策略网络的输出可以是概率分布而不是某个动作值吗?

我们知道 DDPG 是一种确定性的策略梯度方法,其策略网络的输出应该是某个动作。但是有一次我试图让策略网络的输出是几个动作的概率分布,这意味着输出的长度大于1,每个动作都有自己的概率,它们的和等于1。输出的形式看起来就像在随机策略梯度方法中一样,但是梯度是计算出来的,并且网络是以 DDPG 的方式更新的。最后,我发现结果看起来相当不错,但我不明白为什么它会起作用,因为输出形式并不完全符合 DDPG 的要求。

0 投票
1 回答
924 浏览

reinforcement-learning - 简而言之,强化学习中的策略梯度算法中的目标网络是什么?

它与常规网络有何不同 Source Text --> “在 DDPG 算法中,拓扑由每个网络的两个网络权重副本组成,(参与者:常规和目标)和(批评者:常规和目标)”

0 投票
1 回答
327 浏览

artificial-intelligence - PPO 算法只收敛于一个动作

我已经采用了 PPO 算法的一些参考实现,并正在尝试创建一个可以玩太空入侵者的代理。不幸的是,从第 2 次试验开始(在第一次训练演员和评论家 N 网络之后),动作的概率分布仅收敛于动作,并且 PPO 损失和评论家损失仅收敛于一个值。

想了解这可能发生的可能原因。我真的不能在我的云虚拟机中运行代码,因为我不能确定我没有遗漏任何东西,因为虚拟机的使用成本很高。我将不胜感激这方面的任何帮助或建议。如果需要,我也可以发布代码。使用的超参数如下:

clipping_val = 0.2critic_discount = 0.5 entropy_beta = 0.001 gamma = 0.99 lambda = 0.95

0 投票
0 回答
130 浏览

python - DDPG算法中actor的梯度计算

我在使用 Tensorflow 2 计算 DDPG 算法中的演员更新时遇到了一些问题。以下是评论家和演员更新的代码:

这些更新是类方法的一部分,演员和评论家网络是分开指定的。问题是它gradient_p作为一个列表返回None。我不知道这段代码有什么问题。我完全知道我可以根据链式规则拆分策略梯度的计算,但我不知道如何计算关于使用tf.GradientTape. 我怎样才能正确地实现这部分?我不明白为什么tf.GradientTape不能回到演员网络的可训练变量并一次执行计算。