强化学习——值函数与Bellman方程
在强化学习中,agent和环境之间进行一系列交互:在每个时刻 t t,根据环境的状态和奖励,agent采取某一行为;这个行为会作用到环境中,环境改变状态并对agent进行奖励。
agent的目标是最大化累积奖励。
1 MDP
马尔可夫决策过程(Markov Decision Process, MDP)是对环境的建模。
MDP是一个五元组<S,A,P,R,γ>,其中
- S \cal S是一个有限状态集
- A \cal A是一个有限动作集
- P \cal P是一个状态转移概率矩阵, Pass′=P[St+1=s′|St=s,At=a] {\cal P}_{ss'}^a = \mathbb P[S_{t+1}=s' | S_t = s, A_t = a]
- R \cal R是一个奖励函数, Ras=E[Rt+1|St=s,At=a] {\cal R}_s^a = \mathbb E[R_{t+1} | S_t = s, A_t = a]
- γ \gamma是一个折扣因子 γ∈[0,1] \gamma\in [0, 1].策略 π \pi是agent的行为函数:
π(a|s)=P[At=a|St=s]\pi(a|s) = \mathbb P[A_t = a | S_t = s]
注意,策略只和状态相关,和时间无关(静态的)。
2 值函数与Bellman期望方程
2.1 值函数
值函数是对未来奖励的一个预测。
回报(return)
回报 Gt G_t是从时刻 t t开始的总折扣奖励:Gt=Rt+1+γRt+2+⋯=∑k=1∞γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \cdots = \sum_{k=1}^{\infty} \gamma^k R_{t+k+1}
状态值函数
状态值函数 vπ(s) v_\pi(s)是从状态 s s出发,按照策略π\pi采取行为得到的期望回报:vπ(s)=Eπ[Gt|St=s]v_\pi(s) = \mathbb E_\pi[G_t | S_t = s]
状态值函数可以用来评价状态的好坏。
根据定义可以得到:
vπ(s)=Eπ[Rt+1+γGt+1|St=s]=Eπ[Rt+1+γvπ(St+1)|St=s]\begin{align} v_\pi(s) &= \mathbb E_\pi[R_{t+1}+\gamma G_{t+1} |S_t = s] \nonumber \\\\ & = \mathbb E_\pi[R_{t+1}+\gamma v_\pi(S_{t+1}) | S_t = s] \nonumber \\\\ \end{align}
行为值函数
行为值函数 qπ(s,a) q_\pi(s, a)是从状态 s s出发,采取行为aa后,然后按照策略 π \pi采取行为得到的期望回报:qπ(s,a)=Eπ[Gt|St=s,At=a]q_\pi(s, a) = \mathbb E_\pi[G_t | S_t = s, A_t = a]
根据定义可以得到:
qπ(s,a)=E[Rt+1+γqπ(St+1,At+1)|St=s,At=a]\begin{align} q_\pi(s, a) &= \mathbb E[R_{t+1} +\gamma q_\pi(S_{t+1}, A_{t+1}) | S_t = s, A_t = a] \nonumber \\\\ \end{align}
2.2 Bellman期望方程
Bellman期望方程其实就是 vπ(s) v_\pi(s)和 qπ(s,a) q_\pi(s, a)自身以及相互之间的递推关系。
vπ(s) v_\pi(s)与 qπ(s,a) q_\pi(s, a)之间的关系
vπ(s)=∑a∈Aπ(a|s)qπ(s,a)(1)v_\pi(s) = \sum_{a\in {\cal A}} \pi(a|s)q_{\pi}(s, a) \tag{1}
qπ(s,a)=Ras+γ∑s′∈SPass′vπ(s′)(2)q_\pi(s,a) = {\cal R}_s^a + \gamma \sum_{s' \in {\cal S}} {\cal P}_{ss'}^a v_\pi(s') \tag{2}
vπ(s) v_\pi(s)自身的递推关系
把公式(2)代入(1)中得到:
vπ(s)=∑aπ(a|s)⎡⎣Ras+γ∑s′Pass′vπ(s′)⎤⎦(3)\begin{align} v_\pi(s) & = \sum_{a} \pi(a|s) \left[ {\cal R}_s^a + \gamma \sum_{s'} {\cal P}_{ss'}^a v_\pi(s') \right] \nonumber \end{align} \tag{3}
qπ(s,a) q_\pi(s, a)自身的递推关系
把公式(1)代入(2)中得到:
qπ(s,a)=Ras+γ∑s′Pass′∑a′π(a′|s′)qπ(s′,a′)(4)\begin{align} q_\pi(s, a) & = {\cal R}_s^a + \gamma \sum_{s'}{\cal P}_{ss'}^a \sum_{a'}\pi(a'|s')q_\pi(s', a') \nonumber \end{align} \tag{4}
3 最优值函数与Bellman最优方程
3.1 最优值函数
最优状态值函数
最优值函数 v∗(s) v_*(s)是在所有策略上的最大值函数:v∗(s)=maxπvπ(s)v_*(s) = \max_{\pi} v_\pi(s)
最优行为值函数
最优行为值函数 q∗(s,a) q_*(s, a)是在所有策略上的最大行为值函数:q∗(s,a)=maxπqπ(s,a)q_*(s, a) = \max_{\pi} q_\pi(s, a)
当最优值函数已知时,可以认为MDP已被解决。
3.2 Bellman最优方程
Bellman最优方程其实就是 v∗(s) v_*(s)和 q∗(s,a) q_*(s, a)自身以及相互之间的递推关系。
v∗(s) v_*(s)与 q∗(s,a) q_*(s, a)之间的关系
v∗(s)=maxπvπ(s)=maxπ∑a∈Aπ(a|s)qπ(s,a)=maxaq∗(s,a)(5.1)(5.2)(5.3)\begin{align} v_*(s)&=\max_{\pi} v_\pi(s) \tag{5.1} \\\\ & = \max_{\pi} \sum_{a\in {\cal A}} \pi(a|s)q_{\pi}(s, a) \tag{5.2} \\\\ & = \max_a q_*(s, a) \tag{5.3} \end{align}
问题:(5.3)为什么成立?
∑a∈Aπ(a|s)qπ(s,a)≤maxaqπ(s,a)maxπ∑a∈Aπ(a|s)qπ(s,a)≤maxπmaxaqπ(s,a)maxπ∑a∈Aπ(a|s)qπ(s,a)≤maxaq∗(s,a)\begin{align} \sum_{a\in {\cal A}} \pi(a|s)q_{\pi}(s, a) \leq \max_a q_\pi(s, a) \\\\ \max_{\pi} \sum_{a\in {\cal A}} \pi(a|s)q_{\pi}(s, a) \leq \max_{\pi} \max_a q_\pi(s, a) \\\\ \max_{\pi} \sum_{a\in {\cal A}} \pi(a|s)q_{\pi}(s, a) \leq \max_a q_*(s, a) \\\\ \end{align}
只能证明出 ≤ \leq,怎么证明 = =呢?q∗(s,a)=maxπqπ(s,a)=maxπRas+γ∑s′∈SPass′vπ(s′)=Ras+γ∑s′∈SPass′v∗(s′)(6.1)(6.2)(6.3)\begin{align} q_*(s, a) & = \max_{\pi} q_\pi(s, a) \tag{6.1} \\\\ & = \max_{\pi} {\cal R}_s^a + \gamma \sum_{s' \in {\cal S}} {\cal P}_{ss'}^a v_\pi(s') \tag{6.2} \\\\ & = {\cal R}_s^a + \gamma \sum_{s'\in {\cal S}} {\cal P}_{ss'}^a v_*(s')\tag{6.3} \end{align}
同样,怎么证明公式(6.3)呢?
v∗(s) v_*(s)自身的递推关系
把公式(6)代入(5)中得到:
v∗(s)=maxaRas+γ∑s′∈SPass′v∗(s′)(7)v_*(s) = \max_a {\cal R}_s^a + \gamma \sum_{s'\in {\cal S}} {\cal P}_{ss'}^a v_*(s') \tag{7}
q∗(s,a) q_*(s, a)自身的递推关系
把公式(5)代入公式(6)得到:
q∗(s,a)=Ras+γ∑s′∈SPass′maxaq∗(s′,a′)(8)q_*(s, a) = {\cal R}_s^a + \gamma \sum_{s'\in {\cal S}} {\cal P}_{ss'}^a \max_a q_*(s', a') \tag{8}
4 最优策略
定义策略之间的偏序关系
π≥π′ if vπ(s)≥vπ′(s), ∀s\pi \geq \pi' \space if \space v_\pi(s) \geq v_{\pi'}(s), \space \forall s
那么有如下定理成立:
对任意MDP:
- 存在最优策略 π∗ \pi_*,满足 π∗≥π,∀π \pi_* \geq \pi, \forall \pi
- 所有最优策略的状态值函数都等于最优状态值函数 vπ∗(s)=v∗(s) v_{\pi_*}(s) = v_*(s)
- 所有的最优策略的行为值函数都等于最优行为值函数 qπ∗(s,a)=q∗(s,a) q_{\pi_*}(s, a) = q_*(s, a)
思考这样一个问题:如果某个状态 s1 s_1是在策略 π1 \pi_1上取到最优状态值,而 s2 s_2是在另一个策略 π2 \pi_2上取得最优状态值,那么最优策略是什么呢?
这种情况下是不存在最优策略的。
但是对于有限MDP,并且值函数有界时,上述情况并不存在,即至少有一个最优策略。
强化学习——值函数与Bellman方程相关推荐
- 重温强化学习之函数近似
1.简介 之前提到的方法目的是求值函数,通过值函数找打策略 基于表格的方法: 基于表格方法精确的描述每一个动作和状态的大小,表格大小会随着状态数量和动作数量快速膨胀,对于表格中某一项的 ...
- 强化学习:函数逼近思想
在开始这一篇内容之前,让我们先回顾一下前8篇所提及的内容.概括地说,前八篇所讲到的各种强化学习方法(DP.MC.TD等),有一个共同套路:即采用数据表存储每一个状态(state)的价值量(value) ...
- 强化学习——值迭代和策略迭代
[强化学习]值迭代和策略迭代 在强化学习中我们经常会遇到策略迭代与值迭代,但是很多人都搞不清楚他们两个之间的区别,他们其实都是强化学习中的动态规划方法(DP). --<Reinforcement ...
- [强化学习实战]函数近似方法-线性近似与函数近似的收敛性
线性近似 最常使用的函数近似就是线性近似和人工神经网络.本节介绍线性近似.线性近似是用许多特征向量的线性组合来近似价值函数.特征向量则依赖于输入(即状态或状态动作对).以动作价值近似为例,我们可以为每 ...
- 基于值函数逼近的强化学习方法
基于值函数逼近的强化学习方法 1.表格型强化学习方法 2.值函数逼近方法理论 2.1 值函数逼近方法的分类 2.2.值函数逼近和表格型强化学习方法的比较 2.3.参数化逼近 2.4.增量式学习方法 2 ...
- 第二篇 值函数Based——基于值函数逼近的强化学习方法
本分类专栏博客系列是学习<深入浅出强化学习原理入门>的学习总结. 书籍链接:链接:https://pan.baidu.com/s/1p0qQ68pzTb7_GK4Brcm4sw 提取码:o ...
- 强化学习(一)---马尔科夫决策过程
目录 先大致了解工智能,机器学习,深度学习之间的联系与区别 主学习网址 莫烦python网址 [David Silver强化学习公开课中文讲解及实践](https://zhuanlan.zhihu.c ...
- 深度强化学习—— 译 Deep Reinforcement Learning(part 0: 目录、简介、背景)
深度强化学习--概述 翻译说明 综述 1 简介 2 背景 2.1 人工智能 2.2 机器学习 2.3 深度学习 2.4 强化学习 2.4.1 Problem Setup 2.4.2 值函数 2.4.3 ...
- 深度强化学习系列(1): 深度强化学习概述
机器学习是人工智能的一个分支,在近30多年已发展为一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.计算复杂性理论等的学科.强化学习(RL)作为机器学习的一个子领域,其灵感来源于心理学中的行为主 ...
最新文章
- C# 给枚举类型增加一个备注特性
- 【个人成长】数据分析——证书
- 淘宝NPM镜像、cnmp
- Ubuntu中的launcher
- 安装Windows Nano Server虚拟机
- 假如不穿宇航服,人在各大星球能活多久?
- (转)Java线程:新特征-线程池
- android广告多,iOS用户拒绝广告跟踪后很多广告商纷纷转投安卓
- Android RxBinding
- ORACLE的程序包1-程序包的基
- ubuntu 修改ip后,老ip仍然存在的问题
- python中bif是什么_python类与对象(BIF详细分析及实例讲解)
- Linux操作系统感想
- 机房服务器配置方案文件,机房搬迁实施方案模版
- 小技巧!Win10系统怎样恢复使用Win7中的照片查看器?非常简单!
- 软件耦合的分类及解决方法
- 计算机派位录取,北京幼升小多校划片电脑派位是什么意思
- 南邮 OJ 1128 An Industrial Spy
- 如何给字符串数组赋值
- Chart.js使用教程,画折线图实例
热门文章
- python——wordcloud生成中文词云
- linux中线程求圆的面积,圆的面积,周长,圆柱体的体积
- ElasticSearch实战
- 中国最愿意为程序员花钱的公司有哪些?
- Computer Science Fundamentals
- 性能分析系列-小命令保证大性能 | 程超
- User Script浏览器用户自定义脚本userscripts
- iOS 7: iPhone/iPad应用开发技术详解
- 面试经验|春招在即,时间宝贵,这一定是最近的 Java 并发学习路线
- MPEG-4 AVC/H.264 视频编码资源列表(中文)