【深度强化学习 DRL 快速实践】逆向强化学习算法 (IRL)

Inverse Reinforcement Learning深层理解 通过极大似然公式:找到reward使得trajectory能产生尽可能多的reward (logZ起到归一化,限制reward不能无限大的作用)。 直观上看,L的梯度是在expert policy下梯度的期望与在当前reward下梯度期望的差。增加从expert trajectory中的reward,减小从当前policy中采样的trajectory中的当前reward成分。 最大熵IRL意义是在尽可能随机条件下最大化特证,对expert数据无法支持的其他动作不做过多推断(避免进行未做动作假设)。 推导过程 阅读详情

Inverse Reinforcement Learning (IRL) 详解

相关词条:imitation learning,learning by demonstration, apprenticeship learning

  • 可以忽略奖励,直接用 behavior learning 监督学习出 expert 示例出的 ”各类 state 下对应的 action”,但这会导致在 expert 没有示例过的 state 下,agent 可能是手足无措的
  • 所以另一类方法是 IRL,本文会对此进行详细阐述

什么是 Inverse Reinforcement Learning?

在传统的强化学习 (Reinforcement Learning, RL) 中,奖励函数是已知的,智能体的任务是学习一个策略来最大化奖励

而在逆向强化学习 (Inverse Reinforcement Learning, IRL) 中,情况相反:

  • 我们不知道奖励函数 缺失的
  • 但是我们有专家的示范轨迹(比如专家怎么开车、怎么走路): τ=(s0,a0,s1,a1,…,sT)\tau = (s_0, a_0, s_1, a_1, \dots, s_T)τ=(s0​,a0​,s1​,a1​,…,sT​)
  • 目标是:推断出奖励函数,使得专家行为在该奖励下是最优的

简单来说,IRL 是"从专家行为中推断动机"

  • Initialize an actor
  • In each iteration
    • The actor interacts with the environrment to obtain some trajectories
    • Define a reward functlon, which makes thetrajectories of the teacher better than the actor
    • The actor learns to maximize the reward based on the new reward function
  • Output the reward function and the actor learned from the reward function

IRL算法之 GAIL 算法详解

GAIL(生成对抗模仿学习)结合了:生成对抗网络 GAN(Generator 对抗 Discriminator)和 强化学习 Policy Gradient(策略梯度)

  • 让智能体学会产生像专家一样的轨迹,但不直接学习奖励函数,只通过模仿专家行为来训练策略
判别器 (Discriminator) :试图区分 “专家轨迹” 和 “生成器轨迹”

判别器的目标是最大化对数似然:判别器希望对于专家数据 expert 输出接近 1,对于生成数据 policy 输出接近 0
max⁡DEexpert[log⁡D(s,a)]+Epolicy[log⁡(1−D(s,a))] \max_D \mathbb{E}_{\text{expert}} [\log D(s, a)] + \mathbb{E}_{\text{policy}} [\log (1 - D(s, a))] Dmax​Eexpert​[logD(s,a)]+Epolicy​[log(1−D(s,a))]

生成器(策略网络 Policy):试图“欺骗”判别器,让判别器以为它生成的轨迹是专家生成的

生成器的目标是最小化:
min⁡πEτ∼π[log⁡(1−D(s,a))] \min_{\pi} \mathbb{E}_{\tau \sim \pi} [\log (1 - D(s, a))] πmin​Eτ∼π​[log(1−D(s,a))]

这其实可以等价强化学习问题,奖励信号变成了:
r(s,a)=−log⁡(1−D(s,a)) r(s, a) = - \log (1 - D(s, a)) r(s,a)=−log(1−D(s,a))

  • 这样,跟标准的 policy gradient 非常类似,只不过奖励是来自判别器

GAIL 简单代码示例

import gym
from stable_baselines3 import PPO
from imitation.algorithms.adversarial import GAIL
from imitation.data.types import TrajectoryWithRew
from imitation.data import rollout

# 1. 创建环境
env = gym.make("CartPole-v1")

# 2. 加载或创建专家模型
expert = PPO("MlpPolicy", env, verbose=0)
expert.learn(10000)

# 3. 收集专家轨迹数据
trajectories = rollout.rollout(
    expert,
    env,
    rollout.make_sample_until(min_timesteps=None, min_episodes=20)
)

