文章目录
前言
本文所有概念均摘自《深度强化学习》,如有错误,欢迎指出
基础概念
概率论
- 随机变量为一个不确定量,通常用大写字母表示,其取值取决于一个随机事件
- 一次实验,随机变量的取值称为观测值,通常用小写字母表示
- 离散随机变量的概率可通过概率质量函数获得
- 连续随机变量的概率可通过概率密度函数求积分获得
蒙特卡洛
- 简言之,利用观测值来计算目标的近似结果,利用的观测值越多,计算结果越精确,例如随机变量 A A A的期望为 E ( A ) E(A) E(A),我们可以进行m次实验,得到随机变量 A A A的m个观测值,对m个观测值取平均,作为 E ( A ) E(A) E(A)的近似值,m越大,近似值越接近 E ( A ) E(A) E(A)
强化学习基础概念
-
强化学习的目标:强化学习的目标是找到一个决策规则(策略),使得系统获得最大累积奖励值。
-
状态:对当前环境的概括,例如围棋游戏,当前棋盘上所有棋子的位置就是状态,状态是做决策的唯一依据。
-
状态空间:所有可能存在状态的集合,状态空间可以是无限的,也可以是有限的
-
动作:指做出的决策,例如在超级马里奥游戏中,马里奥只能向左、向右、向上,那么动作就是这三者中的一种
-
动作空间:指所有可能动作的集合,在超级马里奥的例子中,动作空间为{上、左、右}
-
智能体:指动作的主体,由谁做动作,谁就是智能体,在超级马里奥的例子中,马里奥就是智能体
-
奖励:智能体执行一个动作后,环境返回给智能体的一个数值,举个例子,小学生(智能体)完成了作业(动作),父母让他打一小时王者荣耀(奖励),奖励依赖于当前的状态 s t s_t st,智能体执行的动作 a a a,有些情况下也依赖于下一时刻的状态 s t + 1 s_{t+1} st+1
-
环境:谁能生成新的状态,谁就是环境
-
状态转移:给定状态s,智能体执行动作a,环境通过状态转移函数给出下一时刻的状态
-
智能体与环境交互:观测到当前状态s,AI用策略函数计算出所有动作的概率,接着利用动作的概率做随机抽样,选择一个让智能体执行的动作,智能体执行完动作后,环境依据状态转移函数生成新的状态,并反馈给智能体奖励
-
回报:从当前时刻开始到结束的所有奖励的总和,也称为累计奖励,设 t t t时刻的回报为随机变量 U t U_t Ut, t t t时刻的奖励为 R t R_t Rt,则有
U t = R t + R t + 1 + R t + 2 + . . . . . . U_t=R_t+R_{t+1}+R_{t+2}+...... Ut=Rt+Rt+1+Rt+2+...... -
折扣回报:设折扣率为 γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1],则折扣回报为
U t = R t + γ R t + 1 + γ 2 R t + 2 + . . . . . . U_t=R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+...... Ut=Rt+γRt+1+γ2Rt+2+......
折扣率为超参数 -
回报 U t U_t Ut的随机性来源于 t t t时刻的动作以及 t t t时刻后的动作以及状态
常用函数符号
-
动作价值函数:其数学表达式为
Q π ( s t , a t ) = E S t + 1 , A t + 1 , . . . , S n , A n [ U t ∣ S t = s t , A t = a t ] Q_{\pi}(s_t,a_t)=E_{S_{t+1},A_{t+1},...,S_n,A_n}[U_t|S_t=s_t,A_t=a_t] Qπ(st,at)=ESt+1,At+1,...,Sn,An[Ut∣St=st,At=at]
其含义为在策略 π \pi π下,智能体在状态 s t s_t st做出动作 a t a_t at后获得回报的上限(上限不能超过期望,即平均值),其取值依赖于策略 π \pi π以及 t t t时刻的状态 s t s_t st以及动作 a t a_t at -
最优动作价值函数:其数学表达式为
Q ∗ ( s t , a t ) = max π Q π ( s t , a t ) Q_{*}(s_t,a_t)=\max_{\pi} Q_{\pi}(s_t,a_t) Q∗(st,at)=πmaxQπ(st,at)
当策略 π \pi π是最优时,动作价值函数即为最优动作价值函数,其取值依赖于 t t t时刻的状态 s t s_t st以及动作 a t a_t at, -
状态转移函数:环境利用状态转移函数生成新的状态,状态转移函数通常是一个条件概率密度函数,比如AI与人类下棋,AI下完后,棋盘的后续的状态如何取决于人类会将棋子放在哪里,人类放棋子这个动作是随机的,设当前智能体状态为 S S S,动作为 A A A,则状态转移函数为
P ( s ′ ∣ s , a ) = P ( S ′ = s ′ ∣ S = s , A = a ) P(s'|s,a)=P(S'=s'|S=s,A=a) P(s′∣s,a)=P(S′=s′∣S=s,A=a) -
策略函数:根据观测到的状态做出决策,从而控制智能体,设状态为 S S S,动作为 A A A,策略函数的条件概率密度函数为
π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s)=P(A=a|S=s) π(a∣s)=P(A=a∣S=s)
即已知当前的状态,做出动作a的概率。强化学习的目标是学习策略函数,奖励定义的好坏非常影响强化学习的效果 -
状态价值函数:用来衡量当前状态的好坏,未来的回报越大,则当前状态越好。其数学表达式为
V π ( s t ) = E A t , S t + 1 , A t + 1 , . . . , S n , A n [ U t ∣ S t = s t ] V_{\pi}(s_t)=E_{A_t,S_{t+1},A_{t+1},...,S_n,A_n}[U_t|S_t=s_t] Vπ(st)=EAt,St+1,At+1,...,Sn,An[Ut∣St=st]
其与动作价值函数的关系为(~符号显示不出来,用 ∈ \in ∈表示服从某概率分布)
V π ( s t ) = E A t , S t + 1 , A t + 1 , . . . , S n , A n [ U t ∣ S t = s t ] = E A t ∈ π ( . ∣ s t ) [ E S t + 1 , A t + 1 , . . . , S n , A n [ U t ∣ S t = s t , A t ] ] = E A t ∈ π ( . ∣ s t ) [ Q π ( s t , A t ) ] \begin{aligned} V_{\pi}(s_t)&=E_{A_t,S_{t+1},A_{t+1},...,S_n,A_n}[U_t|S_t=s_t]\\ &=E_{A_t \in \pi(.|s_t)}[E_{S_{t+1},A_{t+1},...,S_n,A_n}[U_t|S_t=s_t,A_t]]\\ &=E_{A_t \in \pi(.|s_t)}[Q_{\pi}(s_t,A_t)] \end{aligned} Vπ(st)=EAt,St+1,At+1,...,Sn,An[Ut∣St=st]=EAt∈π(.∣st)[ESt+1,At+1,...,Sn,An[Ut∣St=st,At]]=EAt∈π(.∣st)[Qπ(st,At)]
价值学习与策略学习
- 价值学习:强化学习的目标为学习最优动作价值函数或最优状态价值函数,利用最优动作价值函数或最优状态价值函数控制智能体运动
- 策略学习:强化学习的目标为学习策略函数,利用策略函数控制智能体的动作