重要性采样

重要性采样

前言

离散型随机变量 X X X,我们可以通过以下方法求取其期望:

  1. 直接计算法,需要知道概率分布:
    E ( X ) = ∑ x ∈ X p ( x ) ⋅ x \mathbb{E}(X)=\sum_{x\in X}\leftp(x)\\cdot x\\right E(X)=x∈X∑p(x)⋅x

  2. 采样计算,这时即使 X X X概率分布未知,依据大数定律,当采样次数够大时,仍然可以求取期望
    E ( X ) = 1 n lim ⁡ n → + ∞ ∑ i = 0 n − 1 x i \mathbb{E}(X)=\frac{1}{n}\lim_{n\to +\infty}\sum_{i=0}^{n-1} x_i E(X)=n1n→+∞limi=0∑n−1xi

连续型随机变量 X X X

  1. 直接计算,需要 f f f表达式

E ( X ) = ∫ x x ⋅ f ( x ) d x \mathbb{E}(X)=\int_x x\cdot f(x)dx E(X)=∫xx⋅f(x)dx

  1. 抽样(蒙特卡洛积分估计),这里不多做介绍

重要性采样

思想:如果已知随机变量 X ∼ p 0 X\sim p_0 X∼p0,在 p 0 p_0 p0下随机采样了一批数据 { x i } ∼ p 0 \{x_i\}\sim p_0 {xi}∼p0,现在要求随机变量 X ∼ p 1 X\sim p_1 X∼p1下的期望,则:
E X ∼ p 1 X = ∑ x p 1 ( x ) ⋅ x = ∑ x p 0 ( x ) p 1 ( x ) p 0 ( x ) ⋅ x = E X ∼ p 0 f ( X ) \mathbb{E}{X\sim p_1}X=\sum_x p_1(x)\cdot x=\sum_x p_0(x) \frac{p_1(x)}{p_0(x)}\cdot x=\mathbb{E}{X\sim p_0}f(X) EX∼p1X=x∑p1(x)⋅x=x∑p0(x)p0(x)p1(x)⋅x=EX∼p0f(X)

那么就有如下几个问题:

  1. 对于离散型随机变量,为什么 p 1 ( x ) p_1(x) p1(x)已知,不直接计算期望呢?

    • 因为有时候我们已经根据 p 0 p_0 p0采样了一些数据,再用 p 1 p_1 p1重新采样计算一遍,会增加很多计算量。
    • 因为有些时候不方便对 p 1 p_1 p1采样
    • 在强化学习中,我们根据一个策略采样,通过重要性采样可以求出另一个策略的期望,是一种On Policy向Off Policy转换的思想。
  2. 对于连续型随机变量,为什么 p 1 ( x ) p_1(x) p1(x)已知,不直接计算期望呢?

    理论上不可能完全求出概率密度函数,所以无法从理论上计算期望,只能估计。

    例如,如果我们通过神经网络来表示 f f f,那么对任意的输入 x x x,我们都可以求出 f ( x ) f(x) f(x),但是这并不代表我们求出 f f f的函数表达式,更无法进一步求积分。我们只是能从数值上计算出 f ( x ) f(x) f(x),神经网络本身就是一个黑盒。

综上所述,重要性采样使得我们能够从behavior policy采样,然后去估计target policy的期望,从而使得On Policy的算法转换为Off Policy

相关推荐
维度攻城狮2 天前
最基础的REINFORCE:小车倒立摆
强化学习·reinforce·小车倒立摆
盼小辉丶2 天前
PyTorch强化学习实战(29)——深入解析强化学习中的探索策略
pytorch·深度学习·强化学习
AliCloudROS3 天前
5~7 分钟跑通第一个 Agentic RL 训练:我们把 verl 全链路做成了计算巢一键服务
深度学习·强化学习
猫先生Mr.Mao3 天前
具身智能之Dex-One2Many详解:一条人类视频如何变成多种灵巧手行为
机器人·强化学习·论文解读·具身智能·灵巧手
liferecords4 天前
PolyOCR-Venus:蚂蚁把 OCR 从『抄写员』练成『视觉智能体』,教师蒸馏还会自己下岗
大模型·ocr·强化学习·多模态
zh路西法4 天前
【离策略强化学习】DDPG、TD3 与 SAC:核心公式推导与源码解析
python·强化学习·ddpg·td3·sb3·off-policy·sac
老周聊架构5 天前
领域模型进化:GRPO 强化学习与 Post-training Engineering
强化学习·grpo
盼小辉丶5 天前
PyTorch强化学习实战(28)——遗传算法在强化学习中的应用
pytorch·深度学习·强化学习
幻影123!10 天前
AlphaZero 五子棋实战(番外二):白棋专项训练的一种方案
python·机器学习·强化学习·五子棋·alpha zero
I Am a robert girl11 天前
从科学代码库到智能体训练场:ScienceIDE 的架构拆解与工程启示
架构·强化学习·代码仓库·科学计算·监督微调·智能体训练·可编程环境