强化学习-reward-shaping-好奇心驱动-调研
前言:
最近在调研model-based和好奇心驱动,以及归整HER的内容。
关于好奇心驱动,我只是简单看过这个名词,知道有这么个操作,但实际的论文我一篇都没有看过,因此今天做一个简单的知识梳理。
快速阅览:
一、Curiosity-driven Exploration by Self-supervised Prediction
这是OpenAI的spinning up推荐的第一篇好奇心驱动的文章
参考博客:强化学习中的好奇心机制论文(1)
这篇文章应该是最基础的好奇心驱动,17年的ICML,目前引用数为1002,非常之高!
亮点有俩,一张图就能解释清楚:
上图中左边,描述的信息流:
状态st经过策略
π
\pi
π,获得动作at, at和环境E交互,拿到了下一步的状态st+1,并且将st, at, st+1输入内部好奇心模型(Intrincis Curiosity Module,ICM),拿到了内部好奇心奖励r_t^i,具体过程看右图;
状态st经过特征提取模型features,拿到了维度更低的特征向量
ϕ
\phi
ϕ(st),将
ϕ
\phi
ϕ(st)和at输入到forward model中,预测出下一步的特征向量
ϕ
\phi
ϕ(st+1)_hat,这如果和真实的
ϕ
\phi
ϕ(st+1)差距不大,那么说明当前的st, at,st+1,是之前forward model学习过的,即agent经历过的。如果差距大,那么就是新的st,这完全可以用作评价好奇心的指标!
至于后面的逆运动学的作用,上面的参考博客说的是:
使用Inverse Model输出预测动作 [公式]的优点:feature提取模块获得的特征只包含受agent动作影响的那一部分。
这个实验的最终结果:
任务有图像输入的游戏,有走迷宫,效果都还可以;
最后加一张内部奖励的公式:
二、random network distillation
DRL中的探索方法的主流思路是对novel state给一定的bonus,从而鼓励agent学习探索novel state。
主流做法一般分为两种:
1)count-based,给每个state进行visit次数的记录,visit次数越多,bonus越小,其背后的直观含义是,认为见得越少的state越novel
2)prediction error,例如predict forward dynamics (s, a, s’),用prediction error来作为bonus,直观含义是,prediction error越小(information gain越少)说明对该状态越掌握,越熟悉
- 强化学习之reward shaping有关论文简述
这篇博客讲了好几种reward shaping的方式,直观理解,公式,公式讲解,简洁明了。
第一个就是RND,这个鬼东西,最终的实验结果我个人认为不够solid…三个实验,只有一个有明显的阶跃提升,其他的都不相上下。这算什么嘛~
它的核心功能蛮有意思的:
设随机函数为f,预测函数为p。
初始:任给x,|p(x)-f(x)| 大。含义:认为每个状态都访问的少。
训练后:p(x)逐渐接近f(x),在训练数据上拟合的好,也就是对于访问过的状态,差值小。含义:认为那些差值小的状态访问的多,差值大的状态访问的少。
我的整体评价,提供了一个新的评价好奇心的方式,但是效果不好说~
三、好奇心驱动的强化学习:从信息论开始
虽然这篇博客介绍的方法实验太简单,最终性能可能也不会好,但提出了一个好奇心的代价
的概念,这个很少有人研究的。
整体评价同上~
四、Episodic Curiosity Through Reachability
直接copy博客:强化学习中的好奇心机制论文 (2)
说实话我没太看懂~
本篇论文的核心 idea 是使用 episodic memory 建模好奇心 reward,以解决 agent 的拖延行为。拖延行为产生的原因是环境中存在仅需几个 action 就可以大幅改变 State 的情况,举例说明。假设迷宫环境的某面墙上存在着一个电视,agent 只需要不断换台,就可以获得答复改变的 State。继而导致 agent 一直停在原地看电视,产生拖延行为。一个直观的解决办法是只给 agent 需要一定努力产生到达的新 State 以较高的奖励。
该直观解决办法具体思路如下图所示。我们通过 Reachablity 来定义状态的 novelty。一些 agent 之前观察过的 State 被存放在 episodic memory 中,当某状态 State 只需要小于 k 步,就可以从 memory 中另一个状态达到至该状态,那么我们认为该状态的 novelty 较低;反之,我们认为该状态为 novelty 的状态。
状态的 Reachability 由如下图 (左) 所示的 Reachablity network 计算得出。Reachablity network 由 Embedding network 和 Comparator network 两个主要模块组成。Embedding network 将输入的 State 映射为对应的特征向量,转换得到的特征向量与 episodic memory 中保存的特征向量输入 Comparator network 中,计算出相关的 Reachablity 值。Reachablity network 本质上是使用 logistic regrression loss 训练得到的分类器:当某个 memory 中的 State 可以在小于 k 步 action 达到输入的 State 的概率越低,该网络输出的预测值应该接近 0;反之,预测值接近 1。
五、李飞飞组:构建好奇心驱动的神经网络,复制婴儿学习能力
机器之心的博客
这个18年的引用15,回头再看吧~
六、Large-Scale Study of Curiosity-Driven Learning
还没来的及看。
七、go-explore!
张楚珩-【强化学习 41】Go-Explore
第一版本直接看原博客就够了~
总结:
还有好多没看,最后恳请大家推荐一些,经典的、好使的、好奇心驱动领域相关的工作或者资料~
联系方式:
ps: 欢迎做强化的同学加群一起学习:
深度强化学习-DRL:799378128
欢迎关注知乎帐号:未入门的炼丹学徒
CSDN帐号:https://blog.csdn.net/hehedadaq
极简spinup+HER+PER代码实现:https://github.com/kaixindelele/DRLib