【问题标题】:In Q-learning with function approximation, is it possible to avoid hand-crafting features?在使用函数逼近的 Q-learning 中,是否可以避免手工制作特征?
【发布时间】:2015-02-06 20:18:52
【问题描述】:

我对机器学习的背景知识很少,所以如果我的问题看起来很愚蠢,请原谅我。

根据我的阅读,迄今为止最好的无模型强化学习算法是 Q-Learning,其中代理世界中的每个状态、动作对都被赋予一个 q 值,并且在每个状态下,动作选择具有最高 q 值的。然后 q 值更新如下:

Q(s,a) = (1-α)Q(s,a) + α(R(s,a,s') + (max_a' * Q(s',a'))) 其中α是学习率。

显然,对于高维问题,状态的数量变得非常多,使得 q 值表存储不可行。

因此,Q-Learning 的实际实现需要通过状态泛化(即特征)来使用 Q 值近似。例如,如果代理是 Pacman,那么特征将是:

  • 到最近点的距离
  • 离最近的幽灵的距离
  • Pacman 是否在隧道中?

然后,您只需要为每个单一特征提供 q 值,而不是每个状态的 q 值。

所以我的问题是:

强化学习代理是否可以创建或生成额外的特征?

我做过的一些研究:

This post 提到 A Geramifard 的 iFDD 方法

这是“发现特征依赖关系”的一种方式,但我不确定这是否是特征生成,因为本文假设您从一组二进制特征开始。

我发现的另一篇论文是Playing Atari with Deep Reinforcement Learning,它“使用一系列神经网络架构提取高级特征”。

我已经阅读了这篇论文,但仍然需要充实/完全理解他们的算法。这就是我要找的吗?

谢谢

【问题讨论】:

    标签: machine-learning deep-learning q-learning function-approximation


    【解决方案1】:

    您似乎已经回答了自己的问题:)

    特征生成不是 Q 学习(和 SARSA)算法的一部分。但是,在称为预处理的过程中,您可以使用多种算法(您展示了其中的一些)来从数据中生成/提取特征。结合不同的机器学习算法会产生混合架构,这是您在研究最适合您的问题的方法时可能会考虑的术语。

    这是一个example of using features with SARSA(与 Q-learning 非常相似)。 您引用的论文是否对您的方案有帮助,您必须自己决定。与机器学习一样,您的方法高度依赖于问题。如果您从事机器人领域并且很难手动定义离散状态,那么神经网络可能会有所帮助。如果您可以自己考虑启发式算法(如 pacman 示例中的),那么您可能不需要它。

    【讨论】:

    • 感谢您的回复。你知道任何描述如何使用神经网络生成启发式的文章吗?或者也许流行/普遍接受的特征生成方法?我已经对卷积网络、多层感知器、受限玻尔兹曼机和循环神经网络进行了搜索——但它们似乎是非常广泛的主题。我目前正在学习神经网络中使用的反向传播/前馈算法,但在考虑如何将它们应用于特征生成时遇到了麻烦。
    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 2019-02-13
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    相关资源
    最近更新 更多