表格型求解方法总结
到目前为止已经对强化学习中的表格性求解方法有了初步的了解,接下来以Q&A的形式做一些总结。
1、Q:什么是强化学习?
A:强化学习就是学习做什么(如何把当前的环境映射成动作)才能使数值化的收益信号最大化。学习者不会被告知正确的动作而是必须自己和环境交互通过尝试去发现哪些动作会产生最大的回报。(trial and error)
2、Q:强化学习和监督学习、无监督学习的区别是什么?
A:监督学习在带有标签的样本上学习,模型具有推断和泛化能力,但是不与环境交互。强化学习通过和环境交互,在自身的经验中学习而不是通过带有标签的训练集来学习。
无监督学习的目的是寻找数据中隐含的结构,强化学习的目的是最大化收益累计和的期望值。
3、Q:强化学习适合解决什么样的问题?
A:强化学习适合解决从环境互动中学习以达到长期目标的问题。例如决策问题、控制问题
4、Q:POMDP是什么?马尔可夫过程是什么?马尔可夫决策过程是什么?里面的“马尔可夫”体现了什么性质?
A:POMDP:partially observable markov decision process
马尔可夫过程就是满足马尔可夫性的随机过程。
马尔可夫决策过程MDP可以用五个要素来表示: < S , A , P , R , γ > <S,A,P,R,\gamma> <S,A,P,R,γ> ,其中 S S S 表示有限的状态集, A A A 表示有限的动作集, P P P 表示状态转移概率矩阵, R R R 是收益函数, γ \gamma γ 是折扣。在系统环境具有马尔可夫性的时候MDP可以用来模拟Agent的可实现的随机性策略和回报。
马尔可夫性是说下一个状态出现的概率之和当前状态有关,而与更早的状态和动作无关,即 P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , S 2 , … , S t ] P[S_{t+1}|S_t]=P[S_{t+1}|S_1,S_2,\dots,S_t] P[St+1∣St]=P[St+1∣S1,S2,…,St]
5、Q:贝尔曼方程的具体数学表达式是什么?
A: v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r ( s , a ) + γ ⋅ v π ( s ′ ) ] v_{\pi}(s)=\sum\limits_{a} \pi(a|s) \sum\limits_{s^{\prime},r}p(s^{\prime},r|s,a)\left[r(s,a) + \gamma \cdot v_{\pi}(s^{\prime}) \right] vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r(s,a)+γ⋅vπ(s′)] ; q ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r ( s , a ) + γ ⋅ v π ( s ′ ) ] q(s,a) = \sum\limits_{s^{\prime},r}p(s^{\prime},r|s,a)\left[r(s,a) + \gamma \cdot v_{\pi}(s^{\prime}) \right] q(s,a)=s′,r∑p(s′,r∣s,a)[r(s,a)+γ⋅vπ(s′)]
6、Q:最优价值函数和最优策略为什么等价?
A:因为最优策略有这样的性质:
π
∗
(
a
∣
s
)
=
{
1
if
a
=
argmax
a
∈
A
q
∗
(
s
,
a
)
0
otherwise
\pi^{*}(a | s)=\left\{\begin{array}{ll}1 & \text { if } a=\underset{a \in \mathcal{A}}{\operatorname{argmax}} q_{*}(s, a) \\0 & \text { otherwise }\end{array}\right.
π∗(a∣s)={10 if a=a∈Aargmaxq∗(s,a) otherwise
7、Q:价值迭代和策略迭代的区别?
A:价值迭代采用了Bellman最优算子,策略迭代采用的是Bellman期望算子。价值迭代式策略迭代的一种特殊情况,是每进行一次策略评估就更新一次策略。
8、Q: 求解马尔可夫决策过程都有哪些方法?有模型用什么方法?
A:求解MDP可以直接求解Bellman方程,但是通常Bellman方程难以列出且计算复杂度高,除此以外还可以用DP,MC,TD算法求解。
有模型时可以使用DP算法。
9、Q:简述动态规划(DP)算法?
A:DP算法是在给定MDP环境特性的条件下用来计算最优策略的,是基于模型的planning方法。动态规划有策略迭代和价值迭代两种方式,策略迭代是不断进行策略评估、策略改进的过程。每一次操作都是基于所有可能的单步后继状态价值函数以及它们出现的概率,以此来更新一个状态价值函数,它是广度期望更新的并且采用了自举法(bootstrapping)
10、Q:简述蒙特卡洛(MC)算法?
A:MC算法是model-free的学习方法而不是planning,它从”经验“中学习价值函数和最优策略,”经验“是指多幕采样数据,MC通过平均样本的回报在大数定律的保证下进行策略估计,然后采用柔性策略进行MC控制。MC算法是深度采样更新,它没有使用自举法。
11、Q:简述时序差分(TD)算法。
A:TD算法和MC算法一样可以从和环境互动的经验中学习策略而不依赖环境的动态特性,TD和DP一样都采用的自举法,是采样更新。和MC不同的是TD算法采样深度没有那么深,它不是一个完全的采样,TD的策略评估是根据它直接得到的后继状态节点的单次样本转移来更新的,换言之它不需要等到一幕完全结束而是可以立刻进行学习。它采用后继状态的价值和沿途的收益进行更新,TD控制有Sarsa、期望Sarsa和Q学习。
12、Q:简述动态规划、蒙特卡洛和时间差分的对比(共同点和不同点)
A:共同点:核心都是价值函数的计算,所有方法都是基于对未来事件的展望来计算一个回溯值。
不同点:
- 1、DP算法是model-based,MC和TD都是model-free
- 2、DP是期望更新,MC和TD是采样更新
- 3、DP是planning,MC和TD是Learning
- 4、DP显示了所有的单步转移,MC是完整的一幕,TD采样不采集完整的一幕
- 5、MC是最小化训练集上均方误差的估计,批量TD是找出完全符合马尔可夫模型的最大似然参数
13、Q:MC和TD都是无偏估计吗?
A:MC是无偏估计,双Q学习是无偏估计
14、Q:MC、TD谁的方差大,为什么?
MC的方差更大,MC采样了一整幕,每次获取下一步的价值和收益都会增大方差,但是TD不是完全采样因此方差比MC小。
15、简述on-policy和off-policy的区别
同轨策略用于学习和用于采样的是同一个策略,离轨策略中行动策略用来采样,目标策略是用来学习的。同轨策略不学习最优动作而是学习一个接近最优动作同时又能继续探索的动作,离轨策略直接学习最优动作。
16、简述Q-Learning,写出其Q(s,a)更新公式。它是on-policy还是off-policy,为什么?
Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ ⋅ max a Q ( S t + 1 , a ) − Q ( S t , A t ] Q(S_t,A_t) \leftarrow Q(S_t,A_t)+ \alpha \left[R_{t+1} + \gamma \cdot \max\limits_a Q(S_{t+1},a) - Q(S_t,A_t\right] Q(St,At)←Q(St,At)+α[Rt+1+γ⋅amaxQ(St+1,a)−Q(St,At]
Q学习采用对最优动作价值函数的近似作为学习目标,与行动策略无关,是off-policy
参考资料
《Reinforcement Learning An Introduction》Sutton
RL Course by David Sliver