时间差异学习的更新

时间:2012-05-22 05:20:06

标签: machine-learning tic-tac-toe reinforcement-learning temporal-difference

我读到了Tesauro的TD-Gammon计划,并且很乐意将其用于tic tac toe,但作为一名高中生,几乎所有的信息都无法访问,因为我不懂术语。

这里的第一个等式http://www.stanford.edu/group/pdplab/pdphandbook/handbookch10.html#x26-1310009.2

给出了“一般监督学习范式”。它表示等式左边的w sub t是时间步t的参数向量。 “时间步长”究竟是什么意思?在设计用于输出电路板状态值的tic tac toe神经网络的框架内,时间步长是指给定游戏中播放的片段数量吗?例如,由字符串“xoxoxoxox”表示的板将在时间步骤9处并且板“xoxoxoxo”将在时间步骤8处?或者时间步骤是指自培训开始以来经过的时间量?

由于w sub t是给定时间步长的权重向量,这是否意味着每个时间步都有自己的评估函数(神经网络)?因此,要仅通过一次移动来评估电路板状态,您必须提供不同的NN,而不是通过两次移动来馈送电路板状态?我想我在这里误解了一些东西,因为据我所知,Tesauro只使用一个NN来评估所有的董事会状态(虽然很难找到关于TD-Gammon的可靠信息)。

为什么输出的梯度是针对w而不是w sub t?

提前感谢您澄清这些想法。我将不胜感激任何关于我的项目的建议或对易读阅读材料的建议。

1 个答案:

答案 0 :(得分:6)

TD在Markov Decision Process的框架内处理学习问题。也就是说,你从一些状态s t 开始,执行一个动作 t ,接收奖励r t ,最后进入另一个状态 - 小号<子> t + 1的。初始状态称为s 0 。下标称为时间。

TD代理人开始不知道它将采取什么奖励来获取哪些行动或其他行动所采取的行动。它的目标是了解哪些行动可以最大化长期总奖励。

州可以代表井字棋盘的状态。所以,在你的情况下,s 0 将是一个明确的板:“---------”,s 1 可能是“-o ----” ---“,s 2 可能是”-o - x ----“等。该动作可能是要标记的单元格索引。使用此表示,您将有3个 9 = 19 683个可能的状态和9个可能的操作。在学习游戏之后,你会有一张桌子告诉你在每个可能的棋盘上标记哪个单元格。

同样的直接表示对于步步高来说效果不好,因为有太多可能的状态。 TD-Gammon所做的是使用神经网络的近似状态。网络的权重被视为状态向量,奖励总是0,除非获胜。

这里棘手的部分是TD-Gammon算法学习的状态是用于评估电路板位置的神经网络的状态,而不是电路板的状态。所以,在t = 0时你没有玩过一个游戏,网络处于初始状态。每次你必须移动时,你使用网络选择最好的一个,然后根据移动是否导致胜利来更新网络的权重。在进行移动之前,网络具有权重w t ,之后它具有权重w t + 1 。在玩了数十万个游戏后,您将学习权重,使神经网络能够非常准确地评估板位。

我希望这能解决问题。