# 4. 创建新模型作为 actor
learner = PPO("MlpPolicy", env, verbose=1)

# 5. 使用 GAIL 进行逆强化学习训练
gail_trainer = GAIL(
    venv=env,
    demonstrations=trajectories,
    gen_algo=learner
)
gail_trainer.train(10000)

# 6. 测试训练后的模型
obs = env.reset()
for _ in range(1000):
    action, _states = learner.predict(obs, deterministic=True)
    obs, reward, done, info = env.step(action)
    env.render()
    if done:
        obs = env.reset()

env.close()
强化学习系列(11):逆强化学习(Inverse Reinforcement Learning)原理与应用 在很多实际场景中,我们可能难以直接定义出一个合适的奖励函数来引导智能体学习期望的策略,然而却能够获取到专家在相应任务环境下的操作演示数据,比如机器人模仿人类操作时可以记录人类的动作序列,自动驾驶车辆模仿专业司机驾驶行为时有相应的驾驶轨迹记录等。逆强化学习就是旨在利用这些专家演示数据,反向推导出一个合理的奖励函数,使得基于这个奖励函数通过常规的强化学习算法训练出来的智能体策略能够尽可能接近专家的策略,从而让智能体学会像专家一样完成任务。 阅读详情

相关推荐

狗都能看懂的Imitation Learning的讲解

李宏毅老师关于Imitation Learning课程的知识点汇总

个人学习笔记 1380

模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)

1 逆向强化学习的基本设定 1.1 智能体&奖励 IRL 假设智能体可以与环境交互,环境会根据智能体的动作更新状态,但是不会给出奖励。 这种设定非常符合物理世界的实际情况。 ——>比如人类驾驶汽车,与物理环境交互,根据观测做出决策,得到上面公式中轨迹,轨迹中没有奖励。 是不是汽车驾驶问题中没有奖励呢? ——>其实是有奖励的。避免碰撞、遵守交通规则、尽快到达目的地,这些操作背后都有 隐含的奖励,...

qq_40206371的博客 7153

模仿学习(Imitation Learning)概述

什么是模仿学习呢?简单来说,模仿学习(Imitation Learning),就是要训练机器能够复制人类的连续动作,进而达到模仿的目的。其实,Imitation Learning的实用性很高,假设今天有一个训练场景,你不知道该怎么定奖励值(reward),但是你可以收集到专家的示范数据(expert demonstration data),你就可以考虑用Imitation Learning这个方法。因此,模仿学习也被寄予很高的期待,成为下一代强人工智能的关键技术。......

qq_22749225的博客 2万+

PyTorch 深度学习实战(25):逆向强化学习(Inverse RL)

逆向强化学习(Inverse Reinforcement Learning, IRL)旨在,而非直接学习策略。

m0_60414444的博客 4304

逆强化学习:从专家示范中学习策略

逆强化学习(Inverse Reinforcement Learning,简称IRL)是强化学习(Reinforcement Learning,简称RL)的一个子领域,它的目标是从专家的行为中学习策略。在传统的强化学习中,智能体通过与环境交互,根据奖励信号来学习一个策略。而在逆强化学习中,我们没有直接的奖励信号,而是通过观察专家的行为来推断出奖励函数,从而学习到一个与专家类似的策略。逆强化学习作为强化学习的一个重要子领域,在许多实际应用场景中都取得了显著的成功。

AI天才研究院 1451

逆强化学习 (Inverse Reinforcement Learning) 原理与代码实例讲解

逆强化学习(Inverse Reinforcement Learning,简称IRL)是机器学习和人工智能领域中一个重要的研究方向。它的出现源于这样一个问题:在许多实际应用场景中,我们往往能够观察到专家或人类的行为,但却难以直接定义或量化这些行为背后的奖励函数。传统的强化学习假设奖励函数是已知的,而逆强化学习则试图从观察到的行为中推断出潜在的奖励函数。逆强化学习的概念最早由Stuart Russell在1998年提出,但直到2000年代中期才开始受到广泛关注。

AI天才研究院 4320

深度强化学习在NLP中的应用与实战解析

