踏过强化学习的每一步推导
给定 l = [ a n , . . . , a 0 ] l=[a_n, ..., a_0] l=[an,...,a0],现在
for idx in range(len(l)-2, -1, -1):
l[idx] += l[idx+1] * ld
注:这里的ld就是
λ
\lambda
λ,定义
λ
0
=
1
\lambda^0=1
λ0=1
证明变换后:
l
=
[
∑
i
=
0
n
λ
i
a
n
−
i
,
⋯
,
a
0
]
l=[\sum_{i=0}^n \lambda^i a_{n-i}, \cdots, a_0]
l=[∑i=0nλian−i,⋯,a0]
证: 使用数学归纳法
现在从后往前看,最后一个位置
a
0
a_0
a0显然成立
然后看倒数第2个位置,变换前是
a
1
a_1
a1,变换后是
a
1
+
λ
a
0
a_1+\lambda a_0
a1+λa0,也成立
下面假设在第j个(从右往左数,j从0开始计数)位置处,有
a
j
a_j
aj
变换后
λ
0
a
j
+
λ
1
a
j
−
1
+
⋯
λ
j
a
0
\lambda^0 a_j+\lambda^1 a_{j-1}+\cdots \lambda^j a_0
λ0aj+λ1aj−1+⋯λja0
下面考虑第j+1处
已知变换前,该处是
a
j
+
1
a_{j+1}
aj+1
根据代码,变换后就是
a
j
+
1
+
λ
(
λ
0
a
j
+
λ
1
a
j
−
1
+
⋯
λ
j
a
0
)
a_{j+1}+\lambda (\lambda^0 a_j+\lambda^1 a_{j-1}+\cdots \lambda^j a_0)
aj+1+λ(λ0aj+λ1aj−1+⋯λja0)
λ 0 a j + 1 + λ 1 ( λ 0 a j + λ 1 a j − 1 + ⋯ λ j a 0 ) \lambda^0 a_{j+1}+\lambda^1 (\lambda^0 a_j+\lambda^1 a_{j-1}+\cdots \lambda^j a_0) λ0aj+1+λ1(λ0aj+λ1aj−1+⋯λja0)
λ 0 a j + 1 + λ 1 a j + λ 2 a j − 1 + ⋯ λ j + 1 a 0 \lambda^0 a_{j+1}+\lambda^1 a_j+\lambda^2 a_{j-1}+\cdots \lambda^{j+1} a_0 λ0aj+1+λ1aj+λ2aj−1+⋯λj+1a0
∑
i
=
0
j
+
1
λ
i
a
j
+
1
−
i
\sum_{i=0}^{j+1}\lambda^{i} a_{j+1-i}
∑i=0j+1λiaj+1−i
由于在第
j
j
j处成立推得在第
j
+
1
j+1
j+1处成立,而
l
l
l长度有限,因此该规律在
l
l
l的每一个分量成立。QED。
再看一次强化学习,发现之前的很多观点都是不对的。很多人说,PG那种on-policy的做法只是数学上的技巧。不对。它背后其实有很自然的想法。