困难的强化学习查询
Difficult reinforcement learning query
我正在努力弄清楚我想怎么做,所以我希望这里有人可以提供一些指导。
场景 - 我有一个 10 个字符的字符串,我们称它为 DNA,由以下字符组成:
F
-
+
[
]
X
例如DNA = ['F', 'F', '+', '+', '-', '[', 'X', '-', ']', '-']
现在这些 DNA 字符串被转换为物理表示,从那里我可以获得 fitness 或 reward 值。因此,此场景的 RL 流程图如下所示:
P.S。最大适应度未知或未指定。
第 1 步:获取随机 DNA 字符串
第 2 步:计算适应度
第 3 步:获取另一个随机 DNA 串
第 4 步:计算适应度
第 5 步:计算梯度并查看哪条路向上
第 6 步:训练 ML 算法生成越来越好的 DNA 串,直到适应度不再增加
为了清楚起见,最好的 DNA 字符串,即 return 最适合的字符串,现在就我的目的而言是:
['F', 'X', 'X', 'X', 'X', 'F', 'X', 'X', 'X', 'X']
我如何训练 ML 算法来学习并输出这个 DNA 字符串?
我正在努力思考策略梯度方法,但我对 ML 算法的输入是什么?没有像 OpenAI Gym 示例中那样的状态。
编辑:
最终目标 - 学习生成更高适应值 DNA 字符串的算法。这必须在没有任何人工监督的情况下发生,即不是监督学习而是强化学习。
类似于 GA,会进化出越来越好的 DNA 串
假设问题是将给定的字符串变异为另一个具有更高适应度值的字符串,马尔可夫决策过程可以建模为:
- 初始状态:随机DNA串。
- 动作: 变异为另一个与原始字符串相似但(理想情况下)具有更高适应度值的字符串。
- 状态:代理生成的字符串
- 完成信号:当剧集开始时原始随机字符串中更改超过 5 个(可以设置为任意值)字符。
- 奖励:
fitness(next_state) - fitness(state) + similarity(state,next_state)
或 fitness(next_state) - fitness(state)
您可以从 dimension:10 的离散动作开始 Q 学习,每个动作有 6 个选择:(F, -, +, [, ], X)
我正在努力弄清楚我想怎么做,所以我希望这里有人可以提供一些指导。
场景 - 我有一个 10 个字符的字符串,我们称它为 DNA,由以下字符组成:
F
-
+
[
]
X
例如DNA = ['F', 'F', '+', '+', '-', '[', 'X', '-', ']', '-']
现在这些 DNA 字符串被转换为物理表示,从那里我可以获得 fitness 或 reward 值。因此,此场景的 RL 流程图如下所示:
P.S。最大适应度未知或未指定。
第 1 步:获取随机 DNA 字符串
第 2 步:计算适应度
第 3 步:获取另一个随机 DNA 串
第 4 步:计算适应度
第 5 步:计算梯度并查看哪条路向上
第 6 步:训练 ML 算法生成越来越好的 DNA 串,直到适应度不再增加
为了清楚起见,最好的 DNA 字符串,即 return 最适合的字符串,现在就我的目的而言是:
['F', 'X', 'X', 'X', 'X', 'F', 'X', 'X', 'X', 'X']
我如何训练 ML 算法来学习并输出这个 DNA 字符串?
我正在努力思考策略梯度方法,但我对 ML 算法的输入是什么?没有像 OpenAI Gym 示例中那样的状态。
编辑: 最终目标 - 学习生成更高适应值 DNA 字符串的算法。这必须在没有任何人工监督的情况下发生,即不是监督学习而是强化学习。
类似于 GA,会进化出越来越好的 DNA 串
假设问题是将给定的字符串变异为另一个具有更高适应度值的字符串,马尔可夫决策过程可以建模为:
- 初始状态:随机DNA串。
- 动作: 变异为另一个与原始字符串相似但(理想情况下)具有更高适应度值的字符串。
- 状态:代理生成的字符串
- 完成信号:当剧集开始时原始随机字符串中更改超过 5 个(可以设置为任意值)字符。
- 奖励:
fitness(next_state) - fitness(state) + similarity(state,next_state)
或fitness(next_state) - fitness(state)
您可以从 dimension:10 的离散动作开始 Q 学习,每个动作有 6 个选择:(F, -, +, [, ], X)