TD学习公式

数据挖掘 强化学习
2022-02-20 12:37:40

这是我无法理解的事情,最初我认为这是一个错字,但事实并非如此。

在此处输入图像描述

本质上,在 TD 学习中,我们正在尝试学习价值函数。价值函数告诉我状态/观察有多有利。假设 ~~~~discount/decay/lambda~~~ 因子为 1,如果V(s)为 10,并且我采取行动(动作a)并且V(s')变为 5,那么我期望奖励为 -5:

R(a) = V(s') - V(s)

因此,在 TD 学习公式中,当它收敛时忽略 lambda(无论 alpha 或学习率如何),我希望α(r + V(s') - V(s))为 0。但如果 V(s') - V(s) 等于奖励,然后我以 r + r => 2r 结束!!

所以我希望在公式中看到-r而不是r

那么我的想法哪里错了?

提前致谢

1个回答

R(a) = V(s') - V(s)

这是不正确的。一个状态的价值是基于它所有未来的回报。您的公式对于累积过去是正确的,但这对于强化学习中的动作选择没有直接用处。代理需要选择一个动作,使其成为未来最大的奖励。它无法采取任何行动来改变过去发生的事情,因此价值函数仅具有前瞻性。例如,代理成功(或失败)完成任务的状态值始终为,因为代理不能再行动,也没有机会获得任何未来奖励。V0

不打折,那么:

V(St)=Rt+1+V(St+1)

所以:

Rt+1=V(St)V(St+1)

即与您想象的相反的符号,但与 TD 更新规则兼容。