强化学习——随机近似理论(六)

随机近似理论(Stochastic Approximation)

1 平均近似(Mean Estimation)

与 MC 的方法相同,对于独立同分布随机变量的期望,用采样值的平均值去近似。但是平均值的计算方法不再是所有样本相加后再求平均,而是对每一个采样都对这个近似值进行更新。
MC 的方法:E(X)1Ni=1NxiE(X) \approx \frac{1}{N} \displaystyle \sum_{i=1}^N x_i
ME 的方法:wk+1=wk1k(wkxk),kw_{k+1} = w_k - \frac{1}{k}(w_k - x_k),k \rightarrow \infty

2 Robbin Monro Algorithm

这是随机近似理论的一种算法,在不知道方程g(w)g(w)形式的情况下,求解出g(w)=0g(w) = 0的根。
核心:wk+1=wkαkg~(wk,ηk),kw_{k+1} = w_k - \alpha_k \tilde{g}(w_k,\eta_k),k \rightarrow \infty
条件:1、0<c1wg(w)c20<c_1 \le \nabla_w g(w) \le c_2,该函数是单调递增的。
2、kαk,kαk2<\displaystyle \sum_k \alpha_k \rightarrow \infty,\displaystyle \sum_k \alpha_k^2 < \infty
3、E(ηkHk)=0,E(ηk2Hk)<E(\eta_k|{\cal H_k})=0,E(\eta_k^2|{\cal H_k})<\infty
其中第二项条件保证了α\alpha不会以很快的速度收敛到0,同时一定会收敛到0。

2.1 Mean Estimation 是 RM 算法的特殊情况

g(w) = w - E(X)\ \ w_{k+1} = w_k - \alpha_k \tilde{g}(w_k,\eta_k) = w_k- \alpha_k (w_k-x_k)

最后一项当αk=1k\alpha_k = \frac{1}{k}就变成了 mean estimation。

3 随机梯度下降(Stochastic Gradient Descent)

RM 算法解决的是求根问题,而 SGD 解决优化问题,但本质是相通的。
问题:minJ(w)=E[f(w,X)]\min J(w) = E[f(w,X)](X是随机变量)或者minJ(w)=1ni=0nf(w,xi)\min J(w) = \frac{1}{n} \displaystyle \sum_{i=0}^{n} f(w,x_i)xix_i是序列{xi}i=1n\{x_i\}_{i=1}^n的抽样,而且{xi}i=1n\{x_i\}_{i=1}^n符合均匀分布)
核心:wk+1=wkαkwkf(wk,xi)w_{k+1} = w_k - \alpha_k\nabla_{w_k} f(w_k,x_i)
条件:1、0<c1w2f(w,X)c20<c_1 \le \nabla_w^2 f(w,X) \le c_2,该函数是单调递增的。
2、kαk,kαk2<\displaystyle \sum_k \alpha_k \rightarrow \infty,\displaystyle \sum_k \alpha_k^2 < \infty
3、{xk}k=1\{x_k\}_{k=1}^\inftyis iid.

3.1 SGD 与 RM 算法互通

minJ(w)=E[f(w,X)]\min J(w) = E[f(w,X)]可以转换成g(w)=E[wf(w,X)]=0g(w) = E[\nabla_w f(w,X)] = 0
g~(w,η)=wf(w,x)=E[wf(w,X)]+(wf(w,x)E[wf(w,X)])\tilde{g}(w,\eta) = \nabla_w f(w,x) = E[\nabla_w f(w,X)] + (\nabla_w f(w,x) - E[\nabla_w f(w,X)])
wk+1=wkαkg~(w,η)=wkαkwkf(wk,xk)w_{k+1} = w_k- \alpha_k \tilde{g}(w,\eta) = w_k- \alpha_k \nabla_{w_k} f(w_k,x_k)xx是随机变量XX的一次采样。
f(w,x)=12wx2f(w,x) = \frac{1}{2}\Vert w-x \Vert^2,就SGD变成了wk+1=wkαk(wkxk)w_{k+1} = w_k- \alpha_k(w_k - x_k)

3.2 小批量梯度下降、随机梯度下降、批量梯度下降(MBGD、SGD、BGD)

MBGD:wk+1=wkαk1mmwkf(wk,xi)w_{k+1} = w_k - \alpha_k \frac{1}{m} \sum_m \nabla_{w_k} f(w_k,x_i)(在总共n个样本中再次随机采样m个)
SGD:wk+1=wkαkwkf(wk,xi)w_{k+1} = w_k - \alpha_k \nabla_{w_k} f(w_k,x_i)(在总共n个样本中再次随机采样1个)
BGD:wk+1=wkαk1nnwkf(wk,xi)w_{k+1} = w_k - \alpha_k \frac{1}{n} \sum_n \nabla_{w_k} f(w_k,x_i)(总共n个样本中全部采用)