重要性采样

重要性采样

前言

离散型随机变量 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

相关推荐
指掀涛澜天下惊3 天前
AI 基础知识十九 强化学习前言
人工智能·机器学习·强化学习
劈星斩月3 天前
机器学习之 定义与三大范式
人工智能·机器学习·监督学习·强化学习·无监督学习
文艺倾年3 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
盼小辉丶3 天前
PyTorch强化学习实战(14)——优先经验回放机制
pytorch·python·深度学习·强化学习
文艺倾年5 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
happyprince5 天前
07_verl-Trainer模块详解
人工智能·架构·wpf·强化学习
chen_zn956 天前
RLinf复现RECAP(一):从轨迹回报到优势标签
人工智能·强化学习·具身智能·vla
happyprince6 天前
08_verl-Workers模块详解
人工智能·架构·强化学习
happyprince6 天前
02_verl-代码目录结构详解
人工智能·架构·强化学习
happyprince6 天前
10_verl-Rollout模块详解
人工智能·架构·强化学习