首页 > 其他分享 >Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems

Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems

时间:2024-03-04 10:23:25浏览次数:34  
标签:Perspectives importance Review Problems sampling Learning policy offline Offline


发表时间:2020
文章要点:这篇文章主要介绍当前offline RL的研究进展,可能的问题以及一些解决方法。
作者先介绍了强化学习的准备知识,比如policy gradients,Approximate dynamic programming,Actor-critic algorithms,Model-based reinforcement learning,这里不具体说了。接着开始说offline RL,和online相比,主要的区别就是我们只能有一个static dataset,并且不能和环境交互获得新数据,所以offline RL排除了exploration,只能基于这个dataset来学策略。这种设定和很多实际应用相关,比如文中提到的Decision making in health care,Learning goal-directed dialogue policies,Learning robotic manipulation skills等等。接着说一下每个章节大概在说什么。

2.4 What Makes Offline Reinforcement Learning Difficult
文章提到offline面临的一些问题,其中distribution shift是offline RL里一个主要的挑战。这个问题是说在训练policy最大化return的过程中,agent训练得到的policy和收集数据的policy是不一样的,是有偏移的(distributional shift: while our function approximator (policy, value function, or model) might be trained under one distribution, it will be evaluated on a different distribution, due both to the change in visited states for the new policy and, more subtly, by the act of maximizing the expected return.)。
作者还理论说了下即使在有optimal action label的情况下,offline RL的error和time horizon的平方成正比,而online的时候是线性的。

通常的解决办法是约束the learned policy和behavior policy的距离,不要差太多。

3 Offline Evaluation and Reinforcement Learning via Importance Sampling
接着作者介绍了importance sampling在offline RL里面的作用,这里主要是针对policy gradient方法的。
首先是,Offline Evaluation,通常要学一个policy就需要知道怎么评估策略,评估完了后就可以知道哪个策略最好了。其中一个方式是importance sampling,

接着作者介绍了几个减少方差的方法,不细说了。
另一个用处是Off-Policy Policy Gradient,就是直接用policy gradient结合importance sampling在static dataset上面学policy,

为了让learned policy和behavior policy不要差太远,还可以加一些约束,比如KL-divergence, entropy regularizer等等。
因为policy gradient需要基于轨迹来做importance sampling(per-action importance weights),再加上数据集的样本有限,这样会加剧方差的问题。一个可能的解决办法是Approximate Off-Policy Policy Gradients,将对轨迹的修正转变为对state distribution的采样,甚至把importance sampling去掉,这样会有误差,但是实践表明一点误差是可以接受的,而且最后效果不错。
如果不想引入误差,另一个方式是Marginalized Importance Sampling,直接估计state-marginal importance ratio而不是per-action importance weighting

这部分的主要问题还是importance sampling带来的方差,这个问题在offline下会更严重。the maximum improvement that can be reliably obtained via importance sampling is limited by (i) the suboptimality of the behavior policy; (ii) the dimensionality of the state and action space; (iii) the effective horizon of the task.

4 Offline Reinforcement Learning via Dynamic Programming
下一个内容是Dynamic Programming,这个主要是针对Q-learning。这里遇到的主要问题就是distributional shift,通常方法包括policy constraint methods和uncertainty-based methods。前者约束learned policy和behavior policy的距离,后者估计Q-value的uncertainty,从而用来检测是否存在distributional shift的问题。
文章先说了value estimation的方法,这部分和online区别不大,比如Bellman residual minimization,Least-squares fixed point approximation,Least squares temporal difference Q-learning (LSTD-Q),Least squares policy iteration (LSPI)。
接着具体说了distributional shift,作者想说因为learned policy和behavior policy差太多,学到的policy通常都在没见过的state上选动作,这就导致policy的性能无法保证。作者进一步用一个实验来说明,即使增大数据量,这个问题还是没有被缓解。这说明这个问题不是因为overfitting造成的

接着就介绍了policy constraint的方法,explicit f-divergence constraints,implicit f-divergence constraints,integral probability metric (IPM) constraints,这些方式可以直接加policy constraints或者通过添加reward的方式做policy penalty。这里有个直觉的准则,Intuitively, an effective policy constraint should prevent the learned policy \(\pi(a|s)\) from going outside the set of actions that have a high probability in the data, but would not prevent it from concentrating around a subset of high-probability actions.
之前的方式都是约束policy的距离,这个方式不利于学到一个好的policy。另一个方式是约束两个policy的support,这个support是说我不需要policy很近,我只需要大家的策略动作都出现在data里面,所以只需要约束OOD的概率

接着说了uncertainty的方式,大概做法就是在估计Q的时候考虑uncertainty

另一个方式是加正则项,比如加个penalty

这里面存在的问题有,uncertainty不好估计,可能会导致过分保守的估计或者过分宽松的估计。

