【问题标题】:Generalization functions for Q-LearningQ-Learning 的泛化函数
【发布时间】:2009-10-09 09:02:22
【问题描述】:

我必须与 Q Learning 一起做一些工作,关于一个必须在房子周围移动家具的人(基本上就是这样)。如果房子足够小,我可以有一个代表行动/奖励的矩阵,但是随着房子的大小变得越来越大,这还不够。所以我必须使用某种泛化函数来代替它。我的老师建议我不要只用一个,而是用几个,这样我就可以比较它们等等。大家有什么推荐的?

我听说对于这种情况,人们正在使用支持向量机,也就是神经网络。我不是真正的领域内,所以我不能说。我过去在神经网络方面有过一些经验,但 SVM 似乎更难掌握。还有其他我应该寻找的方法吗?我知道肯定有无数个,但我需要一些东西才能开始。

谢谢

【问题讨论】:

  • 希望你不介意标记为作业。提到“老师”让我觉得很合适。

标签: language-agnostic artificial-intelligence reinforcement-learning


【解决方案1】:

作为术语的复习,在 Q-learning 中,您尝试学习 Q-functions,它取决于状态和动作:

Q(S,A) = ????

大多数课程中教授的 Q-learning 标准版本告诉您,对于每个 S 和 A,您需要在表格中学习一个单独的值,并告诉您如何执行 Bellman 更新以收敛到最优价值观。

现在,假设您使用不同的函数逼近器而不是表。例如,让我们尝试线性函数。拿你的 (S,A) 对,想想你可以从中提取的一堆特征。一个特征的例子是“我在墙旁边吗”,另一个是“动作会不会把物体放在墙旁边”等等。将这些特征编号为 f1(S,A), f2(S,A), 。 ..

现在,尝试将 Q 函数学习为这些特征的线性函数

Q(S,A) = w1 * f1(S,A) + w2*f2(S,A) ... + wN*fN(S,A)

你应该如何学习权重 w?好吧,既然这是作业,我会让你自己考虑。

但是,作为提示,假设您在每个状态中有 K 个可能的状态和 M 个可能的操作。假设您定义了 K*M 特征,每个特征都表明您是否处于特定状态并将采取特定行动。所以

Q(S,A) = w11 * (S==1 && A == 1) + w12 * (S == 1 && A == 2) + w21 * (S==2 && A==3) ...

现在,请注意,对于任何状态/动作对,只有一个特征为 1,其余为 0,因此 Q(S,A) 将等于相应的 w,您实际上是在学习一张表格。因此,您可以将标准的表 Q 学习视为使用这些线性函数进行学习的特例。所以,想想普通的 Q-learning 算法做了什么,你应该做什么。

希望您能找到比 K*M 少得多的少量功能基础,这将使您能够很好地代表您的空间。

【讨论】:

  • 你好。只知道我对 Q-Learning 的了解足以理解您的答案!有什么地方可以让我更仔细地解释你的解释吗?谢谢!
  • 我怀疑 Russell 和 Norvig(人工智能:一种现代方法)应该有相关材料,但我记不太清了。查看inst.eecs.berkeley.edu/~cs188/fa09/lectures.html,尤其是 10/6 的讲座
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
  • 2017-11-23
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-29
相关资源
最近更新 更多