课后习题解答
- 第一章习题:1、A;2、B;3、C;4、B;5、1
- 第二章习题:
- 13.6
- 按一元正态分布采样 f(x) 求均值
- 构造随机变量 Zi=4f(Xi,Yi)−π,易知其满足 Bernstein 概率不等式条件,可得:
P(n1∑i=1n4f(Xi,Yi)−π≥ϵ)≤exp(−4π−π2+ϵπ/3ϵ2n/2)
令 ϵ=nC,则右式为 exp(−v+Cb/(3n)C2/2),当 n→∞ 时概率上界为 exp(−2vC2)。则对任意小的概率 δ,选取 C=−2vlnδ 可以使得 ∣qn−π∣ 大于 nC 的概率不超过 δ,即为原题定理。
- n=1 时成立,假设 n=i−1 时亦成立:
qn=(1−n1)⋅qn−1+n1⋅f(xn)=nn−1⋅n−11∑i=1n−1f(xi)+n1⋅f(xn)=n1∑i=1nf(xi)
- 第三章习题:1、C;2、D;3、B;4、E
- 第四章习题:1、B;2、A;3、A;4、789,下;5、18,2;6、B,A;7、A
- 第五章习题:
- A
- 因为每一步都会利用策略函数 π 采样得到 a 后计算 TD 目标
- 因为更接近无偏估计 ut
- 第六章习题:1、A;2、B;3、B;4、B;5、B;6、A;7、C;8、B,C;9、A;10、A;11、ABCDEJ
- 第七章习题:1、1;2、因为合为一的正数;3、B;4、C;5、随机梯度的近似、动作价值函数的近似;6、A
- 第八章习题:1、B;2、B
- 第十一章习题:1、ABD;2、d2×(d1+d2+1)
- 第十三章习题:1、5;2、A;3、A;4、B
- 第十五章习题:
- 推导如下:
∇θiJ(θ1,⋯,θm)=ES,A[(Qπ(S,A)−b)⋅∇θilnπ(A∣S;θ1,⋯,θm)]=ES,A[(Qπ(S,A)−b)⋅∇θi(lnπ(A1∣S;θ1)+⋯+lnπ(Am∣S;θm))]=ES,A[(Qπ(S,A)−b)⋅∇θilnπ(Ai∣S;θi)]
- 第十八章习题:1、A;2、C
基础知识
实际训练神经网络的时候,总是用 SGD(及其变体)而不用 GD。主要原因是 GD 用于非凸问题会陷在鞍点(saddle point),收敛不到局部最优;而 SGD 和小批量(mini-batch)SGD 可以跳出鞍点,趋近局部最优。另外,GD 每一步的计算量都很大,比 SGD 大 n 倍,所以 GD 通常很慢(除非用并行计算)。
设 X 是 d 维随机变量,它的取值范围是集合 Ω⊂Rd。函数 p(x) 是 X 的概率密度函数,设 f:Ω↦R 是任意的多元函数,它关于变量 X 的期望是:
EX∼p(⋅)[f(X)]=∫Ωp(x)⋅f(x)dx
可以在集合 Ω 上均匀采样利用蒙特卡洛计算其定积分,但收敛速度较慢。可以按照概率 p(x) 进行非均匀采样,记作 x1,⋯,xn∼p(⋅),并对函数值 f(x1),⋯,f(xn) 求平均 qn 作为期望 EX∼p(⋅)[f(X)] 的估计值。
如果按照该方式进行采样需要存储 n 个函数值占用内存,可以初始化 q=0,从 t=1 到 n,依次计算:
qt=(1−t1)⋅qt−1+t1⋅f(xt)
易证这样得到的 qn 等于 n1∑i=1nf(xi)。可以进一步把上式中的 t1 替换为 αt,得到公式:
qt=(1−αt)⋅qt−1+αt⋅f(xt)
这个公式叫做 Robbins-Monro 算法,其中 αn 称为学习步长或学习率,只要 αt 满足下面的性质,就能保证算法的正确性:
limn→∞∑t=1nαt=∞,limn→∞∑t=1nαt2<∞
我们可以用蒙特卡洛近似期望来理解随机梯度算法,神经网络的训练可以定义为如下优化问题:
minωEX∼p(⋅)[L(X;ω)]
目标函数 EX[L(X;ω)] 关于 ω 的梯度是(微分算子和积分算子的交换顺序需满足一定条件):
g≜∇ωEX∼p(⋅)[L(X;ω)]=EX∼p(⋅)[∇ωL(X;ω)]
直接计算梯度 g 通常会比较慢,为了加速计算,可以对期望做蒙特卡洛近似,把得到的近似梯度 g~ 称作随机梯度(stochastic gradient),用 g~ 代替 g 来更新 ω。因为 E[g~]=g,它是 g 的一个无偏估计。
在实际应用中,样本真实的概率密度函数 p(x) 一般是未知的,在训练神经网络时,我们通常会收集一个训练数据集 X={x1,⋯,xn},并求解经验风险最小化问题:
minωn1∑i=1nL(xi;ω)
这相当于用下面这个概率质量函数代替真实的 p(x):
p(x)=⎩⎨⎧n1,0,if x∈Xif x∈/X
马尔可夫决策过程 (MDP)
强化学习的数学基础和建模工具是马尔可夫决策过程(Markov decision process,MDP)。一个 MDP 通常由状态空间 S、动作空间 A、状态转移函数 p、奖励函数 r 和折扣因子 γ 等组成。
思考与讨论
书中提到“知道这局游戏的历史记录(即每一步是怎么走的),并不会给你提供额外的信息”,但是对手的风格也是重要信息,AlphaGo 只利用前六步信息,是出于计算量的考虑还是信息和误差的考量?
通常假设奖励是当前状态 s、当前动作 a、下一时刻状态 s′ 的函数,把奖励函数记作 r(s,a,s′)。有时假设奖励仅仅是 s 和 a 的函数,记作 r(s,a)。我们总是假设奖励函数是有界的,即对于所有 a∈A 和 s,s′∈S,有 ∣r(s,a,s′)∣<∞。
状态转移概率函数(state transition probability function)通常假设为平稳的,即不随着时刻 t 变化:
pt(s′∣s,a)=P(St+1′=s′∣St=s,At=a)
轨迹 (trajectory) 是指一回合(episode)游戏中,智能体观测到的所有的状态、动作、奖励:
s1,a1,r1,s2,a2,r2,s3,a3,r3,⋯
回报 (return) 是从当前时刻开始到本回合结束的所有奖励的总和,所以回报也叫做累计奖励(cumulative future reward)。使用折扣回报(discounted return)作为折扣后的总奖励:
Ut=Rt+γ⋅Rt+1+γ2⋅Rt+2+γ3⋅Rt+3+⋯
MDP 的时间步可以是有限期(finite-horizon)或无限期(infinite-horizon)。有限期 MDP 存在一个终止状态(terminal state),该状态被智能体触发后,一个回合(episode)结束。与之对应的是无限期 MDP,即环境中不存在终止状态,在折扣率 γ≥1 时会导致回报趋于无穷。
假设对于所有的 s∈S 和 a∈A,回报函数有界 ∣r(s,a)∣<b,那么对于 γ∈[0,1),且 r(s,a),有这样的性质:
limn→∞∑i=tnγi−tri≤1−γb
价值函数
假设观测到状态 st,选中动作 at,则回报 Ut 关于随机变量求条件期望,得到:
Qπ(st,at)=ESt+1,At+1,⋯,Sn,An[Ut∣St=st,At=at]
条件期望的结果 Qπ(st,at) 被称作动作价值函数(action-value function),更准确地说应该是动作状态价值函数。
为了排除掉策略 π 的影响,只评价当前状态和动作的好坏,可以利用最优动作价值函数(optimal action-value function):
Q∗(st,at)=maxπQπ(st,at),∀st∈S,at∈A
如果只想知道当前状态 st 是否对自己有利,可以利用状态价值函数(state-value function):
Vπ(st)=EAt∼π(⋅∣st)[Qπ(st,At)]=∑a∈Aπ(a∣st)⋅Qπ(st,a)
状态价值函数 Vπ(st) 也是回报 Ut 的期望:
Vπ(st)=EAt,St+1,At+1,⋯,Sn,An[Ut∣St=st]