从决策规则到概率分布
策略回答一个问题:给定状态 ,智能体应该采取哪个动作 ?最简单的答案是一个函数。
确定性策略把每个状态直接映射到一个动作:
给定一个固定的参数向量 ,同一个状态总是产生同一个动作。
这已经足以定义出一种行为,而且确定性策略在实践中往往就是这样实现的,比如用一个小型多层感知机,直接把观测向量映射成动作向量,中间没有任何采样步骤,也不涉及任何概率分布。但一个纯粹的确定性映射有一个结构性弱点,本系列前面的笔记里其实已经埋下了伏笔:它没法探索。如果 从同一个状态出发总是返回同一个动作,智能体就没有任何内建的机制去尝试其他选项、弄清楚它们是否更好。探索只能从外部硬加进来,作为事后叠加的显式噪声。
随机性策略定义的是一个以状态为条件、关于动作的概率分布:
从中采样一个动作记作 。
探索这件事,从这个定义里几乎是免费得到的:只要 给不止一个动作赋予了非零概率,智能体就会(从构造上)偶尔尝试当前认为并非最优的选项。但这里有一点很容易被模糊掉:这只是随机性策略之所以重要的两个真正独立的理由之一,而另一个理由,对本笔记之后的内容而言,反而更加关键。
第一个理由是行为层面的:一个关于动作的分布天然支持探索,而一个确定性映射不支持。第二个理由是数学层面的,和探索完全无关:把一个决策变成一个分布、而不是一个单点,恰恰是能够对策略自身的参数写出一个光滑、可微目标的关键,即便底层的选择本身是离散的,即便被优化的量(回报)对动作本身并不可微。正是这第二个理由,让策略梯度方法特别需要 是一个真正的概率分布,有明确的密度或质量函数,而不仅仅是”在确定性策略上加了点随机噪声”。这正是策略梯度笔记里整套 log-derivative 技巧要处理的主题。
具体长什么样,完全取决于它要覆盖的动作空间,就像本系列前面对比基于价值的方法时一样,离散和连续动作空间需要真正不同的构造。
离散动作:类别分布策略
对于离散动作空间 ,类别分布策略输出一个概率向量
在实现上,这和一个分类器完全一样:网络输出 个实值 logits,再用 softmax 把它们转换成上面的概率向量。
如果采样出的动作是 ,它的似然是 ,而它的对数似然(接下来一切都会用到的量)是 。
连续动作:对角高斯策略
一旦动作空间变成连续统,类别分布就没有任何有意义的类比了,即没有办法”给每一个实数分配一个概率”。标准的做法是让网络输出一个连续分布的参数,而不是分布本身的每一个取值。
对于一个 维连续动作 ,对角高斯策略是
其中均值向量为 ,协方差矩阵被限制为对角矩阵 。
把 限制为对角矩阵,是一个真正的建模选择,而不是数学上的必然,即它意味着在给定状态的条件下,各个动作维度被视为条件独立的,即每个 分别满足 。一个完整的协方差矩阵原则上可以捕捉动作维度之间的相关性(比如转向角和速度联动),但代价是 个参数,还要在整个训练过程中维持矩阵的正定性。对角化的限制放弃了这部分表达能力,换来的是 个参数,以及一个只需要逐坐标维持的正性约束。
标准差必须满足 ,但神经网络的原始输出是一个无约束的实数。与其裁剪或者用其他方式硬性约束网络的输出,标准的做法是让网络转而输出 ,再通过 恢复出 。因为 是一个双射,这个重参数化不费吹灰之力就精确地保证了正性,完全不需要触碰优化器所在的那个无约束参数空间。
从这个策略里采样,用的是同一个技巧的反向操作:不直接从一个参数依赖于 的分布里采样,而是先采样与参数无关的噪声,再对它施加一个确定性的、依赖 的变换。
采样 ,然后令
其中 表示逐元素乘法。
按上面方式构造出来的 满足 。
每一个坐标 都是对标准正态变量 的一个仿射变换。高斯变量的仿射变换仍然是高斯的,其均值和方差按如下方式变换:,,所以 。按构造, 的各个坐标是相互独立的,而对独立变量做逐坐标的仿射变换会保持独立性,所以各个 之间也相互独立,这恰好就是 。
把对角高斯的密度写出来再取对数,就得到了对数似然。
离均值近的动作对数似然更高;离均值远的动作对数似然更低;而更大的 ,既会让分布变宽,也会(从公式里直接可以看出来)削弱对数似然对” 离均值有多远”这件事的敏感度,代价是一个常数项 的惩罚。更大的 是在用精度换取维度 上的探索,而对数似然公式把这个权衡明确地标出了价格。
对数似然:策略真正在优化的对象
上面两种构造最终都落在了同一个地方:不是概率本身,而是概率的对数。这不是一个纯粹的行文偏好。
写 而不是 ,同时做了两件事。第一,它把概率的乘积变成了对数的求和,即一条轨迹在某个策略下的概率,可以分解成逐步概率的乘积,所以它的对数概率就是逐步对数概率的求和,这对一长串很小的数字而言在数值上更稳定,而且逐项求导也容易得多。第二,也更根本的是:对数似然正是 log-derivative 技巧作用的那个精确对象: 恰恰是那个把”一个被采样动作的回报”转化为一个可用梯度信号的 score function,而完全不需要对环境本身求导。这个恒等式(为什么”对数概率的梯度”恰好是应该乘上回报的那个正确对象)内容足够充分,值得单独推导,在策略梯度笔记里有完整的推导。
对比
| 策略类型 | 动作空间 | 分布 | 主要输出 |
|---|---|---|---|
| 确定性策略 | 连续或离散 | 无 | 直接输出动作 |
| 类别分布策略 | 离散 | 类别分布 | 动作概率 |
| 对角高斯策略 | 连续 | 高斯分布 | 均值 和标准差 |
评论