1

这个问题是询问有关使用 deepmind 开源库的方向/建议/帮助:https ://github.com/deepmind/lab或https://www.tensorflow.org/在 Python 中。

考虑到我是深度学习和人工智能等概念的新手。

问题是:

  • 是否有使用 Deepmind 或 Tensorflow 解决我需要观察值并采取行动的数学问题的示例?

基于观察、行动、奖励等,使用类似于本页 ( https://deepmind.com/blog/open-sourcing-deepmind-lab/ ) 中描述的方法,我想调用学习代理在一些值中进行选择。我在想这样的事情:

  • 输入:元组列表的列表(列表将在每一步更改)
  • 行动:从输入中获取一个值(基于经验)
  • 奖励:如果它返回的值对于我正在实施的算法的其余部分是好是坏,我将奖励深度学习代理。

补充说明:

  • 我无法提前训练算法

输入是这样的(只有数字):

edge: (1, 2), face_down: 4, face_up: 5, face_left: 4, face_right: 5
edge: (0, 1), face_down: 4, face_up: 4, face_left: 4, face_right: 5
edge: (5, 4), face_down: 4, face_up: 5, face_left: 4, face_right: 5
edge: (6, 7), face_down: 3, face_up: 5, face_left: 5, face_right: 5
edge: (3, 0), face_down: 4, face_up: 4, face_left: 5, face_right: 4
edge: (4, 1), face_down: 4, face_up: 5, face_left: 5, face_right: 4
edge: (8, 5), face_down: 4, face_up: 5, face_left: 5, face_right: 4
edge: (3, 8), face_down: 4, face_up: 5, face_left: 4, face_right: 5
edge: (2, 3), face_down: 4, face_up: 5, face_left: 5, face_right: 4
edge: (5, 0), face_down: 4, face_up: 4, face_left: 5, face_right: 4
edge: (0, 5), face_down: 4, face_up: 4, face_left: 4, face_right: 5
edge: (1, 0), face_down: 4, face_up: 4, face_left: 5, face_right: 4
edge: (9, 6), face_down: 3, face_up: 5, face_left: 5, face_right: 5
edge: (0, 3), face_down: 4, face_up: 4, face_left: 4, face_right: 5
edge: (7, 9), face_down: 3, face_up: 5, face_left: 5, face_right: 5

这个想法是使用与 deepmind 玩游戏相同的方法,但不是分析像素并使用 pad(上、下、左、右、火、跳跃),而是让学习代理分析一些数学值,并且,作为唯一的动作,选择其中之一。

是否有其他方法或库/框架来解决此类问题?

在此处输入图像描述

4

1 回答 1

0

在您的示例中,您似乎正在做一个上下文强盗问题。使用贝尔曼方程解决您的问题应该非常简单。

该算法将如下所示:

1)将您的数学值(状态)输入您的老虎机。

2)让你的强盗选择它认为最好的行动(一开始这将是随机的)。

3) 在给定这些状态的情况下获得执行该动作的奖励。

可以在此处找到编码和实现的快速示例:

https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-1-5-contextual-bandits-bff01d1aad9c

您只需要更改奖励设置和状态设置。

于 2018-08-21T15:49:29.337 回答