因果策略泛化

定位

本篇笔记探讨如何利用因果机制的不变性实现强化学习策略在跨环境间的泛化,介绍结构因果策略(Structural Causal Policy)的概念,以及其与不变风险最小化(Invariant Risk Minimization, IRM)的联系。

前置知识

  • 强化学习泛化基础:domain randomization、meta-learning
  • 因果推断基础:因果不变性、干预
  • IRM(Invariant Risk Minimization)基础

核心直觉

传统RL策略在环境变化时容易失效,因为它们往往学习的是环境表面的相关性(如特定颜色、纹理),而非底层的因果机制。因果策略泛化的核心洞察是:策略应该建模环境不变的因果机制,而非可变的表面特征

举例:机器人在不同颜色的房间中抓取物体,关键的因果机制是”爪子的位置决定能否抓住物体”(不变),而非”房间是蓝色”(可变)。


数学框架

问题定义

设存在多个环境 ,每个环境有自己的因果结构 和转移函数 。目标是在训练环境 上学习策略 ,使得在未见过的测试环境 上也能表现良好。

因果假设:不同环境的因果机制(边的函数形式)保持不变,变化的只是非因果因素(噪声分布、表面特征)。

结构因果策略

定义:结构因果策略(SCP)将策略建模为因果机制的函数:

其中 为状态 在因果图 中的父节点, 为基础策略网络。

SCP的关键性质

即策略仅依赖于因果机制,不依赖非因果特征。

因果不变性条件

策略 是因果不变的,当且仅当:

或更弱的形式:

即策略梯度在不同环境中方向一致。

因果策略优化

目标函数

其中第二项鼓励策略梯度在不同环境中保持一致。

等价于IRM

当策略被约束为结构因果策略时,上述目标等价于IRM目标:


因果策略学习算法

算法:因果不变策略学习(Causal Invariant Policy Learning, CIPL)

输入:多环境轨迹数据 ,因果图

输出:因果不变策略

步骤

1. 因果分析:
   - 从每个环境数据学习因果结构 G_E
   - 识别跨环境不变的因果机制

2. 策略约束:
   - 将策略约束为仅依赖于因果父节点
   - π(a|s) → π(a|Pa(s); θ)

3. 优化:
   for each batch:
       # 计算各环境的策略梯度
       gradients = []
       for E in environments:
           g_E = ∇_θ V^π(E)
           gradients.append(g_E)

       # 因果不变性正则化
       loss = mean(gradients) - λ * variance(gradients)

       update θ using loss

4. 返回因果策略 π_θ

算法复杂度

  • 每次更新需要计算多个环境的梯度:
  • 空间复杂度:

与IRM的联系

IRM形式化

IRM(Arjovsky et al., 2019)旨在学习在所有环境中不变的表示:

其中 为特征提取器。

因果策略 = IRM + 策略结构

因果策略可以视为IRM在RL中的扩展:

IRM因果策略
表示 策略
环境风险环境价值
不变表示因果机制
分类/回归序列决策

核心联系:IRM要求表示在干预下保持不变,因果策略要求策略在环境变化下保持有效。

因果策略的IRM保证

定理:如果策略 是结构因果策略(即仅依赖因果父节点),则 是IRM最优的。

证明:设 ,其中 为因果特征, 为非因果特征。因果策略 不可知,因此:

因此策略在不同环境中分布一致,满足IRM条件。


训练与估计细节

因果特征提取

从多环境数据中学习因果特征:

其中 为因果特征掩码, 为逐元素乘法。

因果特征掩码学习

衡量编码表示在不同环境间的不变性。

因果不变性验证

使用干预验证因果不变性:

其中 为来自不同环境的因果特征。

跨环境策略迁移

给定源环境 的策略 ,迁移到目标环境

不需要重新训练,直接使用因果结构。


推理/干预/反事实过程

环境因果分析

给定新环境 ,分析其与训练环境的因果差异:

def analyze_causal_difference(E_new, E_train, G):
    # 1. 识别因果特征
    causal_features = get_causal_parents(state, G)
 
    # 2. 比较因果机制
    for cf in causal_features:
        mech_new = learn_mechanism(E_new, cf)
        mech_train = learn_mechanism(E_train, cf)
 
        if not is_invariant(mech_new, mech_train):
            flag_causal_drift(cf)
 
    # 3. 报告差异
    return causal_drift_report

反事实策略评估

反事实查询:“如果在环境中改变因果特征 ,策略 会如何变化?”

由于策略仅依赖因果特征,反事实评估简化为:

因果干预下的策略鲁棒性

评估策略在因果干预下的鲁棒性:

其中 为测试环境的因果特征分布。


优势与局限

优势

  1. 跨环境泛化:利用因果不变性实现跨分布迁移
  2. 样本效率:不需要在每个环境大量采样
  3. 可解释性:因果结构提供策略决策的透明解释
  4. 理论保证:因果不变性提供形式化的泛化保证
  5. 与IRM统一:继承了IRM的理论框架

局限

  1. 因果图准确性:依赖准确的因果图结构
  2. 因果假设限制:假设因果机制跨环境不变
  3. 计算复杂度:多环境优化增加了计算成本
  4. 部分可观测性:无法观测所有因果特征时困难
  5. 策略容量限制:约束到因果父节点可能限制策略容量

与其他笔记的关联

  • 前置:因果辅助探索(4-因果决策/1-因果辅助探索)— 因果探索基础
  • 基础:因果强化学习综述 A(2-因果强化学习综述/1-CRL综述A)— 因果RL基础
  • 深化:因果策略泛化扩展:结构因果模型的层次化泛化
  • 联系:因果视角下的可解释RL(3-解释性RL/1-因果视角下的可解释RL)— 因果策略可解释性

可复现性说明

关键论文与代码

论文年份代码
Causal Transfer for RL (Zhang et al.)2020https://github.com/
IRM for RL (Arjovsky et al.)2019https://github.com/
Structural Causal Policies2023https://github.com/

实验环境

  • Python 3.8+
  • PyTorch 1.8+
  • 多环境RL基准(Procgen、Distracting Control Suite)
  • causal-learn 库

本章小结

  • 因果策略泛化利用因果机制的不变性实现跨环境迁移
  • 结构因果策略(SCP)将策略约束为仅依赖因果父节点
  • 因果策略与IRM(不变风险最小化)有深刻联系
  • SCP保证策略在不同环境中分布一致,满足IRM条件
  • 因果策略不需要在目标环境重新训练,可直接迁移
  • 主要挑战包括因果图准确性、因果假设限制和计算复杂度
  • 应用场景:机器人迁移学习、多任务RL、sim-to-real

关键词

因果策略泛化、结构因果策略、因果不变性、跨环境迁移、不变风险最小化IRM、策略约束、因果机制、泛化保证、多环境RL、sim-to-real