RL——模仿学习


模仿学习介绍

  • 定义 :模仿学习(Imitation Learning)是一个广义的概念,模仿学习是一种通过观察专家的行为来学习如何执行任务的机器学习方法
  • 特点 :在模仿学习中,学习算法试图复制专家的行为,而不是直接优化一个明确指定的目标函数
  • 应用场景 :这种方法可以用于解决那些难以定义奖励函数的问题
  • 分类 :一般包含了行为克隆(Behavioral Cloning,BC)、逆向强化学习(Inverse Reinforcement Learning, IRL)和生成对抗模仿学习(Generative Adversarial Imitation Learning,GAIL)等

行为克隆

  • 定义 :从一组专家示范的数据集中,通过监督学习方法来训练策略模型(预测给定状态下的最佳动作)。类似于传统监督学习中的分类或回归问题,其中输入是环境的状态,输出是专家采取的动作
  • 优点 :简单易用,当专家策略特别好,且数据量充足时往往会有不错的效果
  • 缺点 :无法很好地处理训练数据中未见过状态

逆强化学习

  • 定义 :从观察到的专家策略行为中推断出奖励函数,然后根据该奖励函数训练标准强化学习模型
  • 理解 :逆强化学习的目标是从观察到的专家策略行为中推断出奖励函数,这样就可以理解专家是如何评估不同行为的好坏的。一旦获得了这个奖励函数,就可以使用标准的强化学习技术来找到最优策略。与模仿学习和行为克隆相比,IRL试图更深入地理解专家决策背后的逻辑,而不仅仅是复制其行为

生成对抗模仿学习

  • 定义 :基于生成对抗网络的模仿学习,包含两个网络,生成器(Generator)和判别器(Discriminator),生成器就是策略,负责预测特定状态下的动作,判别器用于判断该动作是否由专家策略生成
  • 训练过程(循环以下流程)
    • 生成器与环境交互生成轨迹
    • 判别器训练:判别目标是判断状态动作对 \((s,a)\) 是否由专家策略产生,损失函数是专家数据分数最大化、生成器数据分数最小化
    • 将判断器作为Reward Model训练生成器
  • 训练到最后,生成器生成的轨迹应该和专家轨迹接近