前段时间学习了强化学习和深度强化学习相关的内容,整理了一些笔记,未来几天会陆续将这些笔记整理上传。
主要学习了ShuSen Wang的视频课程,原视频发布在YouTube上:https://youtu.be/vmkRMvhCW5c
在GitHub上也有对应的课程资料:课程资料:https://github.com/wangshusen/DRL
如果YouTube不方便的话,在B站也有朋友进行了视频搬移:https://www.bilibili.com/video/BV12o4y197US?p=1&vd_source=8d653ed89bcdb0eb6cd2a2b188704789
1.概率论相关知识
-
随机变量 Random Variable
随机变量XXX,一个随机事件的结果;
XXX的观测值xxx,不具有随机性。
-
概率密度函数,Probability Density Function(PDF)
概率密度函数p(x)p(x)p(x),随机变量XXX的定义域为X\mathcal{X}X
-
概率积分或加和为1
∫Xp(x)dx=1∑x∈Xp(x)=1 \begin{aligned} \int_\mathcal{X}p(x)dx&=1 \\\sum_{x\in\mathcal{X}}p(x)&=1 \end{aligned} ∫Xp(x)dxx∈X∑p(x)=1=1 -
期望,Expectation
E[f(X)]=∫Xp(x)f(x)dxE[f(X)]=∑x∈Xp(x)f(x) \begin{aligned} E[f(X)]&=\int_\mathcal{X}p(x)f(x)dx \\E[f(X)]&=\sum_{x\in\mathcal{X}}p(x)f(x) \end{aligned} E[f(X)]E[f(X)]=∫Xp(x)f(x)dx=x∈X∑p(x)f(x) -
随机抽样,Random Sampling
-
2.专业术语,terminology
-
Agent,智能体
-
State,s
-
Action,a
-
Policy,π\piπ,概率密度函数
π(a∣s)=P(A=a∣S=s) \pi(a|s)=P(A=a|S=s) π(a∣s)=P(A=a∣S=s) -
Reward,r
-
State transition,状态转移
在action下,状态从old state转移到new state;状态转移一般是随机的。
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) -
agent environment interactoin,交互
- 通过Environment,观测确定状态sts_tst
- Agent得到状态后,给出动作ata_tat
- Environment根据动作,更新状态为st+1s_{t+1}st+1,并给出Agent的奖励rtr_trt
最终生成轨迹trajectory:
s1,a1,r1,s2,a2,r2,⋅⋅⋅,sT,aT,rT s_1,a_1,r_1,s_2,a_2,r_2,···,s_T,a_T,r_T s1,a1,r1,s2,a2,r2,⋅⋅⋅,sT,aT,rT
3.Randomness in Reinforcement Learning
强化学习中随机性来源:
- 动作Action的随机性,根据Policy π\piπ随机抽样;
- 状态转移State transitions的随机性,给定动作aaa后,根据状态转移函数ppp随机抽样,得到新的状态。
-
Returns
-
Return, aka cumulative future reward(累积奖励)
Discounted return, aka cumulative Discounted future reward(折扣累积回报)
γ\gammaγ, discount rate
Ut=Rt+γRt+1+γ2Rt+2+⋅⋅⋅ U_t=R_t+\gamma R_{t+1}+\gamma ^2R_{t+2}+··· Ut=Rt+γRt+1+γ2Rt+2+⋅⋅⋅ -
Return and Reward
Reward为某一状态的回报,以RRR表示该随机变量;若游戏已经结束(采样结束),已经得到了一组回报,这组回报数值以rrr表示;
Return为当前时刻向后的累计回报,以UtU_tUt表示。
-
Randomness in Returns
任意一个时刻的奖励RiR_iRi取决于SiS_iSi和AiA_iAi,故Return随机性的两个来源为:未来所有时刻的动作和状态的随机性。
Actions are random: P[A=a∣S=s]=π(a∣s)P[A=a|S=s]=\pi(a|s)P[A=a∣S=s]=π(a∣s)
States are random: 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]=p(s′∣s,a)
4.Value Function,价值函数
-
Action-Value Function,行动价值函数Q(s,a)Q(s,a)Q(s,a),对某个行动进行打分
问题:UtU_tUt依赖于未来时刻的动作和状态,故ttt时刻无法获知UtU_tUt,无法对当前时刻进行评估。
解决方法:对UtU_tUt求期望,通过积分消除未来状态和动作的随机性,仅保留当前状态和动作,得到一个实数。
Qπ(st,at)=E[Ut∣St=st,At=at] Q_\pi(s_t,a_t)=E[U_t|S_t=s_t,A_t=a_t] Qπ(st,at)=E[Ut∣St=st,At=at]
行动价值函数Qπ(st,at)Q_\pi(s_t,a_t)Qπ(st,at)与Policy π(a∣s)\pi(a|s)π(a∣s)有关,对当前策略π\piπ下不同行动aaa进行打分。Optimal action-value function,在无数种策略下,取最优的一种:
Q∗(st,at)=maxπQπ(st,at) Q^*(s_t,a_t)=\max_\pi Q_\pi(s_t,a_t) Q∗(st,at)=πmaxQπ(st,at) -
State-Value Function,状态价值函数V(s)V(s)V(s),对某个状态和策略进行评估
当前状态下,对不同动作的行动价值函数求期望:
Vπ(st)=EA[Qπ(St,A)] V_\pi(s_t)=E_A[Q_\pi(S_t,A)] Vπ(st)=EA[Qπ(St,A)]Vπ(st)=EA[Qπ(St,A)]=∑aπ(a∣st)⋅Q(st,a)Vπ(st)=EA[Qπ(St,A)]=∫π(a∣st)⋅Q(st,a)da \begin{aligned} V_\pi(s_t)=E_A[Q_\pi(S_t,A)]&=\sum_a\pi(a|s_t)·Q(s_t,a) \\V_\pi(s_t)=E_A[Q_\pi(S_t,A)]&=\int\pi(a|s_t)·Q(s_t,a)da \end{aligned} Vπ(st)=EA[Qπ(St,A)]Vπ(st)=EA[Qπ(St,A)]=a∑π(a∣st)⋅Q(st,a)=∫π(a∣st)⋅Q(st,a)da
5.How does AI control the agent
强化学习思路下,控制agent的方法:
-
策略学习,给定决策π(a∣s)\pi(a|s)π(a∣s),在状态sts_tst下随机抽样得到ata_tat
-
价值学习,给定最优行动价值Q∗(s,a)Q^*(s,a)Q∗(s,a),在状态sts_tst下对各个动作进行评价,取最优的动作at=argmaxaQ∗(st,a)a_t=\arg\max_aQ^*(s_t,a)at=argmaxaQ∗(st,a)
-
策略学习,给定决策π(a∣s)\pi(a|s)π(a∣s),在状态sts_tst下随机抽样得到ata_tat
-
价值学习,给定最优行动价值Q∗(s,a)Q^*(s,a)Q∗(s,a),在状态sts_tst下对各个动作进行评价,取最优的动作at=argmaxaQ∗(st,a)a_t=\arg\max_aQ^*(s_t,a)at=argmaxaQ∗(st,a)
-