4

我阅读了有关 Tesauro 的 TD-Gammon 程序的信息,并且很想为井字游戏实施它,但作为一名高中生,我几乎无法获得所有信息,因为我不知道这些术语。

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

给出了“一般监督学习范式”。它表示等式左侧的 w sub t 是时间步 t 的参数向量。“时间步长”究竟是什么意思?在设计用于输出棋盘状态值的井字游戏神经网络的框架内,时间步长是否指给定游戏中的棋子数量?例如,由字符串“xoxoxoxox”表示的棋盘将在时间步 9,而棋盘“xoxoxoxo”将在时间步 8?或者时间步长是指自训练开始以来经过的时间量?

由于 w sub t 是给定时间步的权重向量,这是否意味着每个时间步都有自己的评估函数(神经网络)?所以要评估一个只有一步棋的棋盘状态,你必须输入一个不同的神经网络,而不是用两个棋步传递棋盘状态?我想我在这里误解了一些东西,因为据我所知 Tesauro 仅使用一个 NN 来评估所有董事会状态(尽管很难找到有关 TD-Gammon 的可靠信息)。

为什么输出的梯度是关于 w 而不是 w sub t 的?

提前感谢您澄清这些想法。对于我的项目或无障碍阅读材料的建议,我将不胜感激。

4

1 回答 1

6

TD 处理马尔可夫决策过程框架内的学习。也就是说,您从某个状态 s t开始,执行一个动作 a t,获得奖励 r t,最后进入另一个状态 - s 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。在玩了数十万场游戏之后,您学习了权重,使神经网络能够非常准确地评估棋盘位置。

我希望这能解决问题。

于 2012-05-22T16:32:53.913 回答