时序差分方法求解强化学习任务——时序差分方法介绍
目录
前面介绍了使用蒙特卡洛方法求解强化学习任务。本节针对蒙特卡洛方法的弊端,介绍时序差分方法。
回顾:基于价值函数的求解方法
在所有基于价值函数(Value Function)的强化学习任务求解方法中,有三大类基础算法。它们分别是:
- 动态规划方法(Dynamic Programming,DP)
- 蒙特卡洛方法(Monte Carlo,MC)
- 时序差分方法(Temporal-Difference,TD)
简单回顾动态规划方法(DP)和蒙特卡洛方法(MC)的特点和弊端:
动态规划方法的特点和弊端
动态规划方法:
V π ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ V π ( S t + 1 ) ∣ S t = s ] \begin{aligned} V_\pi(s) & = \mathbb E_\pi[G_t \mid S_t = s] \\ & = \mathbb E_\pi[R_{t+1} + \gamma V_\pi(S_{t+1}) \mid S_t =s] \\ \end{aligned} Vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γVπ(St+1)∣St=s]
该方法的特点是具有自举性(Boostrpping)。动态规划方法可以将优化目标视作贝尔曼期望方程的迭代过程,根据贝尔曼期望方程满足不动点定理 的特性,我们可以初始化状态价值函数 V i n i t ( s ) V_{init}(s) Vinit(s),并构建一条序列 { V k } \{V_k\} {
Vk}:
V k ( s ) = ∑ a ∈ A ( s ) π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V k − 1 ( s ′ ) ] { V k } = { V i n i t ( s ) , V 1 ( s ) , . . . , V k ( s ) , V k + 1 ( s ) , . . . } \begin{aligned} V_k(s) & = \sum_{a \in \mathcal A(s)} \pi(a \mid s) \sum_{s',r}p(s',r \mid s ,a)[r + \gamma V_{k-1}(s')] \\ \{V_k\}& = \{V_{init}(s),V_1(s),...,V_{k}(s),V_{k+1}(s),...\} \\ \end{aligned} Vk(s){
Vk}=a∈A(s)∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γVk−1(s′)]={
Vinit(s),V1(s),...,Vk(s),