我正在努力弄清楚我想如何做到这一点,所以我希望这里有人可以提供一些指导。
场景 - 我有一个 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 字符串