5 Offline Model-Based Reinforcement Learning
这章主要说了下Model-Based的情况。首先主要的问题还是Model Exploitation and Distribution Shift,之前model-free的话就是value exploitation。主要的解决方式还是搞一个constraint或者penalty,估计model uncertainty等等。

6 Applications and Evaluation
这章就讲了下应用和benchmark。Benchmark主要说了D4RL,应用说了Robotics,Healthcare,Autonomous Driving,Advertising and Recommender Systems,Language and Dialogue。

总结:对这个方向的了解还是不够深刻,看起来这篇文章写了很多,但是读下来没有醍醐灌顶的感觉,还没摸到文章的逻辑在哪。
疑问:感觉写的挺难的,有些结论都没看明白,讲forward/backward bellman equation那里完全没看明白。
里面的章节顺序其实有点看不明白,有的地方感觉内容重复了,可能还没真正理解为啥要这么划分,比如3,4章里面讲具体方法的地方。

标签:Perspectives,importance,Review,Problems,sampling,Learning,policy,offline,Offline
From: https://www.cnblogs.com/initial-h/p/18051277

相关文章

  • Week 1 Problems
    T1今有一逻辑表达式\(F_0\)为:\[(p\rightarrowr)\rightarrow((q\rightarrowr)\rightarrow(p\lorq)\land\negr)\]其中的联结词运算优先级与命题逻辑合式公式完全相同。观察\(F_0\)的形式,完成以下两个题目(1)补全真值表pqr\(p\rightarrowr\)\(q\rightarrowr\)......
  • 初中英语优秀范文100篇-085How to Deal with Our Study Problems-如何处理我们的学习
    PDF格式公众号回复关键字:SHCZFW085记忆树1Althoughweoftenfeelstressed,weshouldfindsuitablewaystodealwithstress.翻译虽然我们经常感到有压力,但我们应该找到合适的方式来应对压力。简化记忆压力句子结构Althoughweoftenfeelstressed是一个让步......
  • 「题解」ARC139F Many Xor Optimization Problems
    考虑线性空间的标准基底(即每个主元都只有对应向量有值),答案为所有基底异或和。对于一个秩\(k\)计算它对答案的贡献。固定主元为\(a_1<a_2<\cdots<a_k\),各种情况应该是等概率,也就是对第\(i\)个基底来说,\(a_i\)位一定为\(1\),再往下的位除了在\(a\)出现过的以外的位0/1是......
  • Go 100 mistakes - #10: Not being aware of the possible problems with type embedd
     Becausethemutexisembedded,wecandirectlyaccesstheLockandUnlockmethods fromtheireceiver.Wementionedthatsuchanexampleisawrongusageoftypeembedding.What’s thereasonforthis?Sincesync.Mutexisanembeddedtype,theLockand......
  • [ABC327G] Many Good Tuple Problems 题解
    Description对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在......
  • kekingcn/file-online-preview服务打包arm架构镜像
    1.gitte地址https://gitee.com/kekingcn/file-online-preview?_from=gitee_search 2.基础镜像打包FROMubuntu:20.04MAINTAINERchenjh"[email protected]"#内置一些常用的中文字体,避免普遍性乱码COPYfonts/*/usr/share/fonts/chinese/RUNapt-getclean&&apt-ge......
  • A Balanced Problemset?
    引言题目链接:https://codeforces.com/contest/1925/problem/B思路由于最后的答案是x分解的全部数的gcd,所以该答案一定是x的因数,只要遍历x的因数k,那么该因数能将x分解成\(\frac{x}{k}\)份。若\(\frac{x}{k}\geqn\),则可将其构造成n组,gcd为k的答案,只需要找到......
  • CF1925B A Balanced Problemset? 题解
    CF1925B题解题目链接CodeforcesLuogu题目大意有一个长度为\(n\)且和为\(x\)的正整数序列,询问该序列可能的最大公因数。多测。简要思路首先先给出结论:最终的答案一定是\(x\)的因数。接下来我通过两种方法证明:一、类似于“更相减损法”一个序列的\(\gcd\)等于......
  • B. A Balanced Problemset
    原题链接忠告1:要学会计算时间复杂度!!忠告2:要学会抓事实,不要掉进题目直观模拟的陷阱里事实1.任意k个数的\(gcd\)一定可以是这k个数的最小值,这里以\(k=3\)举例假设\(gcd(a_1,a_2,a_3)=m\),则\(a_1=k_1m,a_2=k_2m,a_3=k_3m\),其中\(k_1,k_2,k_3\)都是整数那么可以通过......
  • 看别人的codereview:变量布局,变量和这个变量保护的变量;什么时候封装;lazyinit
    怎么布局变量和这个变量保护的变量我是按这个实践的。比如我前几天自己写的一个工具,用m来保护locks.typevariable[Kcomparable]struct{ flockerFactory msync.Mutex//guardlcoks locksmap[K]refTryLocker}什么时候封装这位"DeletedUser"给出的建议:"onel......