高等数学入门
函数光滑
光滑函数就是无穷可导的函数。
策略梯度
\(R(\theta)=E(\sum_{\theta}^{T}z_tr_t)\)
策略梯度是直接利用当前状态生成动作\(a_i\),用梯度的方法优化\(R(\theta)\)
在这个公式中,\(R(\theta)\) 是关于参数 \(\theta\) 的期望累计回报,\(z_t\) 是折扣因子,\(r_t\) 是在时间步 \(t\) 的奖励信号。
具体来说,假设我们正在训练一个强化学习模型,该模型需要在某个环境中执行一系列动作,以获取最大化的累计奖励。在每个时间步 \(t\),模型会观察环境状态,并基于当前策略 \(\pi_{\theta}\) 选择一个动作 \(a_t\)。环境将返回一个奖励信号 \(r_t\),并转移到下一个状态 \(s_{t+1}\)。这个过程将一直持续到终止状态 \(T\) 被达到。
那么,\(R(\theta)\) 就是在这个过程中,按照当前策略 \(\pi_{\theta}\) 执行动作所能获得的期望累计奖励。其中,\(\sum_{\theta}^{T}z_tr_t\) 表示在时间步 \(t\) 执行动作 \(a_t\) 所获得的奖励信号 \(r_t\) 乘以折扣因子 \(z_t\),并累加到终止状态 \(T\) 时的总和。折扣因子 \(z_t\) 是用来对未来奖励进行衰减的因子,通常取值在 0 到 1 之间,表示未来奖励的价值越远,其权重就越小。
因此,最大化 \(R(\theta)\) 的过程就是通过调整参数 \(\theta\),使得在当前策略下,能够获得最大化的期望累计奖励。这是强化学习中最基本的目标,也是训练强化学习模型的核心目标。
求 \(R(\theta)\) 的梯度需要使用策略梯度定理,因为 \(R(\theta)\) 是关于策略参数 \(\theta\) 的期望值,无法通过直接求导的方式来计算其梯度。
策略梯度定理表明,\(R(\theta)\) 的梯度可以表示为:
\[\nabla_{\theta} R(\theta) = E_{\tau \sim p_{\theta}(\tau)}[\sum_{t=0}^{T} \nabla_{\theta} \log \pi_{\theta}(a_t|s_t) r(\tau)]\]
其中,\(\tau\) 是一个轨迹,表示从初始状态开始,根据策略 \(\pi_{\theta}\) 采取一系列动作,最终到达终止状态的过程。\(p_{\theta}(\tau)\) 表示根据策略 \(\pi_{\theta}\) 生成轨迹 \(\tau\) 的概率。\(\log \pi_{\theta}(a_t|s_t)\) 表示在状态 \(s_t\) 下采取动作 \(a_t\) 的概率的对数。
因此,要计算 \(R(\theta)\) 的梯度,我们需要先使用策略 \(\pi_{\theta}\) 在环境中采集多条轨迹,并根据这些轨迹计算 \(R(\theta)\)。然后,对于每个时间步 \(t\),我们需要计算 \(\log \pi_{\theta}(a_t|s_t)\) 的梯度,并乘以对应的奖励信号 \(r(\tau)\)。最后,将这些梯度加权求和,即可得到 \(R(\theta)\) 的梯度。
需要注意的是,在实际应用中,由于策略梯度的方差较大,常常会进行一些技巧来减少方差,例如基线函数和重要性采样等方法。
一阶梯度优化方法
\(\delta_t=\arg\min_{\delta } L(\theta_t+\delta )\) ,如何理解\(\delta\)?
这其实是当前的最优移动方向和距离。