文章目录
一、无模型强化学习
在现实问题中,通常没有明确地给出状态转移和奖励函数,模型无关的强化学习可以直接从经验中学习 value 和 policy,而无需构建马尔可夫决策过程模型
值函数估计
在模型无关的强化学习中,无法直接获得 P s a P_{sa} Psa 和 R R R,但是,我们拥有一系列可以用来估计值函数的方法
蒙特卡洛方法
目标:从策略 π \pi π 下的敬业片段学习 V π V^\pi Vπ
蒙特卡洛是模型无关的,不使用 bootstrapping 的方法。只能将蒙特卡洛方法应用于有限长度的马尔可夫决策过程中,即所有的片段都有终止状态
时序差分学习
时序差分方法直接从经验片段中进行学习,通过 bootstrapping,时序差分从不完整的片段中学习。时序差分更新当前预测值使之接近估计累计奖励(非真实值)
蒙特卡洛 vs. 时序差分
- 时序差分能够在每一步之后进行在线学习;蒙特卡洛必须等待片段结束,直到累计奖励已知
- 时序差分能够从不完整的序列中学习;蒙特卡洛只能从完整序列中学习
- 时序差分在连续(无终止的)环境下工作;蒙特卡洛只能在片段化的(有终止的)环境下工作
- 蒙特卡洛具有高方差,无偏差(良好的收敛性质,对初始值不敏感,易于理解和使用);时序差分具有低方差,有偏差( 通常比蒙特卡洛更加高效,时序差分最终收敛到 V π ( S t ) V^\pi(S_t) Vπ(St),但使用函数近似并不总是如此,比蒙特卡洛对初始值更加敏感)
实际使用中,时序差分方法更加常见
优化策略
SARSA
对于当前策略执行的每个(状态-动作-奖励-状态-动作)元组,SARSA 更新状态-动作值函数为
Q ( s , a ) ← Q ( s , a ) + α ( R + γ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a)\leftarrow Q(s,a)+\alpha\left(R+\gamma Q(s^\prime,a^\prime)-Q(s,a)\right) Q(s,a)←Q(s,a)+α(R+γQ(s′,a′)−Q(s,a))
Q-Learning
学习状态-动作值函数 Q ( s , a ) ∈ R Q(s,a)\in\mathbb R Q(s,a)∈R,不直接优化策略,是一种离线策略(off-policy)学习方法
- 根据行为策略选择动作 a t ∼ μ ( ⋅ ∣ s t ) a_t\sim\mu(\cdot|s_t) at∼μ(⋅∣st)
- 根据目标策略选择后续动作 a t + 1 ′ ∼ π ( ⋅ ∣ s t ) a^\prime_{t+1}\sim\pi(\cdot|s_t) at+1′∼π(⋅∣st)
- 更新 Q ( s t , a t ) Q(s_t,a_t) Q(st,at) 的值以逼近目标状态-动作值
Q ( s t , a t ) ← Q ( s t , a t ) + α ( R t + 1 + γ Q ( s t + 1 , a t + 1 ′ ) − Q ( s t , a t ) ) Q(s_t,a_t)\leftarrow Q(s_t,a_t) + \alpha\left(R_{t+1}+\gamma Q(s_{t+1},a^\prime_{t+1})-Q(s_t,a_t)\right) Q(st,at)←Q(st,at)+α(Rt+1+γQ(st+1,at+1′)−Q(st,at))
离线策略学习
- 目标策略 π ( a ∣ s ) \pi(a|s) π(a∣s) 进行值函数评估
- 行为策略 μ ( a ∣ s ) \mu(a|s) μ(a∣s) 收集数据
为什么使用离线策略学习
- 平衡 exploration 和 exploitation
- 通过观察人类或其他智能体学习策略
- 重用旧策略所产生的经验
- 遵循探索策略时学习最优策略
- 遵循一个策略时学习多个策略
二、深度强化学习
- 基于价值的方法:DQN
- 基于随机策略的方法:使用神经网络的策略梯度,自然策略梯度,信任区域策略优化(TRPO),
PPO,A3C - 基于确定性策略的方法:确定性策略梯度(DPG),DDPG
DQN
- 不直接更新策略
- 是一种基于值的方法
- 学习一个由 θ \theta θ 作为参数的函数 Q θ ( s , a ) Q_\theta(s,a) Qθ(s,a)
- 目标值: y t = r t + γ max a ′ Q θ ( s t + 1 , a ′ ) y_t=r_t+\gamma\max\limits_{a^\prime}Q_\theta(s_{t+1},a^\prime) yt=rt+γa′maxQθ(st+1,a′)
- 更新方程: Q θ ( s t , a t ) ← Q θ ( s t , a t ) + α ( r t + γ max a ′ Q θ ( s t + 1 , a ′ ) − Q θ ( s t , a t ) ) Q_\theta(s_t,a_t)\leftarrow Q_\theta(s_t,a_t)+\alpha\left(r_t+\gamma\max\limits_{a^\prime}Q_\theta(s_{t+1},a^\prime)-Q_\theta(s_t,a_t)\right) Qθ(st,at)←Qθ(st,at)+α(rt+γa′maxQθ(st+1,a′)−Qθ(st,at))
- 优化目标: θ ∗ ← arg min θ 1 2 ∑ ( s t , a t ) ∈ D ( Q θ ( s t , a t ) − ( r + γ max a ′ Q θ ( s t + 1 , a ′ ) ) ) 2 \theta^*\leftarrow\arg\min\limits_\theta\frac12\sum\limits_{(s_t,a_t)\in D}\left(Q_\theta(s_t,a_t)-\left(r+\gamma\max\limits_{a^\prime} Q_\theta(s_{t+1},a^\prime)\right)\right)^2 θ∗←argθmin21(st,at)∈D∑(Qθ(st,at)−(r+γa′maxQθ(st+1,a′)))2
增强稳定性
- 经验回放:存储训练过程中的每一步于数据库 D D D 中,采样时服从均匀分布
- 使用目标网络:使用较旧的参数,每隔 C C C 步和训练网络的参数同步一次