当前位置: 首页 > news >正文

Offline:IQL

ICLR 2022 Poster

Intro

部分离线强化学习的对价值函数采用的是最小化均方bellman误差。而其中误差源自单步的TD误差。TD误差中对target Q的计算需要选取一个max的动作,这就容易导致采取了OOD的数据。因此,IQL取消max,,通过一个期望回归算子实现利用数据集中数据去逼近最优的Q。

method

期望回归(Expectile Regression)

arg ⁡ min ⁡ m τ E x ∼ X [ L 2 τ ( x − m τ ) ] , \arg\min_{m_\tau}\mathbb{E}_{x\sim X}[L_2^\tau(x-m_\tau)], argmτminExX[L2τ(xmτ)],
其中 L 2 τ ( u ) = ∣ τ − 1 ( u < 0 ) ∣ u 2 . L_2^\tau(u)=|\tau-\mathbb{1}(u<0)|u^2. L2τ(u)=τ1(u<0)u2. 函数如下所示
在这里插入图片描述
最右边的图可以看出,越大的 τ \tau τ使得预测值逼近上界。

IQL

IQL将上述的 L 2 τ L_2^{\tau} L2τ替换掉MSE来优化Q
L ( θ ) = E ( s , a , s ′ , a ′ ) ∼ D [ L 2 τ ( r ( s , a ) + γ Q θ ^ ( s ′ , a ′ ) − Q θ ( s , a ) ) ] . L(\theta)=\mathbb{E}_{(s,a,s',a')\sim\mathcal{D}}[L_2^\tau(r(s,a)+\gamma Q_{\hat{\theta}}(s',a')-Q_\theta(s,a))]. L(θ)=E(s,a,s,a)D[L2τ(r(s,a)+γQθ^(s,a)Qθ(s,a))].
然而上式存在一个问题。 Q θ ^ Q_{\hat{\theta}} Qθ^中采样的下一个动作具有一定的随机性,即使由较大的target Q也无法代表这是一个最优动作。因此这里来利用状态价值函数去并逼近这个Q:
L V ( ψ ) = E ( s , a ) ∼ D [ L 2 τ ( Q θ ^ ( s , a ) − V ψ ( s ) ) ] . L_V(\psi)=\mathbb{E}_{(s,a)\sim\mathcal{D}}[L_2^\tau(Q_{\hat{\theta}}(s,a)-V_\psi(s))]. LV(ψ)=E(s,a)D[L2τ(Qθ^(s,a)Vψ(s))].
采用均值就有效增加鲁棒性。而得到 V 后将通过MSE来优化Q网络:
L Q ( θ ) = E ( s , a , s ′ ) ∼ D [ ( r ( s , a ) + γ V ψ ( s ′ ) − Q θ ( s , a ) ) 2 ] . L_Q(\theta)=\mathbb{E}_{(s,a,s')\sim\mathcal{D}}[(r(s,a)+\gamma V_\psi(s')-Q_\theta(s,a))^2]. LQ(θ)=E(s,a,s)D[(r(s,a)+γVψ(s)Qθ(s,a))2].

AWR

价值函数完成优化后便是优化策略。这里采用的是AWR方法
L π ( ϕ ) = E ( s , a ) ∼ D [ exp ⁡ ( β ( Q θ ^ ( s , a ) − V ψ ( s ) ) ) log ⁡ π ϕ ( a ∣ s ) ] L_\pi(\phi)=\mathbb{E}_{(s,a)\sim\mathcal{D}}[\exp(\beta(Q_{\hat{\theta}}(s,a)-V_\psi(s)))\log\pi_\phi(a|s)] Lπ(ϕ)=E(s,a)D[exp(β(Qθ^(s,a)Vψ(s)))logπϕ(as)]

http://www.lryc.cn/news/343137.html

相关文章:

  • 图像涂哪就动哪!Gen-2新功能“神笔马良”爆火,网友:急急急
  • 【管理篇】管理三步曲:任务执行(三)
  • 使用idea管理docker
  • 【Git】Commit后进行事务回滚
  • 一分钟教你学浪app视频怎么缓存
  • stylus详解与引入
  • 低功耗数字IC后端设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?
  • 前端 | 自定义电子木鱼
  • Android4.4真机移植过程笔记(一)
  • 一觉醒来 AI科技圈发生的大小事儿 05月07日
  • 使用图网络和视频嵌入预测物理场
  • 将java项目上传到GitHub步骤
  • Electron项目中将CommonJS改成使用ES 模块(ESM)语法preload.js加载报错
  • Stable Diffusion 模型分享:Counterfeit-V3.0(动漫)
  • 软件开发者如何保护自己的知识产权?
  • Promise魔鬼面试题
  • Vue3+Nuxt3 从0到1搭建官网项目(SEO搜索、中英文切换、图片懒加载)
  • 面试经典150题——三数之和
  • go动态创建/增加channel并处理数据
  • asp.net成绩查询系统
  • Express路由
  • 在做题中学习(53): 寻找旋转数组中的最小值
  • C#语言进阶(三) 元组
  • 实用的Chrome 浏览器命令
  • IDEA远程连接docker服务,windows版docker desktop
  • Rust 和 Go 哪个更好?
  • 【免费Java系列】大家好 ,今天是学习面向对象高级的第八天点赞收藏关注,持续更新作品 !
  • RPC 失败。curl 16 Error in the HTTP2 framing layer
  • (图论)最短路问题合集(包含C,C++,Java,Python,Go)
  • 电脑文件批量重命名不求人:快速操作,高效技巧让你轻松搞定