1. 轨迹 (Trajectory)
轨迹 (Trajectory, $\tau$) 是一次完整的游戏记录。它记录了 Robo 从起点开始,每一步的状态、动作和奖励,直到游戏结束。
$$\tau = (s_0, a_0, r_1, s_1, a_1, r_2, s_2, ...)$$
Robo 的一次冒险日记:
假设 Robo 很幸运,只用了 3 步就到了终点(假设起点离终点很近):
假设 Robo 很幸运,只用了 3 步就到了终点(假设起点离终点很近):
- t=0: 在 $s_0=11$,决定向右走 ($a_0=\text{右}$)。
- t=1: 到达 $s_1=12$,获得移动惩罚 $r_1=-1$。决定向右走 ($a_1=\text{右}$)。
- t=2: 到达 $s_2=13$,获得移动惩罚 $r_2=-1$。决定向右走 ($a_2=\text{右}$)。
- t=3: 到达 $s_3=14$,获得移动惩罚 $r_3=-1$。决定向右走 ($a_3=\text{右}$)。
- t=4: 到达 $s_4=15$ (宝藏),获得大奖 $r_4=+10$。游戏结束。
2. 回报 (Return)
回报 (Return, $G_t$) 是我们最关心的——总分。它是从某个时刻 $t$ 开始,未来所有奖励的总和。
$$G_t = R_{t+1} + R_{t+2} + R_{t+3} + ... + R_T$$
计算 Robo 这次冒险的总分 ($G_0$):
$G_0 = r_1 + r_2 + r_3 + r_4 = (-1) + (-1) + (-1) + 10 = 7$
$G_0 = r_1 + r_2 + r_3 + r_4 = (-1) + (-1) + (-1) + 10 = 7$
为什么要“折扣”? (Discount Factor, $\gamma$)
在实际中,我们通常认为现在的奖励比未来的奖励更有价值。所以我们会给未来的奖励打个折,乘以折扣因子 $\gamma$ (Gamma),范围通常在 $[0, 1]$。
$$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ...$$
假设 $\gamma = 0.9$,那么 Robo 的折扣回报是:
G_0 = (-1) + 0.9*(-1) + 0.9^2*(-1) + 0.9^3*(10)
= -1 - 0.9 - 0.81 + 0.729*10
= -2.71 + 7.29
= 4.58
= -1 - 0.9 - 0.81 + 0.729*10
= -2.71 + 7.29
= 4.58
可以看到,由于有了折扣,虽然最后拿到了 +10,但折算到现在只有 +7.29。这鼓励 Robo 越快到达越好。