深度强化学习(DRL)作为机器学习的重要分支,通过智能体与环境的持续交互来优化决策策略。其核心原理是将马尔可夫决策过程与深度神经网络相结合,在游戏、机器人控制等领域已取得突破性进展。在自然语言处理(NLP)领域,DRL为对话系统、文本生成等任务带来了革命性提升,特别是在处理复杂语义理解和长程依赖问题上展现出独特优势。以电商客服场景为例,融合BERT与BiLSTM的DRL模型能精准捕捉用户隐含意图,通过在线学习使退货处理成功率提升27%。当前技术热点包括将大语言模型(LLM)与DRL结合的RLHF范式,以及通

weixin_29138345的博客 200

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营01

这是运营的物理和逻辑对象。C4.11xx 传输资源:光纤、微波、卫星链路;频谱资源(Sub-6GHz, 毫米波)。C4.12xx 节点资源:核心路由器、交换机、基站(gNB)、数据中心服务器。C4.13xx 虚拟化资源:由NFV生成的虚拟网络功能(VNF)、容器、虚拟机和网络切片实例。这是实现智能、灵活运营的核心技术集。C4.21xx 软件定义与虚拟化:软件定义网络 (SDN):控制平面与数据平面分离,实现集中、可编程的网络控制。网络功能虚拟化 (NFV):将传统专用硬件设备的功能以软件形式运行在通用硬件上

weixin_49199313的博客 1450

强化学习概述(Reinforcement Learning)

本文是基于李宏毅老师2021课程的学习笔记

小星AI 1261

强化学习-概念05:Inverse Reinforcement Learning

强化学习-概念05:Inverse Reinforcement Learning

u013250861的博客 686

强化学习Reinforcement Learning与逆强化学习:理论与实践

强化学习Reinforcement Learning与逆强化学习:理论与实践 关键词:强化学习,逆强化学习,马尔可夫决策过程,策略学习,逆策略优化,因果图模型,决策树 1. 背景介绍

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 1553

逆强化学习(IRL)

逆向强化学习的优化目标是最大化观察到的行为与预期行为(在推断出的奖励函数下)的相似度。这通常通过最小化一个损失函数来实现,该损失函数衡量了智能体在推断出的奖励函数下的行为与观察到的专家行为之间的差异。

2401_83542592的博客 3810

Inverse Reinforcement Learning原理与代码实例讲解

Inverse Reinforcement Learning原理与代码实例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 410

【Machine Learning 系列】一文带你详解什么是强化学习(Reinforcement Learning)

强化学习(Reinforcement Learning)的目标是通过与环境的交互来学习如何做出最优的决策。随着深度学习和强化学习的结合,强化学习在解决复杂问题上的能力将不断提升,为人工智能的发展带来更多的可能性。

陈橘又青的博客 2万+

IRLTutorial:我的逆强化学习教程的示例代码

逆向强化学习教程 这是有关使用逆向强化学习(IRL)的项目。 它也包括BURLAP代码库的快照,因为我必须对BURLAP进行一些更改才能创建IRL框架。

gitlab远程子仓库配置SSH - 保姆级教程

在网上搜索了一些方法,但是不够详细,走了好多弯路,所以记录下配置SSH的详细过程吧。

是菠萝的博客 1万+

深度学习入门(9) - Reinforcement Learning 强化学习

cs231n RL notes

andyc_03的博客 1067

DSPACE仿真平台的使用

DSPACE仿真平台的使用 文章目录DSPACE仿真平台的使用1.ModelDesk新建项目2.MotionDesk引入项目3.ControlDesk引入项目4.项目整合运行 我们使用DSPACE仿真平台软件来模拟小汽车的自动驾驶。 总共需要用到DSPACE大类下的三个软件:ModelDesk、ControlDesk、MotionDesk。 1.ModelDesk新建项目 在桌面上点击ModelDesk图标,打开DSPACE—ModelDesk 选择 File 标签,侧边栏选择 New,点击 New A

qq_42582489的博客 7527
上一篇: 【深度强化学习 DRL 快速实践】异步优势演员评论员算法 (A3C)
下一篇: 【深度强化学习 DRL 快速实践】近端策略优化 (PPO)
CODE_RabbitV
博客等级 码龄7年 2931粉丝 218原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值