Artificial intelligence SARSA算法

Artificial intelligence SARSA算法,artificial-intelligence,reinforcement-learning,Artificial Intelligence,Reinforcement Learning,我无法理解SARSA算法: 特别是,当更新Q值时,什么是gamma?s(t+1)和a(t+1)使用什么值 有人能给我解释一下这个算法吗 谢谢。Gamma确定您的算法有多少内存。如果将其设置为0.0,那么您的算法根本不会更新值函数Q。如果将其设置为1.0,则新体验的权重将与之前所有体验的权重总和相同。最佳值介于两者之间,必须通过实验确定 以下是它的工作原理: 在你的第一步,你只是得到一个状态。只需将其存储为st。此外,请查找您的值函数,查找在此状态下要执行的最佳操作,并将其存储为 在随后的每个

我无法理解SARSA算法:

特别是,当更新Q值时,什么是gamma?s(t+1)和a(t+1)使用什么值

有人能给我解释一下这个算法吗


谢谢。

Gamma确定您的算法有多少内存。如果将其设置为0.0,那么您的算法根本不会更新值函数Q。如果将其设置为1.0,则新体验的权重将与之前所有体验的权重总和相同。最佳值介于两者之间,必须通过实验确定

以下是它的工作原理:

  • 在你的第一步,你只是得到一个状态。只需将其存储为st。此外,请查找您的值函数,查找在此状态下要执行的最佳操作,并将其存储为
  • 在随后的每个步骤中,您都会得到rt+1和st+1。同样,使用您的值函数查找最佳操作-在+1。从上一个动作到新动作的转换值等于rt+1+Q(st+1,at+1)-Q(st,at)。使用此项更新您对上一个操作的长期估计值Q(st,att)。最后,将st+1和at+1存储为下一步的st和at

实际上,value函数只是每个操作和每个状态的更新值的运行平均值。

查看链接的Q-Learning文章。它讨论了参数是什么。我可以看到奖励将如何更新Q值,但是我可以从s(t+1)和a(t+1)中得到什么“值”它们只是一个新的状态和要采取的新动作,我如何从中得到一个“值”来更新Q?在第一步之后的每一步,你都会得到一个状态和奖励。上一次行动的价值,当前行动的价值,以及当前的奖励都给了萨尔萨信息,以提高其对上一次行动长期价值的估计。哦,好的。最后一个问题,当我更新Q值时,我更新第一个(st,at)对的值,而不是(s(t+1),a(t+1))-对吗?确切地说,你更新的是Q(s(t),a(t))。从这个价值观的角度来看,你只是朝着未来迈出了一步,了解了你行动的结果。哦,这是有道理的。但你仍然采取行动。下一次它会从经验中知道,可以选择更好的行动吗?